100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

Smoke Testing

BeginnerTechnique3.8K learners

Smoke testing is a quick, shallow set of tests run after a build or deployment to verify that the most critical functionality works and the system is stable enough for further, more thorough testing.

Definition

Smoke testing is a quick, shallow set of tests run after a build or deployment to verify that the most critical functionality works and the system is stable enough for further, more thorough testing.

Overview

The term originates from hardware testing, where powering on a newly assembled circuit and checking that it doesn't literally start smoking is the most basic possible sanity check before anything more detailed is attempted. Applied to software, a smoke test is the equivalent minimal check: does the application start up, does the homepage load, can a user log in, does the core critical path work at all? It's intentionally shallow and fast — minutes, not hours — because its purpose is to catch catastrophic, build-breaking failures immediately, not to validate detailed correctness. Smoke tests are typically the very first automated check run against a new build or right after a deployment, before more expensive test suites like full regression or end-to-end tests are triggered. If the smoke test fails, there's no point running the rest of the suite — the build is fundamentally broken, and the team gets that signal in minutes rather than waiting for a lengthy full test run to fail on step one. This makes smoke testing a practical gatekeeper in CI/CD pipelines, and in production it's also used post-deployment as an immediate health check, sometimes triggering an automatic rollback if the smoke test fails against the newly deployed version. Because smoke tests are deliberately narrow, they're not a substitute for regression testing or thorough functional testing — they only confirm the system is basically alive and its most essential paths work, not that every feature behaves correctly. Teams typically maintain a small, stable set of smoke tests (often a dozen or fewer scenarios) covering login, core navigation, and the one or two workflows the business considers non-negotiable.

Key Concepts

  • A small, fast set of tests verifying the most critical functionality only
  • Run immediately after a build or deployment, before more thorough test suites
  • Acts as a gatekeeper — a failure blocks further, more expensive testing from running
  • Used in production as a post-deployment health check, sometimes triggering rollback
  • Intentionally shallow, prioritizing speed over depth of coverage
  • Typically covers login, startup, and one or two business-critical workflows
  • Distinct from regression testing, which aims for broader functional coverage

Use Cases

Verifying a new build isn't fundamentally broken before running the full test suite
Gating CI/CD pipelines so expensive test stages don't run against a broken build
Confirming a production deployment succeeded and the application is responsive
Triggering automatic rollback when a post-deployment smoke test fails
Providing fast feedback to developers immediately after a build completes
Establishing a minimal confidence check before manual QA begins

Frequently Asked Questions

From the Blog