O que é teste de fumaça?

⚡ Resumo Inteligente

O teste de fumaça (Smoke Testing) determina se uma nova versão está estável o suficiente para ser testada. Esta página explica quando executá-lo, quem o executa, como o ciclo funciona e como os conjuntos de testes automatizados controlam os pipelines de entrega modernos.

  • 🔍 Definição: O teste de fumaça executa um conjunto mínimo de verificações em cada nova versão para confirmar que nenhum problema crítico impeça a realização de testes adicionais.
  • 🕒 Timing: Execute o conjunto de testes assim que a versão compilada chegar ao ambiente de controle de qualidade ou de homologação, antes do início de qualquer teste funcional.
  • 👤 Propriedade: Os engenheiros de controle de qualidade (QA) ou o líder de QA selecionam as funcionalidades críticas e decidem se a versão deve ser aceita ou rejeitada.
  • 🧭 Caminhos críticos: Mantenha uma cobertura ampla e superficial em todas as etapas: login, busca, entrada de dados, pagamento e logout, tudo em uma única passagem.
  • ⏱️ Orçamento de tempo de execução: Mantenha o fluxo de atendimento próximo a vinte ou trinta casos e de dez a quinze minutos para que o portão nunca se torne um gargalo.
  • ⚙️ Automação: Integre o conjunto de ferramentas ao pipeline de CI/CD para que cada commit e cada implantação sejam verificados sem esforço manual.
  • 🚫 Controle de descamação: Elimine casos com muitas dependências e inconsistentes, pois um gateway não confiável destrói a confiança no veredito da build.

O que é teste de fumaça?

Teste de Fumaça é um processo de teste de software que determina se a construção do software implantado é estável ou não. O teste de fumaça é uma confirmação para a equipe de controle de qualidade prosseguir com mais testes de software. Consiste em um conjunto mínimo de testes executados em cada compilação para testar as funcionalidades do software. O teste de fumaça também é conhecido como “Teste de verificação de construção” ou “Teste de confiança”.

Em termos simples, o teste de fumaça consiste em verificar se as funcionalidades importantes estão funcionando e se não há problemas críticos na versão em teste. É um teste de regressão rápido e em pequena escala das principais funcionalidades. Isso ajuda a determinar se a versão apresenta falhas que tornariam qualquer teste adicional uma perda de tempo e recursos.

Comparar Teste de fumaça versus sanidade

#1 Melhor no geralTestes globais de aplicativos
9.8/ 10
★ ★ ★ ★ ★
Obter demonstração gratuita
PractiTest
9.5/ 10
★ ★ ★ ★ ★
Visite PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
Visite Testiny
Melhor ParaTestes colaborativos e controle de qualidade.Gerenciamento de TesteEquipes de controle de qualidade de pequeno e médio porte
Característica chave✓Testes de integração de terceiros✓gerenciamento centralizado de testes✓Casos de teste manuais e automatizados
ERP e SAP✓Jira, Slack, TestRail✓Jira, Jenkins, Slack✓Jira, GitHub, GitLab
Teste GrátisDemo grátis14-Day Free TrialDemo grátis
Obter demonstração gratuitaVisite PractiTestVisite Testiny

Por que fazemos testes de fumaça?

Os testes de fumaça desempenham um papel importante no desenvolvimento de software, pois garantem a correção do sistema nos estágios iniciais. Dessa forma, podemos economizar esforço de teste. Somente após a conclusão dos testes de fumaça é que iniciamos os testes funcionais.

  • Todos os elementos críticos da construção serão identificados através de testes de fumaça.
  • Com a ajuda do teste de fumaça, a maioria dos defeitos é identificada nos estágios iniciais. desenvolvimento de software.
  • Com os testes de fumaça, simplificamos a detecção e correção de defeitos graves.
  • Por meio do teste de fumaça, a equipe de controle de qualidade pode encontrar defeitos na funcionalidade do aplicativo que podem ter surgido pelo novo código.
  • O teste de fumaça encontra os principais defeitos de gravidade.

1 exemplo: Janela de registro: Capaz de passar para a próxima janela com nome de usuário e senha válidos ao clicar no botão enviar.

