Testing is a big challenge. A tiny, disregarded bug can smash the core functionality of the product. To verify that planned functionality of the product is functioning as expected varied testing phases are engrossed. Sanity test or Sanity check is one kind of basic test which is carried out after comprehensive regression testing is ended. An objective of the Sanity testing is to get persuaded any repairs or changes after regression testing does not break the core functionality of the product and also the bugs reported in the previous build are fixed. Sanity testing occurs in later stages or end of the product release phase.
Regression testing is a lengthy and time-consuming process and Sanity Testing is used to evade the length and cost involved in regression testing and to ensure that system is stable. Instead of doing whole regression testing the Sanity testing is performed.
Sanity testing is to authenticate whether requirements or specifications are met or not, inspecting all features breadth-first. Several people are incapable to make difference in Sanity testing and Regression testing. In my next few lines, I will clear out the difference in between Sanity Tests and Regression Tests.
- Sanity testing is measured as a subset of regression testing.
- Sanity testing is performed only when testers do not have enough time for testing. Regression testing performs when testers have an adequate amount of time.
- Sanity testing is surface level testing while regression is not.
- Tools can be used to perform Regression testing but on the other side, there is no tool requirement in Sanity testing; it is a manual testing.
- Executions of complete test cases are not mandatory in Sanity testing but regression testing needed complete test case execution.
- Sanity testing is not a script based testing, but regression can be carried out by scripts.
Sanity testing is performed to determine whether an application should be tested for regression. On the other side, Regression testing determines whether the old and new functionalities are working together in the approved manner or not.
Hope these points will help you to clearly understand the Regression and Sanity tests and will help to remove any confusion.
Stand-alone points of Sanity testing:-
- A sanity test is usually non-scripted means not automated.
- Sanity testing has usually narrow and deep scope.
- Sanity testing is a subset of regression testing.
- It is used to determine whether every small subsection of an application meeting to their specifications or not after minor changes.
- Sanity testing is used to check that the requirements of end users are met or not.
What to include in Sanity Test
To determine whether it is rational to continue with further testing we check the major functionality with advanced details in Sanity Testing. What we can include while approaching Sanity testing:
Sanity testing involves only important test cases and each test case should be stable. An application is broken down into multiple sub-modules and while performing testing of each module make certain that sanity testing should cover critical end to end flow for each module. Keep one thing in your mind when you are constructing tests cases in Sanity testing make sure they are adequate for whole application testing and also identified anticipated result.
When to go for sanity checking?
In simple and few words: Once the software is stabilized or after few releases of the product.
Sanity testing appears after the finishing of meticulous regression testing and generally, it occurs once 10 to 15 builds being published. This surface level testing is executed at the time when we got some constancy in the delivered builds. This subset of regression testing comes in the final stages of testing to check the functionality of the product is working all right or as per the expectation.
When to perform Sanity Testing
In the process of multiple testing loops, sanity testing is performed during the later stages of testing cycles after through regression cycles. After any changes in the code or after any minor repair to fix any critical issue, or any kind of functional changes, for example, adding extra features, removing existing functionalities or Bug fixes, Sanity test suite is executed. We also perform sanity testing to check the build potency and to verify the decisive functionalities are not wrecked before running the extensive regression test set. Sanity testing process involves the execution of some of the test cases from Regression test suite to determine whether changes have created any negative impact on the functionality of the application. Sanity testing is followed by Full Regression testing if there is no issue.
To get the better product with minimum defects or bugs make sure your every member of the testing team must possess some mandatory and highly technical skills. He/she must have good experience in System Testing, Regression Testing, Smoke and Sanity Testing, Writing the test scripts with Input criteria and exit criteria’s, experience in executing the Test Script and documenting actual results through clarity in defect history maintenance such as defect classification, Tracking, detailed definition, grouping and summarizing and reporting etc.
Testers prefer and love sanity testing because it offers several benefits.
It saves time and efforts and also unambiguous the decisions to end testing if it cannot pass through even the sanity testing. Sanity testing is mainly focused on new functionality or change and its impacts. Sanity is non-scripted and can perform quickly on the application.
About Author: Sangram is a tech enthusiast, presently working as a Content Expert with Crestech software systems. Tech blogging is his passion, through which he intends to explore the world of software Testing. He doesn’t just write for tech-savvy people, but also for those who find the world of technology intriguing.