Smoke vs Sanity Testing
Smoke and Sanity are the basic testing concepts that are followed in the different stages of the software testing life cycle. They come into the picture after the build is deployed. It is important to understand the basics of Smoke, Sanity, and good Quality Assurance results. Let try to understand software build before seeing each of them in detail.
Smoke Testing is done to verify the build received from the development team is testable or not. It is performed on Software build to check the important and critical functionalities of the application are working fine. It is done at the early stage before regression testing or any other detailed testing is performed on the software build. The purpose of smoke testing is to reject badly performing build so that the testing team does not have to waste time in the installation or testing of a software application.
Sanity testing is done to ensure the major functionalities of the application is working correctly. It is performed after deploying a new software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. It is also called as a subset of Regression testing. Sanity testing is also a Surface Level Testing.
Difference between Smoke and Sanity Testing
|Smoke Testing||Sanity Testing|
|It is performed on initial builds which might be stable or unstable||It is performed on stable builds|
|It tests the stability of the entire new build||It tests the stability of new functionality or code changes made in the build|
|It covers testing of important functionalities of the application||It covers testing of functionalities where code changes or bug fixing is been done|
|Performed in manual run||Performed in manual run|
|It is done every time after a new build is received to identify if the build received is testable or not||Sanity Test is done during the release phase to check for the main functionalities of the application|