A key difference between sanity testing vs smoke testing is the depth of the testing objectives:
Sanity testing has a bigger scope than smoke testing. However, sanity testing's scope is smaller than regression testing.
|
Smoke testing |
Sanity testing |
|
Executed on initial/unstable builds |
Performed on stable builds |
|
Verifies the very basic features |
Verifies that the bugs have been fixed in the received build and no further issues are introduced |
|
Verify if the software works at all |
Verify several specific modules, or the modules impacted by code change |
|
Can be carried out by both testers and developers |
Carried out by testers |
|
A subset of acceptance testing |
A subset of regression testing |
|
Done when there is a new build |
Done after several changes have been made to the previous build |
Smoke testing, also known as build verification testing or build acceptance testing, is a non-exhaustive testing type that ensures the proper function of basic components of a single build.
For example, smoke tests on a calculator should only involve checking if 1 + 1 = 2. It is the most basic feature of any calculator.
If the result is 3, there is no need for further testing, since its most basic features are not even working properly. The solution is to send it back to the development team for troubleshooting instead of trying to test if the quadratic formula works.
The term “smoke testing” is believed to have originated from the plumbing industry, where plumbers would blow smoke into the water pipes to identify cracks in the pipe before fixing.
The term is then carried into the software testing world, and it has a similar meaning. In this sense, smoke testing is done to make sure that the very basic functionality of the product works, if at all. If those very basic features do not work, there is no point in continuing testing or building.
Smoke testing leaves little room for major errors to ripple through and become harder to fix down the line.
Commonly takes place after code reviews, if the initial build passes the smoke tests, it is qualified for further functional testing. If the smoke tests fail, the build is rejected and handed back to the development team.
The standard process is illustrated below.
To achieve the best results when executing smoke testing, we should follow these common practices:
Sanity testing verifies critical functionality after changes like bug fixes or enhancements. It ensures the application works as expected before further testing proceeds.
There are also many similarities between sanity testing and regression testing. They are all performed to check if the system still works well after updates.
The biggest difference is their scope: sanity testing only targets specific fixes, while regression testing ensures overall application stability after updates. Sanity is quick; regression is comprehensive.
Here is a simple comparison table for you:
Katalon accompanies your QA team throughout the entire software testing life cycle.
With Katalon, you can write tests in 3 modes (no-code, low-code, full-code), manage tests in a centralized dashboard, schedule test runs, execute tests across environments, and generate detailed reports.
And all of that can be done for web testing, API testing, and mobile application testing. In other words, Katalon is a centralized platform for all of your testing activities.
Let's take a look at Katalon in action:
Feature highlights:
Automatic test maintenance
Website: Katalon
Price: Free and flexible paid plans