Smoke and sanity testing are the two most confusing forms of testing and are often used interchangeably. Hence, it is one of the most commonly asked software testing interview questions.
In this tutorial, we are going to learn about the difference between smoke and sanity testing. So, let’s begin.
Smoke testing got its name from the testing practice of electrical appliances. In the past, the first thing to do while testing an electrical device was to plug it into a power outlet and see if it emits smoke or not.
This was considered to be a preliminary test. If there would be no smoke then it used to mean that the electrical circuits are not faulty and the further testing of the device can be carried out.
The same is the case with the smoke testing of the softwares. Here, we check if the bare minimum features are working or not. If those features are working fine it means, the build is stable enough for carrying out thorough testing.
For details, check – Smoke Testing
Sanity testing is a software testing technique in which a particular functionality of the application is verified instead of carrying out regression on the complete application.
In this way, we can say that sanity testing is a subset of regression testing. Just like regression testing, in the case of sanity testing, we check if a fix has not affected the previously working functionalities of the application. But in lesser time and with a lesser number of test cases, focussing on some critical parts only.
For details, check – Sanity Testing
Smoke Testing vs Sanity Testing
|Smoke Testing||Sanity Testing|
|Smoke testing is a shallow and wide approach of testing.||Sanity testing is a narrow and deep approach of testing.|
|Smoke testing is done to ensure that the build is good enough to be considered for carrying on full-fledged testing.||Sanity testing is done to ensure that after a new fix a particular component or feature of the application is working fine.|
|We usually have documented smoke tests i.e. there are some tests identified as smoke tests. These are tests are usually(preferably) automated.||Sanity tests are generally not automated or even documented as test cases.|
|Smoke checks the overall components of the system.||Sanity checks the specific functionality of the system.|
|It can be considered as a general health checkup of the application under test.||It can be considered as a specific health checkup of the application under test.|
More Difference Between
That’s all we have in this article on smoke testing vs sanity testing. Please let us know in the comments if you have any questions. Also, check our software testing tutorial series here.
Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can connect with him on LinkedIn.
3 thoughts on “Difference between Smoke and Sanity Testing”
The Link for System and Integration testing difference is landing on a incorrect page showing difference between smoke and sanity. Please correct it
Thanks a lot, Diksha. Link corrected.
Smoke and sanity testing are both important in the software testing process, but they serve different purposes. Smoke testing is typically used to determine if a build is stable enough to be worth testing more thoroughly. Sanity testing is then used to verify that a particular feature or functionality is working as expected.