What is a smoke test? Definition in software testing

A smoke test is a quick check that the build is not fundamentally broken — enough confidence to invest in deeper testing, not a substitute for it.

A smoke test is a quick check that the build is not fundamentally broken — enough confidence to invest in deeper testing, not a substitute for it.

The motivating idea is asymmetry. A full regression pass takes hours; a smoke test takes minutes. If the smoke test fails, no one needs to run the regression pass on this build at all — it would just be confirming what is already obvious. Smoke tests catch the broken-everywhere defects cheaply so the expensive tests can be reserved for builds that have at least a chance of shipping.

Typical scope

The smoke test covers the application's golden paths: the app starts, the user can log in, the main feature works, no critical page is throwing 500s. A few visual spot-checks on the most-visited screens often go in as well.

On teams shipping continuously, the smoke test is automated and runs against every deploy. On teams that still have a manual QA pass, the smoke test is usually the first thing run against the candidate build before anyone touches a deeper test plan. A short capture session walking the smoke paths produces a markdown record of what was checked and what looked off — useful both as a release-gate artifact and as input to whoever fixes the issues found.

Frequently asked questions

Where does the name come from?

From hardware testing — power on the new device and see if it smokes. If it does, you don't move on to detailed testing yet.

How is a smoke test different from a regression test?

A smoke test is shallow and broad — does the app start, can a user log in, does the main flow complete. A regression test is deep and specific — does this previously-fixed bug stay fixed.

Capture your first review.

About a minute from open tab to a shareable URL your agent can ingest.

Start capturing