Teste de sanidade vs. Teste de fumaça – diferença entre eles
Diferença fundamental entre teste de fumaça e teste de sanidade
- O Smoke Testing tem como objetivo verificar a “estabilidade”, enquanto o Sanity Testing tem como objetivo verificar a “racionalidade”.
- O teste de fumaça é feito por desenvolvedores ou testadores, enquanto o teste de sanidade é feito por testadores.
- O Smoke Testing verifica as funcionalidades críticas do sistema, enquanto o Sanity Testing verifica as novas funcionalidades, como correções de bugs.
- O teste de fumaça é um subconjunto do teste de aceitação, enquanto o teste de sanidade é um subconjunto do teste de regressão.
- Os testes de fumaça são documentados ou programados, enquanto os testes de sanidade não.
- O teste de fumaça verifica todo o sistema de ponta a ponta, enquanto o teste de sanidade verifica apenas um componente específico.

O que é uma construção de software?
Se você estiver desenvolvendo um programa de computador simples que consiste em apenas um arquivo de código-fonte, basta compilar e vincular esse arquivo para produzir um arquivo executável. Este processo é muito simples. Normalmente, não é esse o caso. Um projeto de software típico consiste em centenas ou até milhares de arquivos de código-fonte. Criar um programa executável a partir desses arquivos de origem é uma tarefa complicada e demorada. Você precisa usar um software de “construção” para criar um programa executável e o processo é chamado de “ Construção de software"
O que é teste de fumaça?
Teste de Fumaça é uma técnica de teste de software realizada após a construção do software para verificar se as funcionalidades críticas do software estão funcionando bem. Ele é executado antes de qualquer teste funcional ou de regressão detalhado ser executado. O principal objetivo do teste de fumaça é rejeitar um aplicativo de software com defeitos, para que a equipe de controle de qualidade não perca tempo testando aplicativos de software quebrados.
In Teste de Fumaça, os casos de teste optaram por cobrir a funcionalidade ou componente mais importante do sistema. O objetivo não é realizar testes exaustivos, mas sim verificar se as funcionalidades críticas do sistema estão funcionando bem. Por exemplo, um teste de fumaça típico seria – Verifique se o aplicativo é iniciado com sucesso, Verifique se a GUI está respondendo… etc.
O que é teste de sanidade?
O teste de sanidade é uma espécie de Teste de software realizado após receber uma construção de software, com pequenas alterações no código ou funcionalidade, para verificar se o erros foram corrigidos e nenhum outro problema foi introduzido devido a essas alterações. O objetivo é determinar se a funcionalidade proposta funciona aproximadamente conforme o esperado. Se o teste de integridade falhar, a construção será rejeitada para economizar tempo e custos envolvidos em testes mais rigorosos.
O objetivo “não” é verificar minuciosamente a nova funcionalidade, mas determinar se o desenvolvedor aplicou alguma racionalidade (sanidade) ao produzir o software. Por exemplo, se a sua calculadora científica der o resultado de 2 + 2 =5! Então, não faz sentido testar funcionalidades avançadas como sen 30 + cos 50.
Diferença entre testes de fumaça e testes de sanidade
A seguir está a diferença entre os testes de fumaça e de sanidade:
Teste de Fumaça | Teste de Sanidade |
---|---|
O Smoke Testing é realizado para verificar se as funcionalidades críticas do programa estão funcionando bem | O teste de sanidade é feito para verificar se as novas funcionalidades/bugs foram corrigidos |
O objetivo deste teste é verificar a “estabilidade” do sistema para prosseguir com testes mais rigorosos | O objetivo dos testes é verificar a “racionalidade” do sistema para prosseguir com testes mais rigorosos |
Este teste é realizado pelos desenvolvedores ou testadores | O teste de integridade em testes de software geralmente é realizado por testadores |
O teste de fumaça geralmente é documentado ou programado | Os testes de sanidade geralmente não são documentados e não são programados |
O teste de fumaça é um subconjunto do teste de aceitação | O teste de sanidade é um subconjunto de Teste de regressão |
O teste de fumaça exercita todo o sistema de ponta a ponta | O teste de sanidade exercita apenas o componente específico de todo o sistema |
O teste de fumaça é como um exame geral de saúde | O teste de sanidade é como um exame de saúde especializado |
Pontos a serem observados sobre testes de fumaça e sanidade
- Os testes de sanidade e fumaça são maneiras de evitar perda de tempo e esforço, determinando rapidamente se um aplicativo é muito falho para merecer qualquer teste rigoroso.
- O teste de fumaça também é chamado de testador teste de aceitação.
- O teste de fumaça realizado em uma construção específica também é conhecido como teste de verificação de construção.
- Uma das melhores práticas da indústria em Engenharia de software, é realizar testes diários de construção e fumaça em projetos de software.
- Os testes de fumaça e sanidade podem ser executados manualmente ou usando um ferramenta de automação. Quando ferramentas automatizadas são usadas, os testes geralmente são iniciados pelo mesmo processo que gera a própria construção.
- De acordo com as necessidades de teste, pode ser necessário executar testes de sanidade e de fumaça na construção do software. Nesses casos, você executará primeiro os testes de fumaça e depois prosseguirá com os testes de sanidade. Na indústria, os casos de teste para testes de sanidade são comumente combinados com os testes de fumaça, para acelerar a execução dos testes. Portanto, é comum que os termos sejam frequentemente confundidos e usados de forma intercambiável.
Clique aqui se o vídeo não estiver acessível