Sanity Testing Working Overview and Techniques
What is Sanity Testing?
Sanity Testing follows a broad and narrow approach with detailed testing of some limited features. It is mainly non-scripted. It is a subset of Regression Testing. It is a type of testing to prove that software application is working as per requirements as mentioned in the specified documents.It checks whether the application is built according to user needs. It is used to check after making minor changes to part of the code; the application is still working as per the requirements of the user.
How Does Sanity Testing Work?
Sanity Testing is executed at an end in the process of a software development Lifecycle. It helps to check that whether added new functionality is working according to requirements or not.
If a newly added functionality is not working according to requirement then in that case, Sanity testing fails.
If a newly added functionality to a system and web application is working according to a requirement then in that case Sanity test passes.
When Sanity test passes then complete system testing carried out to check that newly added functionally to an application will not affect to previously present components of system and application.
Benefits of Sanity Testing
- Sanity Testing helps to avoid wastage of time.
- It helps to save cost in testing even if the build failed.
- In this type of testing, the tester directly rejects build upon failure.
Why Sanity Testing Matters?
Basically, after completion of a Regression testing, Sanity testing comes into practice.
Sanity testing executed to check that the defect fixes and changes made to software not breaking the functionality of the software.
It is the narrow and deep approach to testing, therefore focuses on limited and main features of testing.
How to Adopt Sanity Testing?
Whenever tester receives a software build with minor issues fixes in code or functionality, Sanity Testing carried. Then it is checked that whether bugs reported in a previous build fixed or not. There can be a regression introduced due to these fixes. So main aim of Sanity testing is to check that the planned functionality is working as per expectations. This way helps to execute a Sanity testing instead of doing a whole regression testing.
Why Sanity testing has to be adapted or conditions where Sanity testing is required -
The big releases generally planned and executed in a proper and systematic format. But sometimes, small releases asked to be delivered as soon as possible. In such situations teams didn't get much time to first document the test cases, then execute them, do the documentation for the bugs and finally do the regression and follow the whole process.
Here for such situations some things required to keep in mind. These things which are required explained as follows -
- Perform Dev-QA Testing.
- Whatever bugs found, report these bugs.
- If there is a requirement to do a Performance testing or Stress or Load testing, have a proper automation framework. The process behind this it is nearly impossible to test these things using a sanity test manually.
This a most important and last part of Sanity Test strategy - While drafting the release email or the document mention the in the following way-
- Contains all the executed test cases.
- Bugs found with a status marker.
- If anything left untested mention this point with reasons.
Best Practises of Sanity Testing
- This type of testing executed after the addition of new functionality to a system.
- This type of testing carried out once new functionality implemented within a system.
- To adopt this type of testing would be useless if there is not any new functionality added to a system.
Sanity Testing Tools
There is no way around to do sanity testing with the help of any tool. It is to check that after making changes to part of the software, software working as per requirements. In this only functionality is checked, by just analyzing its behavior.