intermediate

Smoke and regression tests

Protect releases with small confidence checks for critical paths and regression suites that lock previously broken behavior.

Smoke tests are a minimal post-deploy or post-build sanity check: can the app start, authenticate, and complete one critical path? They fail fast when the environment is broken. Regression suites re-run previously fixed bugs and stable behaviors so old defects do not return—often tagged or named after incidents.

Release pipelines typically run smoke on every deploy and regression on nightly or pre-release schedules, while PRs run a faster subset.

On interviews: describe how you would design smoke for a multi-service deploy and how you add a regression test after a production bug without bloating the suite.

Common pitfalls: smoke suites that grow into full regression, regression tests tied to brittle UI selectors, or skipping smoke in staging that differs from production.

The trade-off is gate speed versus coverage—expanding smoke slows deploy feedback.

Checklist:

  • Keep smoke under a few minutes and truly critical.
  • Link regression cases to past failures or tickets.
  • Separate fast PR gates from heavier nightly regression.