Como funcionam os Testes de Software
O que é a área e o que o testador faz
A área de teste de software é essencial para garantir a qualidade e a funcionalidade dos sistemas desenvolvidos. Os testadores de software, ou analistas de teste, têm a responsabilidade de verificar se o software atende aos requisitos especificados e está livre de defeitos. O papel do testador inclui a criação e execução de casos de teste, identificação e reporte de defeitos, além de colaborar com a equipe de desenvolvimento para assegurar que o produto final esteja em conformidade com os padrões de qualidade.
Processo de testes de software
O processo de testes de software segue um ciclo bem definido para garantir a cobertura completa dos requisitos e a identificação de possíveis falhas. Abaixo estão os passos deste ciclo:
- Interpretação dos requisitos: Entender detalhadamente os requisitos funcionais e não funcionais do software.
- Particionamento dos requisitos: Dividir os requisitos em partes menores e mais gerenciáveis.
- Eleição das técnicas de teste: Escolher as técnicas mais adequadas para testar os requisitos especificados.
- Aplicação das técnicas: Implementar as técnicas de teste selecionadas.
- Escrita dos casos de teste: Criar casos de teste detalhados que cobrem os diferentes cenários de uso do software.
- Execução dos testes: Executar os casos de teste e registrar os resultados.
- Reporte de defeitos: Documentar e relatar quaisquer defeitos encontrados durante os testes.
- Automação dos testes: Automatizar casos de teste, quando possível, para aumentar a eficiência e a cobertura dos testes.
Técnicas de testes de software
Para ilustrar como funcionam as técnicas de teste, vamos considerar o seguinte requisito:
Requisito 1786: Transferência Interna de Valores Os valores para transferência interna são limitados a R$ 4.999,99, no entanto, se o destinatário estiver cadastrado como favorecido, não haverá limite.
Classes de Equivalência e Testes
Variáveis de Entrada | Classe de Equivalência | Teste 1 | Teste 2 | Teste 3 | Teste 4 |
---|---|---|---|---|---|
Valor da transferência | Até R$$ 4.999,99 | X | X | ||
Acima de R$ 4.999,99 | X | X | |||
Favorecido | Sim | X | X | ||
Não | X | X |
Análise de Valor Limite de Três Pontos (Jorgensen)
Variáveis de Entrada | Classe de Equivalência | Teste 1 | Teste 2 | Teste 3 | Teste 4 | Teste 5 | Teste 6 |
---|---|---|---|---|---|---|---|
Valor da transferência | R$ 4.999,98 | x | x | ||||
R$ 4.999,99 | x | x | |||||
R$ 5.000,00 | x | x | |||||
Favorecido | Sim | x | x | x | |||
Não | x | x | x | ||||
Resultado Esperado | Sucesso | Sucesso | Sucesso | Sucesso | Sucesso | Falha |
Tabela de Decisão
Tipo | Variáveis | Classe de Equivalência | Teste 1 | Teste 2 | Teste 3 | Teste 4 |
---|---|---|---|---|---|---|
Entrada | Valor da transferência | Até R$$ 4.999,99 | X | X | ||
Acima de R$ 4.999,99 | X | X | ||||
Favorecido | Sim | X | X | |||
Não | X | X | ||||
Saída | Permitir Transferência | Sim | X | X | X | |
Não | X |
O que são casos de teste
Casos de teste são descrições detalhadas de como testar um determinado requisito ou funcionalidade de um software. Eles incluem informações sobre o que será testado, as condições de teste, os passos a serem seguidos, e os resultados esperados.
Exemplo de Caso de Teste
- ID: 1
- Prioridade: Alta
- Rastreabilidade: Requisito 1786
- Pré-condições: Ter saldo de R$ 5.000,00
- Objetivo: Validar que não há limite no envio de valores para um destinatário cadastrado
- Entradas: Escolher um destinatário que é favorecido e transferir o valor de R$ 5.000,00
- Resultados Esperados: Usuário avisado que a transferência foi realizada com sucesso
Cenário do Gherkin
O Gherkin é uma linguagem usada para descrever cenários de teste de maneira clara e compreensível para todos os envolvidos no projeto.
Exemplo de Cenário Gherkin
Cenário: Validar que não há limite no envio de valores para um destinatário cadastrado como favorecido
Dado que eu tenho saldo de R 5.000,00 para um destinatário que é um favorecido Então a transferência é realizada com sucesso
Processo da gestão de defeitos
A gestão de defeitos é uma parte crucial do processo de testes de software, envolvendo a identificação, documentação, classificação, e resolução de problemas encontrados durante os testes. O processo geralmente inclui as seguintes etapas:
- Identificação do defeito: Detectar o defeito durante a execução dos testes e entender as circunstâncias em que ele ocorre.
- Documentação do defeito: Registrar detalhadamente o defeito encontrado em um sistema de rastreamento, incluindo passos para reprodução, impacto, capturas de tela, e outras evidências relevantes.
- Classificação do defeito: Avaliar e categorizar o defeito com base na sua severidade, prioridade, e impacto no sistema.
- Atribuição do defeito: Designar o defeito para um desenvolvedor ou equipe responsável pela sua resolução.
- Correção do defeito: O desenvolvedor analisa e corrige o defeito, garantindo que a solução não cause novos problemas.
- Reteste: Realizar novos testes para verificar se o defeito foi corrigido corretamente e se a correção não introduziu novos defeitos.
- Fechamento do defeito: Uma vez confirmado que o defeito foi resolvido, ele é fechado no sistema de rastreamento.
- Relatório de defeitos: Gerar relatórios periódicos para monitorar o status e o progresso da resolução de defeitos, identificando tendências e áreas que precisam de melhorias.
Esse processo estruturado garante que os defeitos sejam gerenciados de forma eficiente e eficaz, contribuindo para a entrega de um software de alta qualidade.