Smoke test

Catch critical failures early – how to verify every build with confidence

On this page

Definition: What is a “smoke test”?

A smoke test (also known as a build verification test or BVT) is a type of test that checks the fundamental core functions of an application after every new software build. The goal is to detect critical failures as early as possible — before more intensive test types such as regression tests or integration tests are initiated. The term originates from the electronics industry: when a new device was powered on for the first time, it was considered to have passed if no smoke appeared. In software development, the equivalent question is: does the application work at a basic level, or is the build so broken that further testing makes no sense? A smoke test typically covers the happy path of the most important use cases and acts as the first quality gate in a CI/CD pipeline. It is not a comprehensive functional test, but a quick sanity check with high signal value for the entire QA team.

Practical examples of smoke tests with QF-Test

QF-Test helps testers and developers integrate smoke tests as an automated quality gate into existing build and deployment processes — quickly, reliably, and with minimal maintenance overhead.

Practical recommendations:

  • Smoke test suite as a CI trigger: Define a dedicated smoke test suite in QF-Test covering the most critical happy-path scenarios and integrate it as the first automated step in your CI pipeline — so broken builds are caught immediately. Using QF-Test in CI systems

  • Smoke tests as a precondition for regression testing: Use smoke tests as an entry filter before the full regression run — if the smoke test fails, the costly regression suite is not executed, saving time and resources. Regression tests with QF-Test

  • Automated verification of core UI functionality: Use QF-Test to automate the most important UI interactions — login, navigation, central workflows — as stable smoke tests that reproducibly pass or raise targeted alerts after every build. UI testing with QF-Test

  • Embedding smoke tests in your test automation strategy: Make smoke tests a permanent part of your overall test automation strategy so that every release cycle starts with a defined quality check. Test automation with QF-Test

  • Positioning smoke tests within the overall test strategy: Understand smoke tests as the first stage in the interplay of test types — from unit tests and integration tests through to full system testing. Software testing basics

Goals of smoke tests

Using smoke tests serves several key objectives:

  • Rapid detection of critical failures directly after a build — before more intensive tests are started
  • Verification of basic core functionality (happy path) with every deployment
  • Acting as an automated quality gate in CI/CD pipelines
  • Resource savings by failing fast on broken builds before an expensive regression run is triggered
  • Increased test stability and a shorter feedback loop for developers
  • Building confidence in every new release candidate before the full test suite is executed

These goals help testers, developers, and decision-makers efficiently balance testing effort with release confidence.

How does a smoke test work?

A smoke test follows a clear, lean process designed for maximum speed with minimal scope:

  • Selecting the most critical core functions of the application (e.g., login, main navigation, central workflows)
  • Creating a dedicated smoke test suite with representative happy-path scenarios
  • Automatically running the suite after every new build or merge in the CI/CD pipeline
  • Evaluating the result: if the build passes the smoke test, further test stages (regression tests, integration tests) are unlocked — if it fails, the build is marked as unstable and rejected
  • Notifying the team immediately on failure so the root cause can be fixed without delay

Smoke tests are intentionally narrow: they do not check every feature, only the indispensable ones. Combined with test automation and CI/CD integration, they form the foundation of an efficient, fast quality assurance process.

Interested in QF-Test?

Tell us about yourself and we'll connect you with a QF-Test expert who can share more about our product.

Running smoke tests

A structured approach is recommended for operational implementation:

Use cases

  • After every software build or merge request in the CI/CD pipeline
  • Before starting extensive regression or system tests, as an entry filter
  • When deploying to new test environments or staging systems
  • After critical hotfixes, to immediately verify that the application is still operational

Prerequisites

  • A defined, stable build process with a versioned artifact
  • A clear list of the most critical core functions (happy path) that define the smoke test scope
  • A test environment that supports automation (e.g., with QF-Test and CI integration)
  • Up-to-date test data for the core scenarios

Step-by-step execution

  • Define the scope: Together with the team, identify the 5–15 most critical test cases without which a build is considered unusable
  • Create the smoke test suite: Consolidate these test cases in a dedicated suite and keep it separate from the regression suite
  • Configure the CI trigger: Integrate the suite as the first automated step in the pipeline, executed on every build
  • Define the quality gate: Specify the failure threshold at which a build is considered failed and the pipeline stops
  • Evaluate and communicate results: Ensure the team is notified immediately on failure

Common pitfalls

  • Scope creep: when the smoke test accumulates too many test cases over time, it loses its speed advantage over a full regression run
  • Flaky tests: unreliable smoke tests that occasionally fail without a real defect erode team confidence in the quality gate; invest in stable test automation — for example using robust component recognition mechanisms as provided by QF-Test — and eliminate flakiness from the smoke suite consistently
  • Confusion with sanity testing: a smoke test verifies basic operability after a build; a sanity test checks a specific fix or new feature — both differ in scope and timing

