O Que É uma Smoke Suite?
Uma smoke suite é uma coleção pequena e curada de testes rápidos que cobrem os caminhos mais críticos, executada para confirmar rapidamente que um build é viável.
Um único smoke test verifica uma coisa crítica. Uma smoke suite é o conjunto curado deles, um punhado de testes rápidos que juntos confirmam que a aplicação está fundamentalmente viva: ela inicia, as páginas-chave carregam, os fluxos centrais respondem. É o primeiro portão barato que decide se vale a pena sequer executar a suíte completa.
O que entra em uma smoke suite
Uma smoke suite cobre amplitude em vez de profundidade: os poucos caminhos cuja falha significa que o build está inutilizável. A aplicação inicializa, a autenticação funciona, uma API-chave responde, a página principal renderiza. Ela deliberadamente ignora casos extremos e verificação minuciosa, que pertencem à suíte completa.
Escolhendo os testes
- Escolha os fluxos cuja falha torna todo o resto irrelevante.
- Mantenha-a pequena o suficiente para terminar em segundos.
- Prefira verificações estáveis e de alto sinal em vez de instáveis.
- Revisite o conjunto conforme os caminhos críticos mudam.
Onde uma smoke suite roda
Uma smoke suite normalmente roda primeiro no CI, antes dos estágios mais lentos, de modo que um build catastroficamente quebrado falhe rápido e barato. Ela também roda após um deploy como uma verificação rápida de saúde no ambiente ao vivo antes de promover o release adiante.
Um exemplo rápido
Marcar os testes críticos permite que o CI execute apenas a smoke suite como um primeiro estágio rápido.
pytest -m smoke # run only tests tagged @smoke
playwright test --grep @smokeSmoke suites no CI
Executar a smoke suite como primeiro estágio permite que o pipeline rejeite um build morto em segundos, economizando o custo da suíte completa. Por ser minúscula, ela termina quase instantaneamente em runners rápidos, dando aos desenvolvedores uma confirmação quase imediata de que o build é ao menos viável.
Principais conclusões
- Uma smoke suite é um pequeno conjunto de testes rápidos de caminho crítico.
- Ela roda primeiro ou após o deploy para confirmar que um build é viável.
- Mantenha-a minúscula, estável e focada nos fluxos que precisam funcionar.