Como testador, você pode pensar que 'Projetar casos de teste é desafiador o suficiente, então por que se preocupar com algo tão trivial como os dados de teste'. O objetivo deste tutorial é apresentar a você os dados de teste, sua importância e dar dicas e truques práticos para gerar dados de teste rapidamente. Então, vamos começar!
O que são dados de teste em teste de software?
Dados de teste em teste de software são a entrada fornecida a um programa de software durante a execução do teste. Representa os dados que afetam ou são afetados pela execução do software durante o teste. Os dados de teste são usados para testes positivos para verificar se as funções produzem os resultados esperados para determinadas entradas e para testes negativos para testar a capacidade do software de lidar com entradas incomuns, excepcionais ou inesperadas.
Dados de teste mal projetados podem não testar todos os cenários de teste possíveis, o que prejudicará a qualidade do software.
O que é geração de dados de teste? Por que os dados de teste devem ser criados antes da execução do teste?
Todo mundo sabe que o teste é um processo que produz e consome grandes quantidades de dados. Os dados usados no teste descrevem as condições iniciais de um teste e representam o meio pelo qual o testador influencia o software. É uma parte crucial da maioria dos testes funcionais.
Dependendo do seu ambiente de teste, você pode precisar CRIAR Dados de Teste (na maioria das vezes) ou pelo menos identificar dados de teste adequados para seus casos de teste (se os dados de teste já foram criados).
Normalmente, os dados de teste são criados em sincronia com o caso de teste para o qual se destinam.
Os dados de teste podem ser gerados -
- Manualmente
- Cópia em massa de dados da produção para o ambiente de teste
- Cópia em massa de dados de teste de sistemas cliente legados
- Ferramentas automatizadas de geração de dados de teste
Normalmente, os dados de amostra devem ser gerados antes de você começar a execução do teste porque, de outra forma, é difícil lidar com o gerenciamento dos dados de teste. Visto que em muitos ambientes de teste, a criação de dados de teste exige várias etapas anteriores ou configurações de ambiente de teste que consomem muito tempo. . Além disso, se a geração de dados de teste for feita enquanto você está na fase de execução de teste, você pode exceder o prazo de teste.
Abaixo estão descritos vários tipos de teste junto com algumas sugestões sobre suas necessidades de dados de teste.
Dados de teste para teste de caixa branca
No teste de caixa branca, o gerenciamento de dados de teste é derivado do exame direto do código a ser testado. Os dados de teste podem ser selecionados levando-se em consideração o seguinte:
- É desejável cobrir tantos ramos quanto possível; os dados de teste podem ser gerados de modo que todas as ramificações no código-fonte do programa sejam testadas pelo menos uma vez
- Teste de caminho: todos os caminhos no código-fonte do programa são testados pelo menos uma vez - a preparação dos dados de teste pode ser feita para cobrir o maior número de casos possível
- Teste de API negativo:
- Os dados de teste podem conter tipos de parâmetros inválidos usados para chamar métodos diferentes
- Os dados de teste podem consistir em combinações inválidas de argumentos que são usados para chamar os métodos do programa
Dados de teste para teste de desempenho
Teste de desempenho é o tipo de teste executado para determinar a rapidez com que o sistema responde a uma determinada carga de trabalho. O objetivo desse tipo de teste não é encontrar bugs, mas eliminar gargalos. Um aspecto importante do Teste de Desempenho é que o conjunto de dados de amostra usado deve ser muito próximo aos dados 'reais' ou 'ao vivo' que são usados na produção. Surge a seguinte questão: 'Ok, é bom testar com dados reais, mas como faço para obter esses dados?' A resposta é bastante direta: vindo das pessoas que conhecem melhor - os clientes . Eles podem ser capazes de fornecer alguns dados que já possuem ou, se não tiverem um conjunto existente de dados, eles podem ajudá-lo dando feedback sobre como os dados do mundo real podem ser. Caso você esteja em umprojeto de teste de manutenção , você pode copiar dados do ambiente de produção para a cama de teste. É uma boa prática tornar anônimos (misturar) dados confidenciais do cliente, como número do seguro social, números de cartão de crédito, dados bancários, etc., enquanto a cópia é feita.
Dados de teste para teste de segurança
Teste de segurança é o processo que determina se um sistema de informações protege os dados contra intenções maliciosas. O conjunto de dados que precisa ser projetado para testar totalmente a segurança de um software deve abranger os seguintes tópicos:
- Confidencialidade: Todas as informações fornecidas pelos clientes são mantidas em sigilo absoluto e não são compartilhadas com terceiros. Como um pequeno exemplo, se um aplicativo usa SSL, você pode criar um conjunto de dados de teste que verifica se a criptografia foi feita corretamente.
- Integridade: determine se as informações fornecidas pelo sistema estão corretas. Para projetar dados de teste adequados, você pode começar examinando profundamente o projeto, o código, os bancos de dados e as estruturas de arquivos.
- Autenticação: representa o processo de estabelecimento da identidade de um usuário. Os dados de teste podem ser projetados como uma combinação diferente de nomes de usuário e senhas e seu objetivo é verificar se apenas as pessoas autorizadas são capazes de acessar o sistema de software.
- Autorização: informa quais são os direitos de um usuário específico. Os dados de teste podem conter uma combinação diferente de usuários, funções e operações , a fim de verificar se apenas usuários com privilégios suficientes são capazes de realizar uma operação específica.
Dados de teste para teste de caixa preta
No teste de caixa preta, o código não é visível para o testador. Seus casos de teste funcional podem ter dados de teste atendendo aos seguintes critérios -
- Sem dados : verifique a resposta do sistema quando nenhum dado for enviado
- Dados válidos : Verifique a resposta do sistema quando dados de teste válidos são enviados
- Dados inválidos : verifique a resposta do sistema quando dados de teste inválidos forem enviados
- Formato de dados ilegal : verifique a resposta do sistema quando os dados de teste estão em um formato inválido
- Conjunto de dados de condição de limite : dados de teste atendendo às condições de valor de limite
- Conjunto de dados de partição de equivalência : teste os dados que qualificam suas partições de equivalência.
- Conjunto de dados de tabela de decisão : dados de teste que qualificam sua estratégia de teste de tabela de decisão
- Conjunto de dados de teste de transição de estado: dados de teste que atendem à sua estratégia de teste de transição de estado
- Dados de teste de caso de uso : Dados de teste sincronizados com seus casos de uso.
Nota : Dependendo do aplicativo de software a ser testado, você pode usar parte ou toda a criação de dados de teste acima
Ferramentas automatizadas de geração de dados de teste
Para gerar vários conjuntos de dados, você pode usar uma gama de ferramentas automatizadas de geração de dados de teste. Abaixo estão alguns exemplos dessas ferramentas:
DTM Test Data generator, é um utilitário totalmente personalizável que gera dados, tabelas (visualizações, procedimentos, etc.) para fins de teste de banco de dados (teste de desempenho, teste de controle de qualidade, teste de carga ou teste de usabilidade).
Datatect é um gerador de dados SQL da Banner Software, gera uma variedade de dados de teste realistas em arquivos simples ASCII ou gera dados de teste diretamente para RDBMS incluindo Oracle, Sybase, SQL Server e Informix.
Conclusão
Em conclusão, dados de teste bem projetados permitem que você identifique e corrija falhas graves de funcionalidade. A escolha dos dados de teste selecionados deve ser reavaliada em cada fase de um ciclo de desenvolvimento de produto multifásico. Portanto, fique sempre de olho nisso.