Sanity testing is a software testing technique which is performed by the test team whenever a new build is received for testing. The main objective of this testing is to check if the section or code of the application is still working with a minor change.
After receiving a Software build with the minor issues fixes in code or functionality, Sanity testing is carry out to check whether the bugs reported in previous build are fixed & there is regression introduced due to these fixes i.e. not breaking any previously working functionality. The main aim of Sanity testing to check the planned functionality is working as expected.
Sanity tests helps to avoid wasting time and cost involved in testing if the build is failed. Tester should reject the build upon build failure.
After completion of regression testing the Sanity testing is started to check the defect fixes & changes done in the software application is not breaking the core functionality of the software. Typically this is done nearing end of SDLC i.e. while releasing the software. You can say that sanity testing is a subset of acceptance testing. Sanity testing is narrow & deep approach of testing, it needs to concentrate limited & main features of testing in detailed.
Some consolidated points of Sanity testing:
Sanity testing follows narrow and deep approach with detailed testing of some limited features.
Sanity testing is typically non-scripted
Sanity testing is a sub-set of regression testing.
Sanity testing is cursory testing to prove software application is working as mention in the specification documents & meets the user needs.
Sanity testing is used to verify the requirements of end users are meeting or not.
Sanity testing to check the after minor fixes the small section of code or functionality is working as expected & not breaking related functionality.