Course Process

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