Skip to main content

Smoke Testing

Smoke testing is a quick pass over a build's most critical functions — can it launch, log in, and load its core screens — run immediately after a new build to decide if it's stable enough to test further. It answers one question fast: is this build broken in an obvious way, or worth spending real testing time on?

The name comes from hardware testing: power on the device and see if it smokes. If it does, there's no point running deeper diagnostics — send it back. Software smoke testing works the same way: a small, fast set of checks (app launches, login works, homepage loads, database connects) run against every new build before anyone commits real testing effort to it.

Smoke testing is shallow by design — breadth over depth. It's not trying to catch subtle bugs, it's trying to catch catastrophic ones: a build that doesn't start, a broken deployment, a missing environment variable. A failed smoke test blocks the build from going any further in the pipeline; a passed one is the green light for the fuller regression or exploratory testing pass.

It's easy to confuse with sanity testing, which is narrower and deeper — a quick check that one specific fix or feature works as intended, not a check of the whole system's basic health.

Smoke Testing — Definition, Example & How It's Used | QA Bash Glossary | QA Bash