Smoke testing is a preliminary testing technique in software development that aims to quickly verify the core functionality of a software build. It acts as an initial “health check” to determine if the build is stable enough for further, more rigorous testing.

Concept and Purpose

Rapid Validation

  • The primary goal of smoke testing is to provide rapid feedback on the stability of a new build.
  • It ensures that the fundamental features are working as expected, preventing wasted time on testing a fundamentally broken build.

Subset of Functionality

  • Smoke tests cover a minimal set of critical functionalities, focusing on the core pathways of the application.
  • They are not intended to be exhaustive but rather to identify major defects early in the development cycle.

Build Verification

  • Smoke testing is often performed after a new build is deployed to a testing environment.
  • It serves as a gatekeeper, preventing unstable builds from progressing to more in-depth testing phases.

Regression Prevention

  • It can also be used after bug fixes or code changes to ensure that those changes have not broken existing core functionality.