Code quality and technical debt

Smoke testing

Also known as Build verification testing, Smoke tests

By WeavePublished 2 min read

Definition

Smoke testing is a brief set of checks that determines whether a build or deployment is stable enough for more detailed testing. It typically exercises a few critical paths and fails fast when a basic capability is unavailable.

Definition

A smoke test answers an operationally simple question: is this build or deployment usable enough to justify deeper testing? The suite is intentionally narrow. It may check that the application starts, a health endpoint responds, a user can authenticate, and one essential operation completes.

When to run smoke tests

Smoke tests are most useful immediately after a build, deployment, or environment change. They can stop an obviously unusable artifact from moving to a longer test stage or from receiving broader manual attention. Because the suite runs early, its checks should be fast, deterministic, and easy to diagnose.

The exact scope depends on the product. A background worker may need to consume a representative message, while a web application may need a basic page load and authenticated request. Document the boundary so the team understands what a passing smoke result means.

Example

After deploying an order service, a smoke suite can verify that the service starts, its health endpoint reports ready, a test account can authenticate, and a small order can be created in an isolated environment. If the service cannot connect to its database, the suite stops before slower scenario tests begin.

These checks do not need to exercise every discount rule, error response, or permission combination. Those belong in more complete test layers.

Limitations

Smoke testing is a build or deployment gate, not a complete quality assessment. A green smoke suite can miss subtle defects, edge cases, performance degradation, and broken behavior outside the selected paths. Keep it small enough to provide early feedback, then rely on regression, integration, system, and exploratory tests for broader confidence.

How this relates to Weave

Weave gives teams delivery context for smoke-test feedback by connecting checks with pull requests, deployments, rework, and change outcomes. This can help identify whether a build repeatedly fails at a basic gate or whether smoke checks are adding avoidable delay. Weave does not run the checks or decide which paths are critical, so the test definition and environment diagnostics remain the source of truth.

Explore Engineering intelligence

Sources and further reading

  1. Certified Tester Foundation Level, ISTQB