Combination with other methods

  • Regression tests: the smoke test is the gatekeeper — once it passes, the full regression run is triggered
  • Exploratory testing: useful after a passing smoke test for new or modified functionality
  • End-to-end tests: complement the smoke test with deeper scenarios in later pipeline stages

Advantages of smoke tests

  • Fast feedback for developers immediately after a build — failures become visible within minutes rather than hours
  • Resource savings through early pipeline termination on broken builds
  • A clear quality gate increases release confidence without high testing overhead
  • Easy to automate and seamlessly integrable into existing CI/CD workflows
  • Increased team confidence in every new build through reliable baseline validation

Challenges and solutions for smoke tests

Scope creep — the smoke test grows too large: Over time, teams tend to add more and more test cases to the smoke test suite. The result: the suite slows down and loses its advantage as a fast entry filter. Actively limit the smoke test scope through regular reviews and keep the runtime below a defined threshold (e.g., 10–15 minutes).

Flaky tests in the smoke suite: When smoke tests are unreliable and occasionally fail without a genuine defect, the team loses confidence in the quality gate. Invest in stable test automation — for example, using robust component recognition as provided by QF-Test — and eliminate flakiness from the smoke suite consistently.

Confusion between smoke test and sanity test: In many teams, both terms are used interchangeably, even though they differ in purpose and timing. Clarify the definitions within the team: smoke test = build verification after every build; sanity test = targeted check after a specific fix or feature release.

Lack of CI/CD pipeline integration: Smoke tests that are only run manually lose their main advantage — speed. Automate execution consistently as a CI trigger and make sure no build proceeds to further test stages without a passing smoke test.

Best practice

Conclusion

Smoke tests are an essential part of modern test automation strategies. As a fast quality gate after every build, they detect critical failures early, conserve resources, and increase release confidence — without high testing overhead. Combined with a CI/CD pipeline and a reliable test automation tool like QF-Test, smoke tests can be operated stably, with minimal maintenance, and fully automated. This ensures that every new build moves to the next test stage with the confidence it deserves.

Frequently asked questions (FAQ)

What is the difference between a smoke test and a sanity test?

Both tests are short and focused — but they serve different purposes at different times.

A smoke test checks the basic operability of the entire application after every new build — it answers the question: “Is the build stable enough for further testing?” A sanity test, on the other hand, is applied specifically after a particular fix or new feature and verifies whether that specific change works correctly. Smoke tests are broader in scope; sanity tests are narrower and deeper.

How many test cases should a smoke test include?

As few as possible, as many as necessary — the scope determines the value.

There is no fixed number, but the general rule of thumb is: a smoke test should complete within 10–15 minutes. This typically corresponds to 5–20 test cases covering only the happy path of the absolutely critical core functions. Anything beyond this scope belongs in the regression test suite — not the smoke test.

Can smoke tests be automated with QF-Test and integrated into CI?

Yes — QF-Test supports fully automated execution in CI/CD pipelines.

With QF-Test, smoke tests can be defined as a dedicated test suite and integrated automatically into CI systems such as Jenkins, GitLab CI, or TeamCity via batch mode. After every build, the suite runs automatically, the result is evaluated as a quality gate, and the team is notified immediately on failure — without any manual intervention.

Interested in QF-Test?

Tell us about yourself and we'll connect you with a QF-Test expert who can share more about our product.

We use "Matomo" cookies to anonymously evaluate your visit to our website. For this we need your consent, which is valid for twelve months.

Cookie Configuration

Functional cookies

We use functional cookies to ensure the basic functionality of the website.

Performance and statistics cookies

We use Matomo for analyzing and optimizing our website. Cookies permit an anonymous collection of information that help us offering you a clear and user-friendly visit of our web pages.

Cookie details
Description Vendor Lifetime Type Purpose
_pk_id Matomo 13 Months HTTP Contains a unique, pseudonymized visitor ID internal to Matomo for recognizing returning visitors.
_pk_ref Matomo 6 Months HTTP Used to track from which website the anonymized user proceeded to our website.
_pk_ses Matomo 1 Day HTTP The Matomo session cookie is used to track the visitor's page requests during the session.
_pk_testcookie Matomo Session HTTP Used to check whether the visitor's browser supports cookies.
_pk_cvar Matomo 30 Minutes HTTP Temporarily store data about the visit.
_pk_hsr Matomo 30 Minutes HTTP Temporarily store data about the visit.