Smoke and sanity are the two most confusing forms of testing and often used interchangeably. In this post, we will see the fine difference between the two.
Smoke testing got its name from hardware/electrical device testing practices wherein a new device was used to checked/operated to see if it doesn’t smoke. In software testing, smoke testing is done to ensure that normal functionalities are working fine and if the release is stable enough to be tested.
Sanity testing is a software testing technique in which a particular functionality of the software is verified for its correctness instead of performing regression on the complete build. In this way, we can say that sanity testing is a subset of regression testing with the intention of saving time.
|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 the particular component 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|
More Difference Between
That’s all I have in this section, please let us know in the comments if you have any questions. Also, check our software testing tutorial 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 find him on LinkedIn.