2 exemplo: O usuário não consegue sair da página da web.

Quando devemos realizar o teste de fumaça?

Esses benefícios só se materializam se a verificação for acionada no momento certo. O teste de fumaça é realizado sempre que novas funcionalidades do software são desenvolvidas e integradas à versão existente, implantada no ambiente de QA/staging. Ele garante que todas as funcionalidades críticas estejam funcionando corretamente. O diagrama abaixo mostra como uma versão chega ao ambiente de QA antes do início do teste de fumaça.

Nesse método de teste, a equipe de desenvolvimento implanta a versão compilada no ambiente de QA. Um subconjunto de casos de teste é selecionado e executado pelos testadores em relação às funcionalidades críticas da versão compilada. Essa série de casos de teste é projetada para expor erros presentes na versão compilada. Se esses testes forem aprovados, a equipe de QA continua com o desenvolvimento. Teste funcional.

Qualquer falha indica a necessidade de devolver o sistema à equipe de desenvolvimento. Sempre que há alguma alteração na construção, realizamos Smoke Testing para garantir a estabilidade.

Exemplo: -Novo botão de registro é adicionado na janela de login e a compilação é implantada com o novo código. Realizamos testes de fumaça em uma nova construção.

Os testes de fumaça qualificam a versão para testes formais adicionais e são projetados para demonstrar a estabilidade do sistema e a conformidade com os requisitos. O principal objetivo é detectar problemas graves precocemente. Uma versão inclui todos os arquivos de dados, bibliotecas, módulos reutilizáveis ​​e componentes de engenharia necessários para implementar uma ou mais funções do produto.

O que acontece se não realizarmos o teste de fumaça?

Se não realizarmos testes de fumaça nos estágios iniciais, defeitos podem ser encontrados em estágios posteriores, o que pode ser muito dispendioso. Defeito Problemas detectados em estágios posteriores podem ser um obstáculo intransponível que afeta a entrega dos resultados.

Quem fará o teste de fumaça?

Depois de liberar a compilação para o ambiente de controle de qualidade, o Smoke Testing é realizado por engenheiros de controle de qualidade/líder de controle de qualidade. Sempre que há uma nova compilação, a equipe de controle de qualidade determina as principais funcionalidades do aplicativo para realizar testes de fumaça. A equipe de controle de qualidade verifica se há obstáculos no aplicativo que está em teste.

Como realizar o teste de fumaça?

O teste de fumaça geralmente é feito manualmente, embora exista a possibilidade de realizá-lo por meio de automação. Pode variar de organização para organização.

Teste manual de fumaça

Os testes de fumaça são realizados para garantir que a navegação pelos caminhos críticos ocorra conforme o esperado e não prejudique a funcionalidade. Casos de teste de funcionalidade de alta prioridade são selecionados e testados para encontrar defeitos críticos no sistema. Se o teste for aprovado, prosseguimos com os testes funcionais. Se o teste falhar, a versão é rejeitada e devolvida à equipe de desenvolvimento para correção.

A equipe de controle de qualidade inicia novamente os testes de fumaça com uma nova versão de compilação. Os testes de fumaça são realizados na nova versão e serão integrados às versões antigas para manter a integridade do sistema. Antes de realizar os testes de fumaça, a equipe de controle de qualidade deve verificar se as versões de compilação estão corretas.

Teste de fumaça por automação

Teste de automação é usado para Teste de regressãoNo entanto, também podemos usar um conjunto de casos de teste automatizados para executar no Smoke Test. Com a ajuda de testes automatizados, os desenvolvedores podem verificar a compilação imediatamente, sempre que houver uma nova versão pronta para implantação.

Em vez de repetir o teste manualmente sempre que a nova compilação de software é implantada, os casos de teste de fumaça registrados são executados na compilação. Verifica se as principais funcionalidades ainda funcionam corretamente. Se o teste falhar, eles poderão corrigir o build e reimplantá-lo imediatamente. Com isso, podemos economizar tempo e garantir uma construção de qualidade no ambiente de controle de qualidade.

