Difference between Sanity, Smoke and Regression testing
Nowadays Quality assurance engineers perform different kinds of testings to make sure that the delivered product has minimal bugs. So from the developer published build in his local to when the build goes into production we need to ensure quality in each step. To ensure this quality we do different kinds of testing for different purposes like smoke testing, sanity testing, regression testing, etc.
In the below video I have explained the difference between sanity, smoke, and regression testing. Also explained when to perform these tests with the examples. Don't forget to subscribe to the channel.
Smoke Testing
- When a developer publishes a new build, especially in the initial phase one needs to do quick regression to check if the build is stable enough to do further testing. For this, mostly the dev team (or QA team sometimes) performs automation or manual testing. This testing is more surface testing and it should not take much time.
- Interestingly it is called smoke testing as in the old days electricians used to perform testing by switching on the current and making sure no smoke around. (I got to know this from Reddit!!)
Sanity Testing
- When a build is published which has changes like a new feature is added or a bug is fixed, before testing those tests QA is used to check if the feature is added or bug fixed in the build or not. After that tester performs other tests. This testing is called sanity testing. So sanity testing is all about QA to make sure the published build has the new code and some high-level testing around.
- So sanity testing should be performed for each build once new feature testing started. Most of the testing teams have automation suit to perform sanity but mostly they used to do smoke testing and not sanity!! Sometimes when parallel automation is going on then QA may have sanity automation.
Regression Testing
- When some critical change is done or a new feature is added which could affect past functionalities, to make sure all older functionalities working fine, QA performs regression testing. Most of the QA teams have regression cycles to make sure nothing is broken in older functionalities.
- If there is an automation suite then most of the teams run it overnight on the stable builds to make sure nothing is broken around.
- So You can say regression testing is in-depth testing whereas sanity and smoke testing are just surface testing. Sanity and smoke testing are the subsets of the regression testing.
No comments