Smoke testing and Sanity testing two most confusing topics in software testing. 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 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.
Hope this article was helpful to understand the basic difference between smoke & sanity testing.
Please comment with your suggestions on the article.