Usando uma ferramenta automatizada, o engenheiro de teste registra todas as etapas manuais executadas na construção do software.

Ciclo de teste de fumaça

O fluxograma abaixo mostra como o teste de fumaça é executado. Assim que a versão é implantada em QA e os testes de fumaça são aprovados, prosseguimos para os testes funcionais. Se o teste de fumaça falhar, interrompemos os testes até que o problema na versão seja corrigido.

Melhores Práticas para Projetar Casos de Teste de Fumaça

Conhecer o ciclo é uma coisa; mantenha-oping A confiabilidade do sistema é outro fator importante. Um sistema de defumação só se justifica quando se mantém compacto, rápido e repetível.

  • Mapeie primeiro os caminhos críticos: Liste os fluxos de trabalho que tornam o produto comercialmente utilizável, como login, busca, entrada de dados, pagamento e logout. Se algum deles falhar, a versão não terá valor para um testador.
  • Mantenha a suíte rasa, mas espaçosa: Em vez de explorar um módulo específico em profundidade, aborde cada módulo principal apenas uma vez. Valores limite, dados negativos e a redação de mensagens de erro pertencem aos testes funcionais, não a este contexto.
  • Limitar o tempo de execução: A maioria das equipes mantém a corrida entre dez e quinze minutos e limita a sequência a aproximadamente vinte a trinta minutos. casos de testeUma corrida que leva uma hora deixa de ser um ponto de controle e se torna um gargalo.
  • Execute os mesmos casos em todas as compilações: A consistência permite atribuir uma falha ao código em vez de atribuí-la a uma alteração na seleção do teste.
  • Remova casos instáveis ​​e com muitas dependências: Um caso que passa e falha sem qualquer alteração no código destrói a confiança no sistema. Utilize stubs ou mocks para serviços instáveis ​​de terceiros onde... estrutura de automação de testes permite.
  • Registre um veredicto inequívoco: Cada caso exige um único resultado esperado para que a compilação possa ser aceita ou rejeitada sem discussão.
  • Versionar o pacote com a compilação: Armazene os casos de teste (smoke cases) no mesmo repositório que o código do aplicativo, para que o gate sempre corresponda à versão em teste.

RevAnalise o pacote a cada versão: remova casos de uso para funcionalidades que não são mais relevantes e adicione novos fluxos de trabalho críticos.

Testes de fumaça em dutos de CI/CD

Um conjunto de ferramentas projetado dessa forma é barato o suficiente para ser executado a cada commit, que é o que a entrega moderna exige. integração contínua servidor como Jenkins O código é compilado, implantado em um ambiente de teste e, em seguida, o conjunto de testes automatizados (smoke suite) é acionado como a primeira etapa. Uma execução bem-sucedida promove o artefato para as etapas de teste funcional e de regressão, enquanto uma execução com falha interrompe o pipeline e notifica o desenvolvedor responsável pela confirmação em poucos minutos.

Duas etapas são comuns. Uma execução pré-merge protege a branch principal validando cada pull request, e uma execução pós-deployment confirma se o ambiente implantado está acessível e configurado corretamente. Equipes que praticam implantação contínua geralmente adicionam uma terceira execução, mais enxuta, em produção imediatamente após o lançamento.

Como o pipeline executa o conjunto de testes várias vezes ao dia, os casos devem ser não interativos, autolimpantes e independentes. Qualquer caso que aguarde uma decisão humana ou deixe dados de teste para trás irá interromper o pipeline.

Vantagens do teste de fumaça

Aqui estão algumas vantagens listadas para testes de fumaça.

  • Fácil de executar e funciona rapidamente.
  • Erros e defeitos críticos são fáceis de detectar e corrigir em estágios iniciais.
  • Melhora a qualidade do sistema
  • Reduz o risco
  • O progresso é mais fácil de avaliar.
  • Economiza esforço e tempo de teste
  • Minimiza os riscos de integração

⚠ Limitação a observar: Um resultado positivo no teste de fumaça apenas indica que a versão é testável. Ele testa as funcionalidades principais de forma superficial, portanto, pequenos defeitos, casos extremos e recursos raramente usados ​​permanecem ocultos até a execução dos testes funcionais e de regressão. Nunca considere um resultado positivo no teste de fumaça como sinal de que a versão está livre de defeitos.

