Neste post pretendo descrever, sob o ponto de vista de um analista de sistemas, duas atividades que considero muito importantes para uma entrega de software bem sucedida. Tratam-se de duas atividades realizadas pelo pessoal da qualidade de software (Q&A): Smoke Test e Sanity Test.
Smoke Test
A origem do nome Smoke Test remonta do início da indústria de hardware. Traduzindo para o portguês, seria “Teste de Fumaça”. Após montar os componentes eletrônicos, ligava-se o equipamento na tomada. Se não surgisse fumaça, o equipamento tinha sido bem montado e os componentes estariam funcionando. Transportando esse conceito para o desenvolvimento de software, smoke test é um conjunto de testes básicos realizados pelos testadores para saber se o software que está sendo liberado possui algum problema saliente em suas funcionalidades mais básicas. É realizada uma navegação completa no sistema para verificar se tudo o que já funcionava antes segue funcionando corretamente.
Sanity Test
O sanity test ou “teste de sanidade”, é realizado quando um novo build com revisões pequenas é gerado. O objetivo do sanity test é garantir que os problemas resolvidos (listados no release notes) estão realmente corrigidos. Além disso, o sanity test garante que as correções entregues não geraram novos bugs. A suite de testes do sanity test é encarado como uma atividade anterior aos testes de regressão completos, ou mesmo em substituição a este quando a entrega é de baixa criticidade.
Links separados para leitura
Seguem alguns links interessantes que separei sobre smoke e sanity test.
- geekswithblogs.net – apresenta os conceitos de cada atividade, bem como uma tabela comparativa dos dois.
- softwaretestinghelp.com – confronta os dois tipos de testes de forma direta.