Smoke and Sanity testing both are bit mystify topics in Software Testing, So in this tutorial, we will see the Difference and Advantages of both Smoke and Sanity Testing.
It is also known as build verification testing which is another type of manual testing.The aim of this testing is to get the build which does not have any breakage and the most important functionality in the application should be working fine.
It is done to ensure whether the build is enough stable to proceed with further testing or not.
Smoke Testing Example:
Assume that there are 4 modules in a Project namely, Login, Blog creation, Offline messaging system, etc. Now, the developer will first perform smoke testing on these modules as in whether he is able to login or not, post log in whether he is able to create tasks like Blog creation, messaging etc. or not.
So, it is first done by developer who checks all the major functionality of these modules before releasing this build to QA team.
Advantages of Smoke Testing:
- It exposes the module integration issues.
- It helps the tester to identify bugs at an early stage.
- It acts as a benchmark to ensure that build is ready for further testing.
- It saves time,effort and cost.
It is another type of Manual testing done by testers.The aim of this testing is to check and ensures that build does not have bugs after a minor change in the code. It is done to ensure whether the functionality is as per the expectations or not.
Sanity Testing Example:
Assume that in a Project, Login is one of the functionality and testing team observes that Username is accepting 6 alphanumeric characters which is against the requirement. As per requirement, Username should not accept any alphanumeric characters which are less than 6. So here, it is a bug. This bug is now reported to the development team to fix it. When this bug is fixed, development team passed this to testing team. Now testing team checks that this fix does not affect the functionality of the other modules in the application.
Because of short time, testing team only checks the major functionality and that is why it is also known as Surface level testing.
Advantages of Sanity Testing:
- As it focuses on one or few areas of functionality, it saves time and effort.
- It ensures that a small change in the code or application is working fine after a minor change.
- It helps in finding the dependent missing objects.
Smoke Testing Vs Sanity Testing:
It is like a general check up.
It is like a specialised check up.
It is a subset of Regression Testing.
It is a subset of Acceptance Testing.
It is usually performed by Developers and Testers.
It is usually performed by Testers.
A smoke test is usually scripted.
It is usually not scripted.
It is performed before any detail regression/fuctional testing.
This testing is done when developers modifies the build with minor change in code or functionality.
The objective is to discard any broken application.
The Objective is to check that the recommended functionality works as per the expectations.