What is sanity testing and when is it performed?

Debugging And Testing Questions Medium



80 Short 70 Medium 49 Long Answer Questions Question Index

What is sanity testing and when is it performed?

Sanity testing, also known as smoke testing, is a type of software testing that is performed to quickly evaluate whether the system is ready for further testing or not. It is usually conducted after a software build or a minor change to ensure that the critical functionalities are working as expected and there are no major defects that would prevent further testing.

The main objective of sanity testing is to verify that the system is stable enough to proceed with more comprehensive and rigorous testing. It focuses on testing the core functionalities and critical areas of the software, rather than testing every single feature in detail.

Sanity testing is typically performed when:

1. A new build or version of the software is received: After receiving a new build, sanity testing is conducted to ensure that the basic functionalities are working properly before proceeding with more extensive testing.

2. A minor change or bug fix is implemented: When a minor change or bug fix is made to the software, sanity testing is performed to ensure that the specific area affected by the change is functioning correctly and that the overall system stability has not been compromised.

3. Limited time or resources are available: In situations where there are time constraints or limited resources, sanity testing is performed to quickly assess the system's overall stability and identify any major issues that need immediate attention.

During sanity testing, a set of predefined test cases is executed to check the critical functionalities, user interfaces, and basic workflows of the software. If any critical issues are identified during this testing phase, further testing is halted until the issues are resolved.

It is important to note that sanity testing is not meant to be an exhaustive or comprehensive testing approach. It is a quick and high-level evaluation to ensure that the system is in a reasonable state for further testing.