Sanity Vs Regression Vs Smoke
Difference between Smoke Testing Vs Sanity Testing Vs Regression Testing
| Smoke Testing | Sanity Testing |
|---|---|
| Smoke testing means to verify (basic) that the implementations done in a build are working fine. | Sanity testing means to verify the newly added functionalities, bugs etc. are working fine. |
| This is the first testing on the initial build. | Done when the build is relatively stable. |
| Done on every build. | Done on stable builds post regression. |
| Regression Testing | Sanity Testing |
|---|---|
| Regression testing is done to verify that the complete system and bug fixes are working fine. | Sanity testing is done at random to verify that each functionality is working as expected. |
| Every tiniest part is regressed in this testing. | This is not a planned testing and is done only when there’s a time crunch. |
| It is a well elaborate and planned testing. | This is not a planned testing and is done only when there’s a time crunch. |
| An appropriately designed suite of test cases is created for this testing. | It may not every time be possible to create the test cases; a rough set of test cases is created usually. |
| This includes in-depth verification of functionality, UI, performance, browser/OS testing etc. i.e. every aspect of the system is regressed. | This mainly includes verification of business rules, functionality. |
| This is a wide and deep testing. | This is a wide and shallow testing. |
| This testing is at times scheduled for weeks or even month(s). | This mostly spans over 2-3 days max. |

Reference
Difference between Smoke Testing Vs Sanity Testing Vs Regression Testing