tezvyn:

Smoke Testing: Is This Build Even Worth Testing?

AI-drafted, machine-checkedSource: Wikipedia: Smoke testing (software)beginner

Smoke testing asks: 'Is this build so broken it's not even worth testing?' It's a quick, shallow check of critical functions, run on every new build before more exhaustive QA. The footgun is thinking a passed smoke test means the build is bug-free.

WHY IT EXISTS Full test suites are slow and expensive to run. Committing engineering or QA resources to a fundamentally broken software build is a waste of time. Smoke testing was created to provide a rapid, low-cost signal to 'fail fast' and reject a bad build before it consumes valuable team resources.

THE MENTAL MODEL Think of a smoke test as a gatekeeper for your main testing process. Before a new software build is allowed into the 'testing arena,' the smoke test performs a quick check. Does the application start? Can a user log in? If these basic actions fail, the gate stays shut, and the build is sent back to developers. It doesn't check every corner of the arena, just the entrance.

HOW IT WORKS A smoke test is a curated subset of test cases covering the most important, non-negotiable functionalities of a system. These tests are typically automated and integrated into the build process. When a new build is created, a Continuous Integration (CI) server automatically triggers the smoke test suite. If any test fails, the build is marked as 'failed' and rejected, often preventing it from being deployed to a testing environment or merged into the main branch.

WHEN TO USE IT Use smoke tests as a 'build verification test' in any project with a CI pipeline. They are essential for providing rapid feedback on every new build of a component or system. They are particularly valuable as a preliminary check before handing a build over to a dedicated QA team or before deploying to a staging environment.

WHEN NOT TO USE IT A smoke test is not a replacement for comprehensive regression testing, integration testing, or user acceptance testing. Do not rely on it as the sole measure of software quality or as the final gate before a production release. It's a preliminary check, not a final sign-off.

ONE CANONICAL EXAMPLE A web application's CI pipeline finishes a new build. The smoke test suite automatically runs. It checks three things: first, that the web server starts and returns a 200 OK status on the homepage; second, that a test user can log in successfully; and third, that the user's main dashboard loads without crashing. If all three pass, the build is deployed to a staging environment for full QA. If any fail, the build is rejected, and developers are notified.

Read the original → en.wikipedia.org

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.