Análise e Modelagem de Teste (Cap. 4 CTFL)

📖 14 min de leitura📚 CTFL v4.0🎯 Intermediário

Partição de Equivalência

A Partição de Equivalência (PE) divide os dados de entrada em grupos (partições) onde todos os valores do grupo devem se comportar da mesma forma. A ideia é que se um valor dentro da partição revela um defeito, todos os outros valores também revelariam — e vice-versa.

Isso permite reduzir drasticamente o número de casos de teste sem perder cobertura. Em vez de testar 100 valores numéricos válidos, você testa um representante de cada partição.

Exemplo: campo "Idade" que aceita valores entre 18 e 65 anos. Partições:

  • Partição inválida: valores abaixo de 18 (ex: 17)
  • Partição válida: valores entre 18 e 65 (ex: 30)
  • Partição inválida: valores acima de 65 (ex: 66)

🎬 Partição de Equivalência

Análise de Valor Limite

A Análise de Valor Limite (AVL) complementa a PE focando nos limites das partições, onde defeitos se concentram com mais frequência. Desenvolvedores frequentemente erram nas condições de fronteira (usar < em vez de <=, por exemplo).

Para o CTFL v4.0, testamos os valores no limite e imediatamente além do limite (2 pontos por limite). Versões anteriores usavam 3 pontos (abaixo, no limite, acima).

Usando o mesmo exemplo de "Idade" (18-65):

  • Limite inferior: testar 17 (inválido) e 18 (válido)
  • Limite superior: testar 65 (válido) e 66 (inválido)

Resultado: 4 casos de teste cobrem os 4 pontos críticos da fronteira.

🎬 Análise de Valor Limite

Tabela de Decisão

A Tabela de Decisão é ideal para requisitos com múltiplas condições combinadas que geram diferentes ações. Ela mapeia sistematicamente todas as combinações possíveis de condições e seus resultados esperados.

Estrutura de uma tabela de decisão:

  • Condições: as entradas ou estados do sistema (linhas superiores)
  • Ações: os resultados esperados para cada combinação (linhas inferiores)
  • Regras: cada coluna representa uma combinação de condições

Exemplo: sistema de desconto onde "Cliente Premium" E "Compra acima de R$500" dão 20% de desconto; apenas um dos dois dá 10%; nenhum dos dois dá 0%.

🎬 Tabela de Decisão

Teste de Transição de Estado

O Teste de Transição de Estado é usado quando o comportamento do sistema depende do seu estado atual. Sistemas com estados são representados por um diagrama de estados: círculos são estados, setas são transições disparadas por eventos.

Exemplo clássico: uma conta bancária tem estados (Ativa, Bloqueada, Encerrada). Cada transição (bloquear, desbloquear, encerrar) tem condições e ações associadas.

Cobertura em testes de transição de estado:

  • Cobertura de todos os estados: visitar cada estado ao menos uma vez
  • Cobertura de todas as transições válidas: exercitar cada transição permitida
  • Cobertura de transições inválidas: verificar que transições proibidas são rejeitadas

🎬 Teste de Transição de Estado

Teste Caixa-Branca e Baseado em Experiência

O Teste Caixa-Branca (estrutural) usa o conhecimento da estrutura interna do código para criar casos de teste. A principal métrica é a cobertura de código:

  • Cobertura de instruções: percentual de linhas de código executadas
  • Cobertura de ramificações: percentual de branches (if/else, switch) exercitados — mais rigorosa

O Teste Baseado em Experiência usa o conhecimento e intuição do testador. As técnicas incluem:

  • Suposição de Erros (Error Guessing): o testador usa sua experiência para supor onde defeitos provavelmente estão.
  • Teste Exploratório: design e execução simultâneos, guiados pela aprendizagem contínua durante o teste.
  • Teste Baseado em Checklist: uso de listas de verificação derivadas de experiências anteriores.

🎬 Teste Caixa-Branca e Baseado em Experiência

🧠 Teste seus conhecimentos

MINI-QUIZ1 / 5

Um campo aceita idades entre 18 e 65 anos. Usando Análise de Valor Limite (2 pontos), quais valores devem ser testados no limite inferior?

← ANTERIOR
Teste Estático (Cap. 3 CTFL)
PRÓXIMO →
Gerenciamento de Atividades de Teste (Cap. 5 CTFL)