Os designs de teste são abordagens utilizadas para planejar e executar testes de software, garantindo que o sistema funcione corretamente. Eles podem ser categorizados em diferentes grupos, dependendo do foco e da metodologia utilizada.
1. Testes Baseados em Caixa Preta (Black Box Testing)
✅ Focam no comportamento externo do sistema, sem considerar o código-fonte.
- Particionamento de Equivalência: Divide os dados de entrada em grupos equivalentes para reduzir o número de testes.
- Análise de Valor Limite: Testa os valores nos extremos das entradas aceitas.
- Tabela de Decisão: Usa tabelas para validar diferentes combinações de entrada e saída.
- Transição de Estado: Avalia o comportamento do sistema conforme ele muda de estado.
- Teste de Caso de Uso: Verifica cenários baseados no fluxo de um caso de uso.
2. Testes Baseados em Caixa Branca (White Box Testing)
✅ Analisam o código-fonte do software para garantir a cobertura de execução.
- Cobertura de Declaração: Garante que todas as linhas de código sejam executadas pelo menos uma vez.
- Cobertura de Decisão: Valida todas as decisões condicionais no código.
- Cobertura de Caminho: Testa todos os possíveis caminhos de execução.
- Cobertura de Condição: Verifica todas as expressões booleanas possíveis.
3. Testes Baseados em Experiência e Intuição
✅ Dependem da experiência e conhecimento do testador.
- Teste Exploratórios: O testador interage com o sistema de forma livre e analítica.
- Teste Ad Hoc: Sem estrutura definida, baseado na criatividade do testador.
- Teste Baseado em Erro Comum: Foca em áreas onde há maior probabilidade de falhas.
4. Testes Baseados em Modelos Estatísticos e de Risco
✅ Consideram fatores como estatísticas de uso e criticidade do sistema.
- Teste Baseado em Risco: Prioriza testes em partes mais críticas do software.
- Teste Estatístico: Usa amostragem estatística para definir cenários de teste.