Difference between Smoke and Sanity testing seems to be confusing term or concept from most of the testers perspective. Before going to understand the difference between Smoke and Sanity testing, you should know the Smoke and Sanity testing basics.
Smoke Testing:
Smoke testing is the testing to check the basic functionality of newly released build. Smoke testing is also known as Build Verification Test (BVT) and is performed to check the normal health of the build to make sure the stability of the build received for software testing to continue testing or not.
It is done in the beginning of the software testing cycle. It is first level of testing on a newly released build of application at testing team level to check the main functionality of the application and is performed before the detailed functional or regression tests are executed.
It is usually preferred when some minor issues with the application or software and a new build is obtained for testing after fixing of issues instead of full regression, a subset of most basic and important test cases is selected which is used to find issues in particular functionality.
Smoke Testing |
It is a non-detailed and no deep testing. It checks whether crucial functions of a program are working or not. Smoke test is scripted, i.e. either manual test cases or automated scripts for it.
Some basic test cases for Smoke Testing:
1. Application launches successfully
2. GUI response is proper
3. Database connectivity is in place
Advantage:
Smoke testing of the software application is performed to validate whether the build can be accepted for through software testing or not.
Sanity Testing:
Sanity testing is the testing to check main functionality as well as optional functionality of the application. It is detailed testing.
When a new build is obtained after fixing the some minor issues then instead of doing complete regression testing sanity is performed on that build. In general words sanity testing is a subset of regression testing.
Sanity testing is performed after thorough regression testing is completed, to ensure that any defect fixes does not break the core functionality of the product.
Sanity Testing |
It is done towards the end of the product release phase. Sanity testing is performed with an objective to verify that requirements are met on not. A sanity test is normally unscripted.
Sanity testing is a subset of Acceptance testing.
Examples:
- Basic GUI functionality
- Database connectivity
Sanity testing factors:
· Environment issues
e.g Application closing, application getting hang, unable to launch URL
· Exceptional errors
e.g. java.io.exception (some source code will be displayed)
· Urgent severity defects
Advantage:
Sanity testing of the software application is performed to validate whether the requirements are met on not
Difference between Smoke and Sanity testing:
Smoke Testing | Sanity Testing |
Smoke Testing is performed to ensure that the critical functionality of the application are working fine | Sanity Testing is performed to ensure that basic functionality or any defect fixes does not break the core functionality of the product. |
Smoke testing is like normal health check up to a build of an application | Sanity Testing is like specialised health check up to a build of an application |
It is performed towards the start of the product release phase | It is performed towards the end of the product release phase |
Smoke testing is a subset of Regression testing | Sanity testing is a subset of Acceptance testing |
Smoke testing is also called Build verification test | Sanity Testing is also called tester acceptance testing |
Smoke testing is performed with an objective to verify that build is acceptable or not | Sanity testing is performed with an objective to verify that requirements are met on not |
Smoke testing is normally scripted that is either manual test cases or automated scripts used for it | Sanity testing is usually unscripted |
It is a non-detailed and no deep testing | It is a detailed and deep testing |
Smoke testing is performed by the developers or testers | Sanity testing is usually performed by testers |
Smoke testing validates the entire system from end to end | Sanity testing validates the particular component of the entire system |
It is performed before the detailed functional or regression tests are executed | It is performed after the detailed functional or regression tests are executed |
No comments:
Post a Comment