Definition: Minimal set of tests verifying that critical application functionalities work correctly after a deployment, before running the full test suite.
— Source: NERVICO, Product Development Consultancy
What Is Smoke Testing
Smoke testing is a reduced set of high-level tests executed immediately after a deployment or build to verify that the system’s most critical functionalities work correctly. Its name comes from electronics, where powering on a new device first checks that it “does not smoke.” They do not seek exhaustive coverage but rather quickly confirm that the system is operational at a basic level.
How It Works
Smoke tests are designed to cover the application’s critical flows with the minimum number of tests possible. They typically include verifications such as: the application starts correctly, the main page loads, authentication works, primary APIs respond, and the database connection is operational. They run automatically as the first step in the CI/CD pipeline after deployment, and their failure immediately blocks the release from advancing or triggers an automatic rollback.
Key Use Cases
- Rapid post-deployment validation confirming the build has no critical defects before continuing with deeper testing
- Automatic gate in CI/CD pipelines preventing promotion of defective builds to higher environments
- Basic integrity verification after infrastructure migrations or dependency updates
- Periodic system health monitoring by running smoke tests as availability checks
Advantages and Considerations
Smoke tests provide immediate feedback on the system’s basic state, typically in under two minutes. Being fast and focused, they do not significantly delay the pipeline and detect the most severe failures early. The main consideration is keeping them truly minimal: if the set grows too large, it loses its speed advantage. They should be complemented with more exhaustive test suites running in later pipeline phases.