Teste baseado em dados
O Data Driven Testing é um método de teste de software no qual os dados de teste são armazenados em formato de tabela ou planilha. O teste orientado a dados permite que os testadores insiram um único script de teste que pode executar testes para todos os dados de teste de uma tabela e esperar a saída do teste na mesma tabela. Também é chamado de teste baseado em tabela ou teste parametrizado.
Estrutura baseada em dados
Data Driven Framework é uma estrutura de teste de automação na qual os valores de entrada são lidos de arquivos de dados e armazenados em variáveis em scripts de teste. Ele permite que os testadores construam casos de teste positivos e negativos em um único teste. Os dados de entrada na estrutura orientada a dados podem ser armazenados em uma ou várias fontes de dados, como .xls, .xml, .csv e bancos de dados.
Neste tutorial, você aprenderá
- O que é teste orientado a dados?
- Por que testes orientados a dados?
- Como criar uma estrutura de automação orientada a dados
- Práticas recomendadas de testes orientados a dados:
- Vantagens dos testes orientados a dados
- Desvantagens dos testes orientados a dados:
Por que testes orientados a dados?
O teste orientado a dados é importante porque os testadores frequentemente têm vários conjuntos de dados para um único teste e a criação de testes individuais para cada conjunto de dados pode ser demorada. O teste orientado a dados ajuda a manter os dados separados dos scripts de teste e os mesmos scripts de teste podem ser executados para diferentes combinações de dados de teste de entrada e os resultados do teste podem ser gerados com eficiência.
Exemplo:
Por exemplo, queremos testar o sistema de login com vários campos de entrada com 1000 conjuntos de dados diferentes.
Para testar isso, você pode usar as seguintes abordagens diferentes:
Abordagem 1) Crie 1000 scripts, um para cada conjunto de dados, e execute cada teste separadamente, um por um.
Abordagem 2) Altere manualmente o valor no script de teste e execute-o várias vezes.
Abordagem 3) Importe os dados da planilha do Excel. Busque os dados de teste das linhas do Excel, uma por uma, e execute o script.
Nos três cenários fornecidos, os dois primeiros são trabalhosos e demorados. Portanto, é ideal seguir a terceira abordagem.
Portanto, a terceira abordagem nada mais é do que uma estrutura orientada a dados.
Como criar uma estrutura de automação orientada a dados
Considere que você deseja testar a funcionalidade de login de um aplicativo.
Etapa 1) Identificar os casos de teste
- Nome de usuário e senha corretos de entrada - sucesso de login
- Insira nome de usuário e senha incorretos - Falha de login
- Insira o nome de usuário correto e a senha incorreta - Falha de login
Etapa 2) Criar etapas est detalhadas para os 3 casos de teste acima
Caso de teste# | Descrição | Etapas de teste | Dados de teste | resultados esperados |
---|---|---|---|---|
1 | Verifique o Login para credenciais válidas |
| Nome de usuário: senha válida: válida | Sucesso de Login |
2 | Verifique o login para credenciais inválidas |
| Nome de usuário: senha inválida: válida | Falha de login |
3 | Verifique o login para credenciais inválidas |
| Nome de usuário: senha válida: inválido | Falha de login |
Etapa 3) Criar script de teste
Se você observar as etapas de teste permanecem comuns nas 3 etapas de teste. Você precisa criar um Script de Teste para executar essas etapas
// Este é o Pseudo Código// Etapa de teste 1: iniciar o aplicativodriver.get ("URL do aplicativo");// Etapa de teste 2: Insira o nome de usuáriotxtbox_username.sendKeys ("válido");// Etapa de teste 3: Insira a senhatxtbox_password.sendKeys ("inválido");// Etapa 4 do teste: verificar os resultadosSe (próxima tela) impressão bem-sucedida, senão Falha
Etapa 4) Crie um excel / csv com os dados de teste de entrada
Etapa 5) Modificar o Scrip para fazer um loop nos dados de teste de entrada. Os comandos de entrada também devem ser parametrizados
// Este é o Pseudo Código// Loop 3 vezespara (i = 0; i & lt; = 3; i ++) {// Leia dados do Excel e armazene em variáveisint input_1 = ReadExcel (i, 0);int input_2 = ReadExcel (i, 1);// Etapa de teste 1: iniciar o aplicativodriver.get ("URL do aplicativo");// Etapa de teste 2: Insira o nome de usuáriotxtbox_username.sendKeys (input_1);// Etapa de teste 3: Insira a senhatxtbox_password.sendKeys (input_2);// Etapa 4 do teste: verificar os resultadosSe (próxima tela) imprimir com sucessosenão falhar}
Acima estão apenas 3 casos de teste. O script de teste pode ser usado para repetir os casos de teste seguintes apenas anexando valores de dados de teste ao Excel
- Insira nome de usuário e senha incorretos - Falha de login
- Digite o nome de usuário e a senha corretos em branco - Falha no login
- Insira um nome de usuário e uma senha em branco - Falha no login
E assim por diante
Práticas recomendadas de testes orientados a dados:
Abaixo são fornecidas as melhores práticas de teste para testes orientados a dados:
- É ideal usar informações realistas durante o processo de teste baseado em dados
- A navegação do fluxo de teste deve ser codificada dentro do script de teste
- Gerar APIs virtuais com dados significativos
- Use dados para impulsionar afirmações dinâmicas
- Teste resultados positivos e negativos
- Reaproveitar testes funcionais baseados em dados para segurança e desempenho
Vantagens dos testes orientados a dados
A orientação por dados oferece muitas vantagens, algumas delas são:
- Permite testar o aplicativo com vários conjuntos de valores de dados durante o teste de regressão
- Os dados de teste e os dados de verificação podem ser organizados em apenas um arquivo e é separado da lógica do caso de teste.
- Com base na ferramenta, é possível ter os scripts de teste em um único repositório. Isso torna os textos fáceis de entender, manter e gerenciar.
- Ações e funções podem ser reutilizadas em testes diferentes.
- Algumas ferramentas geram dados de teste automaticamente. Isso é útil quando grandes volumes de dados de teste aleatórios são necessários, o que ajuda a economizar tempo.
- O teste baseado em dados pode realizar qualquer fase do desenvolvimento. Os cuidados de teste baseados em dados geralmente são mesclados em um único processo. No entanto, ele pode ser usado em vários casos de teste.
- Permite que desenvolvedores e testadores tenham uma separação clara entre a lógica de seus casos / scripts de teste e os dados de teste.
- Os mesmos casos de teste podem ser executados várias vezes, o que ajuda a reduzir casos de teste e scripts.
- Quaisquer mudanças no script de teste não afetam os dados de teste
Desvantagens dos testes orientados a dados:
Algumas desvantagens do método de teste de automação orientado a dados são:
- A qualidade do teste depende das habilidades de automação da equipe de implementação
- A validação de dados é uma tarefa demorada ao testar uma grande quantidade de dados.
- A manutenção é um grande problema, visto que é necessária uma grande quantidade de codificação para testes orientados a dados.
- São necessárias habilidades técnicas de alto nível. Um testador pode ter que aprender uma linguagem de script totalmente nova.
- Haverá mais documentação. Principalmente relacionado à infraestrutura de testes de gerenciamento de scripts e resultados de testes.
- Um editor de texto como o Bloco de notas é necessário para criar e manter arquivos de dados.
Conclusão:
- Orientado por dados é uma estrutura de automação de teste que armazena dados de teste em formato de tabela ou planilha.
- Na estrutura de automação de teste baseada em dados, os dados de entrada podem ser armazenados em uma ou várias fontes de dados como xls, XML, csv e bancos de dados.
- Criar um teste individual para cada conjunto de dados é um processo longo e demorado. A estrutura de teste orientado a dados resolve esse problema, mantendo os dados separados dos testes funcionais.
- No Data Driven Testing, é uma opção ideal para usar informações realistas
- Ele permite testar a aplicação com vários conjuntos de valores de dados durante o teste de regressão
- A desvantagem deste método é que ele depende das habilidades de automação da equipe de implementação