Q6 of 38 · Manual & exploratory

Define smoke testing, sanity testing, and regression testing.

Manual & exploratoryJuniorsmoke-testingsanity-testingregression-testingfundamentals

Short answer

Short answer: Smoke verifies the build is stable enough to test further (does it boot, does login work). Sanity verifies a specific change works at a shallow level. Regression verifies nothing else broke.

Detail

Smoke testing is wide-and-shallow, run very early in a test cycle. The purpose is gatekeeping: if smoke fails, no further testing happens until the build is fixed. Examples: app launches, home page renders, user can log in, payment page loads. Often automated as the first job in CI.

Sanity testing is narrow-and-shallow, run after a small change or hotfix. The purpose is "did this specific change behave as intended" without re-running the full suite. Often manual and ad-hoc.

Regression testing is wide-and-deep — re-running existing test cases (usually automated, sometimes manual) after a change to verify no previously-working behaviour has broken. Regression suites are the backbone of release confidence.

The boundary between sanity and smoke confuses many candidates because some teams use them interchangeably. The crisp distinction in interviews: smoke runs to greenlight further testing; sanity runs to confirm a fix; regression runs to confirm nothing else regressed.

// WHAT INTERVIEWERS LOOK FOR

Crisp definitions, awareness of when each runs in the test cycle, and not conflating sanity with smoke.

// COMMON PITFALL

Saying 'smoke and sanity are basically the same' — they overlap in informal use but have distinct purposes interviewers want to hear.