Teste de fumaça vs. teste de sanidade vs. teste de regressão

Os três são executados após uma alteração no código, razão pela qual são frequentemente confundidos. Eles diferem em escopo, profundidade e na questão que cada um responde.

Os testes realizados em um ambiente de desenvolvimento no código para garantir a correção do aplicativo antes de liberar a versão para o controle de qualidade são conhecidos como testes de sanidade. Trata-se de um processo que verifica se o aplicativo em desenvolvimento atende aos seus requisitos funcionais básicos.

O teste de sanidade determina a conclusão da fase de desenvolvimento e toma a decisão de passar ou não o produto de software para a fase de testes adicionais.

BASE TESTE DE FUMAÇA TESTE DE SANIDADE TESTES DE REGRESSÃO
Objetivo Amplo e raso Estreito e profundo Amplo e profundo
Pergunta respondida Esta versão está estável o suficiente para ser testada? Essa solução específica funciona? Alguma coisa que funcionava antes parou de funcionar?
Seqüência Primeiro, em cada construção Após aprovação no teste de fumaça Após testes de sanidade
Duração típica 10 para 15 minutos 30 para 60 minutos Hours para dias
Ajuste de automação Muito alto Moderado, frequentemente manual Muito alto

Na prática, eles são executados em sequência: testes de fumaça para aceitar a versão, testes de sanidade para verificar a alteração entregue e testes de regressão quando o cronograma permite.

Exemplo de casos de teste de fumaça

A tabela abaixo documenta uma breve análise de fumaça, com uma linha para cada caminho crítico.

T.ID CENÁRIOS DE TESTE DESCRIÇÃO ETAPA DE TESTE RESULTADO ESPERADO RESULTADO ATUAL STATUS
1 Credenciais de login válidas Teste a funcionalidade de login do aplicativo da web para garantir que um usuário registrado tenha permissão para fazer login com nome de usuário e senha 1. Inicie o aplicativo
2.Navegue na página de login
3.Insira um nome de usuário válido
4.Insira uma senha válida
5.Clique no botão de login
O login deve ser um sucesso como esperado Passar
2 Adicionando funcionalidade de item Capaz de adicionar item ao carrinho 1.Selecione a lista de categorias
2.Adicione o item ao carrinho
O item deve ser adicionado ao carrinho O item não está sendo adicionado ao carrinho Falhar
3 Funcionalidade de logout Verifique a funcionalidade de sair 1. selecione o botão sair O usuário deve ser capaz de sair. O usuário não consegue sair Falhar

Perguntas Frequentes

O nome vem da engenharia de hardware, onde um dispositivo recém-montado passava no primeiro teste se não emitisse fumaça ao ser ligado. O software adotou a ideia: se o componente passar por um rápido teste de inicialização, testes mais aprofundados podem começar.

A maioria das equipes se contenta com entre vinte e trinta casos, sendo dez um número mínimo viável e cinquenta um limite máximo. A verdadeira limitação é o tempo: se a sessão completa ultrapassar quinze minutos, reduza o número de casos até que caiba no tempo estipulado.

Sim. As ferramentas de IA podem ler requisitos, histórias de usuário ou registros de tráfego de produção e sugerir os caminhos críticos de maior tráfego como possíveis casos de teste. Um engenheiro de controle de qualidade ainda precisa aprovar a seleção, pois o modelo não consegue avaliar o risco comercial.

Isso ajuda consideravelmente. Localizadores com capacidade de autorreparação em sistemas modernos. ferramentas de teste de automação Reidentificar um elemento movido ou renomeado em vez de falhar reduz os falsos alarmes que tornam um detector de fumaça não confiável. RevVerifique cada localizador restaurado antes de confiar nele.

Selenium e Cypress fluxos de navegador de cobertura, Postman e SoapUI abranger endpoints de API e JUnit, TestNGPyTest ou Jest executam o conjunto de testes. O Robot Framework é adequado para equipes orientadas por palavras-chave.

Resuma esta postagem com: