Smoke testing and Sanity testing two most confusing topics in software testing Services. There are a lot of explanations and definitions but this article is to clear the confusion between both the testing methods.
Differentiating Smoke & Sanity Testing with the help of above diagram
Software Build Definition
The term build is the process by which source code is converted to a stand-alone form that can be run on any system.
The most important step of a software build is the compilation process. In compilation process the source code files are converted into executable code. Usually, build tool manages the process of building software.
Builds are created when a certain point in development has been reached or the code has been predictable ready for implementation, either for testing or release.
A software build is also known as code build.
What is Smoke Testing?
Smoke Testing is one of the popular software testing services performed after software build to find out that the critical functionalities of the program is working fine.
It is performed “before” any detailed functional or regression testing on the software build.
The purpose of this testing is to discard any broken application, so that the QA team does involve and waste time in installing and testing the software application.
In this, the test cases selected cover the important functionality of the system. The objective is not to perform in-depth testing, but to verify if the critical functionalities of the system are working fine.
What is Sanity Testing?
Sanity testing is performed after receiving a software build, with minor changes in code, or functionality, to confirm that the bugs have been fixed and there are no further issues introduced due to the new changes. The objective is to determine that the recommended functionality works as expected. If the test fails, the build is rejected to save the time and costs involved in a more severe testing.
|SMOKE TESTING||SANITY TESTING|
|Smoke Testing is performed to ascertain that the critical functionalities of the program is working fine||Sanity Testing is done to check the new functionality I bugs have been fixed|
|The objective of this testing is to verify the “stability” of the system in order to proceed with more rigorous testing||The objective of the testing is to verify the “rationality. of the system in order to proceed with more rigorous testing|
|This testing is performed by the developers or testers||Sanity testing is usually performed by testers|
|Smoke testing is usually documented or scripted||Sanity testing is usually not documented and is unscripted|
|Smoke testing is a subset of Regression testing||Sanity testing is a subset of Acceptance testing|
|Smoke testing exercises the entire system from end to end||Sanity testing exercises only the particular component of the entire system|
|Smoke testing is like General Health Check Up||Sanity Testing is like specialized health check up|
Hope this article was helpful to understand the basic difference between smoke & sanity testing.
Please comment with your suggestions on the article.