Glossário · Fundamentos de testes
Teste de sanidade
Em inglês: Sanity testing
Também chamado de: sanity test, sanity check, testes de sanidade
Definição
Verificação estreita e focada após uma pequena mudança ou correção de bug para confirmar que a área afetada funciona como esperado antes de seguir com testes mais amplos.
O teste de sanidade (sanity testing) é uma verificação rápida e direcionada de que uma mudança específica funciona e de que a área ao redor dela continua se comportando de forma coerente. Ele acontece depois de uma correção de bug ou de uma pequena mudança em um build que já está razoavelmente estável. Se o sanity check falha, o build volta para o desenvolvimento sem que se gaste tempo com uma rodada completa de regressão.
Exemplo
Um bug report diz que o e-mail de “Esqueci minha senha” não é enviado quando o endereço contém um sinal de mais (ana+test@example.com). O desenvolvedor entrega uma correção. Um teste de sanidade faria o seguinte:
- Solicitar a redefinição para
ana+test@example.come confirmar que o e-mail chega. - Solicitar a redefinição para um endereço comum e confirmar que continua funcionando.
- Seguir o link de redefinição e confirmar que a nova senha é aceita.
É só isso. Ninguém verifica o carrinho de compras ou o módulo de relatórios aqui. Se esses passos passarem, o build segue para o teste de regressão.
Teste de sanidade vs smoke test
| Teste de sanidade | Smoke test | |
|---|---|---|
| Escopo | Estreito e um pouco profundo, uma funcionalidade ou correção | Amplo e raso, a aplicação inteira |
| Gatilho | Uma correção específica ou uma pequena mudança | Todo novo build |
| Estado do build | Já razoavelmente estável | Desconhecido, possivelmente quebrado |
| Forma | Muitas vezes sem roteiro, feito por um tester | Normalmente uma suíte roteirizada e automatizada |
Alguns times descrevem o teste de sanidade como um subconjunto do teste de regressão focado na área alterada. É uma forma razoável de pensar nele.
Uma observação sobre a terminologia
As definições variam entre empresas e livros, e alguns times usam “smoke” e “sanity” como sinônimos. Em uma entrevista, apresente a distinção acima e depois diga que, na prática, o que importa é o time concordar sobre o que cada verificação cobre e quando ela roda. Ser preciso e reconhecer a ambiguidade passa uma impressão melhor do que insistir em um único livro.