Smoke and Sanity Testing becomes important after build release. There is confusion among novice testers when it comes to the difference between smoke and sanity testing.
Smoke testing got its name from the testing practice of electrical appliances. In the past, the first thing to do while testing an electrical device was to plug it into a power outlet and see if it emits smoke or not.
This was considered to be a preliminary test. If there would be no smoke, then it used to mean that the electrical circuits are not faulty and the further testing of the device can be carried out.
Pros of Smoke Testing
· Smoke testing helps to find bugs in the early stages of testing.
· It improves the quality of risks and reduces the risks.
· Smoke testing can be completed in a short span of time and quickly.
· It helps in checking that the issues fixed in the previous build are NOT affecting the major functionalities of the application.
· Smoke testing does not require more test cases.
Cons of Smoke Testing
· The smoke tests do not cover all functionalities of the application.
· Smoke tests are non-exhaustive testing with fewer test cases; they cannot identify the critical bugs and performance issues in the application.
· Smoke tests don’t perform negative scenarios and with invalid data.
Sanity testing is a software testing technique in which a particular functionality of the application is verified instead of carrying out regression on the complete application.
In the case of sanity testing, we check if a fix has not affected the previously working functionalities of the application. But in lesser time and with a lesser number of test cases, focusing on some critical parts only.
Pros of Sanity Testing
· Sanity testing helps in identifying the issues quickly and reporting the issues immediately.
· No documentation is required as the test cases are carried out in a lesser time when compared to other test types.
· If any defects are found during smoke testing, the build gets rejected, saving time and effort.
· The execution of sanity testing will help in saving unnecessary testing effort and time because it is only focused on one or a few functionality areas.
Cons of Sanity Testing
· Sanity testing focuses only on the commands and functions of the application.
· Sanity tests focus only on the limited features so it is difficult to identify major bugs during sanity testing.
· As the sanity tests are unscripted, future references are not available.
· All test cases are not covered under sanity tests.
The common thing among both Sanity and Smoke tests is that they are employed to avoid wasting time and effort by quickly checking whether or not an application is fit for more rigorous testing.