Skip to content
SDETRole
SDETRole

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:

  1. The home page loads and returns HTTP 200.
  2. A user can log in.
  3. Search returns results.
  4. A product can be added to the cart.
  5. 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.

Type to search across SDETRole.

Full-text search by Pagefind · runs in your browser Open search page →