Testes, depuração e evidência
Qualidade não nasce do número de testes, mas da força da evidência. Leia Do palpite à prova para aprender níveis, oráculos, propriedades, observabilidade e diagnóstico; pratique no Caderno de falhas.
Ao terminar, você deverá conseguir
- projetar testes
- depurar causalmente
- diferenciar sinais
- produzir evidência reproduzível
Do palpite à prova
Um defeito não é explicado pela primeira história plausível, e um teste verde não prova tudo. Este capítulo ensina a transformar “algo está errado” em esperado versus observado, reprodução mínima, hipóteses concorrentes e experimentos que localizam a primeira fronteira divergente. Testes unitários, de integração, contrato e ponta a ponta são escolhidos pelo risco e pela interface que precisam exercitar. Test doubles controlam dependências, mas não devem substituir a regra que se quer provar. Cobertura mede código executado; mutation testing pergunta se os testes percebem mudanças. Uma correção causal preserva um teste de regressão que falha antes e passa depois. O resultado final é um pacote de evidência reproduzível, independente da confiança humana ou da autodeclaração de uma IA.
Caderno operacional — caçar uma falha e provar o reparo
Este laboratório reproduz uma autorização incorreta em um serviço de ordens de serviço: um supervisor do shopping A consegue aprovar uma OS do shopping B. Primeiro, o mesmo teste de regressão falha contra a versão defeituosa. Um trace pequeno compara expected e observed em cada fronteira e localiza a primeira divergência na policy, sem alterar cinco componentes ao mesmo tempo. A correção mínima acrescenta tenant e estado à regra; uma suíte unitária, de integração, contrato e jornada prova comportamentos complementares. Um repositório em memória e um audit spy controlam infraestrutura sem mockar a autorização. Mutações reintroduzem os defeitos e devem ser mortas. O relatório final registra ambiente, hipótese, vermelho, verde, limites e comandos reproduzíveis.