Glossary · Testing fundamentals
Smoke testing
Also called: smoke test, smoke tests, smoke suite, build verification testing
Definition
A quick, shallow check of a new build's most critical functions to decide whether it is stable enough for deeper testing at all.
Smoke testing is a small, fast set of checks run against a fresh build to answer one question: is this build worth testing further? It covers the most important paths broadly but shallowly. If a smoke test fails, the build is rejected and nobody spends time on detailed testing of something that is fundamentally broken.
The name comes from hardware: power the device on and see whether smoke comes out before checking anything else.
Example
For an online shop, a smoke suite might be:
- The home page loads and returns HTTP 200.
- A user can log in.
- Search returns results.
- A product can be added to the cart.
- The checkout page opens.
It does not check discount rules, validation messages or edge cases. Those belong in the regression suite.
Smoke vs sanity testing
These are the two terms most often confused in interviews.
| Smoke testing | Sanity testing | |
|---|---|---|
| Scope | Broad: the whole application, shallowly | Narrow: one area, a bit deeper |
| When | On every new build | After a specific fix or small change |
| Question | “Is the build stable enough to test?” | “Does this fix work and look rational?” |
| Usually | Scripted and automated | Often unscripted, quick manual checks |
A simple way to remember it: smoke is wide and shallow, sanity is narrow and focused.
In a CI pipeline
Smoke tests usually run straight after deployment to a test or staging environment, and again after a production release as a post-deploy check. Keep them to a few minutes. If they fail, the pipeline stops before the slower regression and end-to-end stages. A smoke suite that takes 40 minutes has stopped being a smoke suite.