Smoke Testing vs Sanity Testing vs Regression Testing

Smoke Testing

Definition: Smoke testing is a quick check that the basic and critical functions of an application work after a new build or deployment. It answers: “Is the build stable enough for deeper testing?”

Key Points

  • Executed immediately after a new build is deployed.
  • Covers core paths only — broad but shallow.
  • If it fails, the build is rejected; no further testing proceeds.
  • Often automated in CI/CD; sometimes run by developers or QA.

Analogy

Like turning on a new appliance: if you see smoke, you don’t test every feature.

Example (E-commerce)

  • App starts and homepage loads.
  • User can log in / sign up.
  • Search returns results.
  • Item can be added to cart.
  • Checkout can be initiated.

Smoke vs. Sanity vs. Regression Testing

Sanity Testing

Purpose: Verify a specific fix or small change works.

  • Narrow and deep; focuses only on affected area.
  • Run after a bug fix or minor enhancement.
  • If it fails, the build isn’t ready for broader testing.
  • Example: After fixing a “checkout button” bug, validate the checkout flow only.

Regression Testing

Purpose: Ensure new changes haven’t broken existing features.

  • Broad and deep; covers old and new functionality.
  • Run after builds, fixes, and enhancements; commonly automated suites.
  • Example: After adding PayPal, re-test credit card, wallet, login, search, etc.

Quick Comparison

Feature Smoke Sanity Regression
Purpose Basic build stability Specific fix/enhancement works No old features broken
Scope Broad, shallow Narrow, deep Broad & deep
When Right after new build After minor changes After changes/releases
Performed by QA/Dev (often CI) QA QA (often automated)
Decision Is build testable? Is area stable? Is product release-ready?
Effort Low Medium High

TL;DR

Smoke → “Can we test this build?”
Sanity → “Did that specific change work?”
Regression → “Did anything else break?”

Tip: In CI/CD, keep smoke checks fast (minutes), run sanity on targeted areas per change, and maintain a robust automated regression suite for confidence before release.

Popular posts from this blog

Evolution of computers and Computers today

Convert into binary

Processor Types and Specifications