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.
Teste de fumaça versus teste de sanidade
Teste de fumaça versus teste de sanidade

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