Sanity Testing in Manual QA

A 3d render of an anime character listening to music and smiling
Image ©2025 ux-qa.com

Sanity Testing in Manual QA

Sanity testing is a quick, targeted form of testing that focuses on validating specific parts of an application after a change, such as bug fixes or updates.

It ensures that core functionalities are still working properly and that the software has not been broken by recent changes. 


Key Objectives of Sanity Testing

Validate Bug Fixes
To check whether the recent bug fixes have resolved the issues without affecting other parts of the system.


Check Core Functionality
Ensure that the critical functions of the application are still working after a change.


Save Time and Resources
Sanity testing is faster and less exhaustive compared to full regression testing. It helps decide whether to proceed with more comprehensive testing or release the build.


Quick Verification
Quickly verify that the build is stable enough for more detailed testing, like regression testing.


When is Sanity Testing Performed?

After Bug Fixes
When a bug or issue is fixed, sanity testing is performed to confirm the fix works and hasn't introduced new issues.


During Patch Updates
When the system is patched or updated with minor changes, sanity testing is conducted to ensure the patch is functional.


Before Full Testing
If a new build or version is released, sanity testing can be a quick check to see if the application is stable enough for more extensive testing like functional or regression testing.


Sanity Testing vs. Smoke Testing

Though similar, sanity testing and smoke testing are different in purpose and scope:

Sanity Testing
Typically focuses on checking a specific functionality or feature that has undergone changes or bug fixes. It is more localized and less exhaustive.


Smoke Testing
Involves checking the basic functionality of the entire application to ensure that the application is stable enough for more detailed testing. It’s often the first step in testing the build.

Example: Smoke testing might check whether the application opens and basic features work, while sanity testing checks whether a specific feature, like the checkout process in an e-commerce website, works after a bug fix.


Process of Sanity Testing

Understand the Changes
Review the details of the recent change, bug fix, or patch to understand which features are affected.


Select Areas to Test
Focus on the areas or modules that have been modified or impacted by the change.


Create Straightforward Test Cases
Create straightforward test cases that validate the core functionality of the modified parts of the application.


Execute Test Cases
Run the test cases manually to verify that the impacted functionality works as expected.


Evaluate Results
If the tests pass successfully, the application can proceed to more extensive testing or be considered stable for release. If it fails, report the issues and fix them before proceeding further.


Report Results
Document and report the findings, including any issues found during sanity testing.


Advantages of Sanity Testing

Time-Efficient
Sanity testing focuses on specific areas, making it quicker to execute compared to full regression testing or exhaustive functional testing.


Detects Critical Issues Early
By verifying that core functions work, sanity testing helps identify whether basic stability has been maintained after changes, preventing larger issues down the line.


Helps in Decision Making
It helps determine whether the build is stable enough to proceed with more comprehensive testing or whether it needs further work.


Reduces Testing Time
When a bug is fixed or a small change is made, sanity testing ensures the fix is effective, thus reducing the overall testing time required for verification.


Challenges of Sanity Testing

Limited Coverage
Since sanity testing focuses on specific areas impacted by recent changes, it may miss bugs or issues in other parts of the application.


Requires Clear Understanding
Testers must fully understand the changes made to the software to know which areas to focus on during testing.


Might Overlook Edge Cases
Sanity testing typically does not cover edge cases, rare scenarios, or deep system interactions.


When to Use Sanity Testing

Minor Changes are Made
If only a small change or bug fix has been implemented, sanity testing verifies that this change hasn’t impacted other parts of the system.


Rapid Validation is Needed
In cases where time is limited, sanity testing allows testers to quickly confirm whether a build is stable enough for further testing.


Prior to Full Regression Testing
When a new build is deployed, sanity testing can ensure that the system is stable enough before running more extensive tests.


Common Tools Used in Sanity Testing

While sanity testing is typically done manually, certain tools can aid in tracking and reporting defects found during the process:

JIRA: For tracking bugs and reporting issues during sanity testing.

TestRail: For creating and managing test cases and tracking results.

Bugzilla: For logging defects that are found during sanity testing.

Trello or Asana: For managing tasks and organizing testing efforts.

Have anything to add? Let us know!

Previous Post Next Post

نموذج الاتصال