Definition
Smoke testing in software development is a quick, preliminary check to ensure that the core functionality of a new software build is working as expected and that the build is stable enough for more in-depth testing. It’s a way to quickly identify major issues that would prevent further testing and help determine if the build is worth the effort.

Purpose
- It helps catch critical issues early in the development cycle, saving time and resources by preventing further testing on unstable builds.
- Smoke testing builds confidence in the stability of the software for both development and QA teams.
- It’s a fast and efficient way to identify showstopper bugs and prevent wasting time on testing a broken build.
- By identifying issues early, smoke testing can prevent costly rework later in the development process.
When to apply
- Smoke tests are usually performed after a new build or code change is integrated into the existing system.
- It is generally executed before running more in-depth regression tests to ensure that critical functionalities are intact.
- When new features or fixes are added to the software, smoke testing verifies that the changes haven’t introduced any major issues.
