Google-Analyics-4-Banner
Get to Know Google Analytics 4: A Complete Guide
22nd March 2023
apple developer
Enrolling in the Apple Developer
1st April 2023

Sanity testing is a type of software testing that aims to quickly evaluate whether the basic functionality of a new software build is working correctly or not. It is usually performed on builds that are in the initial stages of development, before the full regression testing is performed. Sanity testing is limited in scope and typically focuses on critical functionality and does not aim to uncover every possible error or bug in the system. It is a quick and lightweight way to ensure that the software is functioning as expected before further testing is conducted.

Sanity Testing is a subset of regression testing. Sanity testing is performed to ensure that the code changes that are made are working as properly. Sanity testing is a stoppage to check whether testing for the build can proceed or not. The focus of the team during sanity testing process is to validate the functionality of the application and not detailed testing. Sanity testing is generally performed on build where the production deployment is required immediately like a critical bug fix. 

Functionality of Sanity Testing: 

The functionality of sanity testing is to verify that the critical functionality of a software build is working correctly, without performing a comprehensive analysis of the entire system. Sanity testing typically involves testing the most important and frequently used features of the software to ensure that they are functioning as expected. The purpose of sanity testing is to quickly identify any major issues that would prevent the software from being used, rather than to uncover every possible error or bug in the system. Sanity testing may also include verifying the user interface, data input and output, and other key elements of the software. The scope of sanity testing is limited, and it is typically performed on builds that are in the early stages of development before full regression testing is conducted.
The major functionality of sanity testing is to determine that the changes or the proposed functionality are working as expected. If the sanity test fails, software product is rejected by the testing team to save time and money. It is performed only after the software product has passed the smoke test and Quality Assurance team has accepted for further testing. 

Example of Sanity Testing: 
In an e-commerce project, main modules are login page, home page, user profile page, user registration etc. There is a defect in the login page when the password field accepts less than four alpha numeric characters and the requirement mentions that this password field should not be below eight characters. Hence, the defect is reported by the testing team to the development team to resolve it. Then the development team fixes the reported defect and sends it to the testing team for clearance. Then the testing team checks whether the changes done are working fine or not. It is also determined if it does have an impact on other related functionalities. Now there is a functionality to update the password in the user profile page. As part of the sanity testing, login page is validated as well as the profile page to ensure that the checks are working fine at both the places. 

Features of Sanity Testing:

  1. Subset of Regression Testing: 
    Sanity testing is a subset of regression testing and focuses on the smaller section of the application.
  2. Unscripted: 
    Most of the times sanity testing is not scripted.
  3. Not documented: 
    Usually sanity testing is undocumented.
  4. Narrow and deep: 
    Sanity testing is narrow and deep approach of testing where limited functionalities are covered deeply.
  5. Performed by testers: 
    Sanity testing is normally performed by testers.

Advantages of Sanity Testing:

  • Sanity testing helps in quickly identify defects in the core functionality.
  • It can be carried out in lesser time as no documentation is required for sanity testing.
  • If the defects are found during sanity testing, project is rejected that is helpful in saving time for execution of regression tests.
  • This testing technique is not so expensive when compared to another types of testing.
  • It helps to identify the dependent missing objects.
  • It is used to verify a small functionality of the system application whether it is still working or not even after a small change.
  • It helps in the scenario when the time for testing of the product is limited or having less time to complete the test.
  • Quick Feedback: Sanity testing is a fast process that provides quick feedback on the overall functionality of a software build, allowing teams to quickly identify and address any critical issues.
  • Cost-effective: Sanity testing is less time-consuming and less expensive than other types of testing, making it a cost-effective solution for evaluating new builds.
  • Early Detection of Issues: Sanity testing helps to identify major issues early in the development cycle, which can help to avoid costly rework later on.
  • Increased Confidence: Sanity testing helps to increase confidence in the quality of the software, by ensuring that the most critical functions are working as expected before more comprehensive testing is performed.
  • Improved Productivity: Sanity testing enables developers and testers to focus on more complex testing scenarios, improving overall productivity and reducing the time required for full regression testing.

Usability Testing Techniques That Actually Work: An Overview