Glossary
Smoke vs Sanity Testing
Smoke testing is a shallow check that the system isn't completely broken, run right after a build. Sanity testing is a narrow, focused check that a specific fix or change works, run after a small update.
Both are quick, both come before deeper testing, and both get confused with each other.
Smoke testing answers "is this build even worth testing further?" — does the app boot, does the home page load, can a user log in. It's broad but extremely shallow, and it's usually the first thing run against a new build. If it fails, deeper testing doesn't start.
Sanity testing answers "did this specific change work?" — after a bug fix or small feature, you check that narrow area (and maybe its immediate neighbours) without re-testing the whole app. It's narrow and slightly deeper than a smoke test.
A way to remember it
Smoke test: wide and shallow, run on a new build, checks "is anything on fire." Sanity test: narrow and focused, run after a specific change, checks "does this one thing actually work now."
In practice
An autonomous run makes a good smoke test by default — pointing it at a fresh build and reviewing the bug list tells you quickly whether the build is fundamentally broken. For sanity-testing a specific fix, a plain-English check targeted at exactly that flow is the equivalent.
See also
See how this plays out in practice — start a free run or read the autonomous testing guide.