QA Madness Blog   Sanity Testing: Basic Software Check with Narrow & Deep Approach

Sanity Testing: Basic Software Check with Narrow & Deep Approach

Reading Time: 3 minutes

Sanity testing is one of the most confusing terms in software testing. Therefore, it’s frequently featured in the interview questions for a QA Engineer position. But that’s not the only reason to look closely into the topic.

Knowing when to apply sanity testing enables QA specialists to plan their testing strategies for web, desktop, and mobile testing services smartly and save precious hours of testing time. So, let’s sort out everything that is related to sanity testing.

What Is Sanity Testing?

Sanity testing is often considered a subset of regression testing. That’s already saying a lot in terms of understanding its purpose and principles. To be more precise, QA engineers run sanity testing after receiving a software build with little changes in code to ascertain that certain bugs have been fixed in advance.

What exactly is the intention of performing this type of testing? It allows:

  • To verify and validate the veracity of newly added functionalities.
  • To evaluate the accuracy of these features.
  • To ensure that introduced changes don’t affect existing functionalities of the product.

The goal is to determine that the proposed functionality works according to the tech requirements.

Sanity testing covers a small area. However, it focuses on the details of this area and the surrounding functionality. So, let’s say a software application you work with has a three-step registration, and there is a bug in step two of the process. Once it’s fixed, the app would require sanity testing of the registration process and flows dependent on it at least across two or three most used application platforms.

Implementation of Sanity Testing

Sanity testing determines the impact of changed modules on the overall behavior of the system without going in-depth. Basically, it’s surface-level testing which helps in deciding if the software build is good enough to pass it to the next level of testing or not. Sanity testing is especially useful when deadlines are strict and there is not enough time to thoroughly test the build.

So, how do you perform sanity testing? There are just three steps:

  1. List the newly added features and modifications in the code.
  2. Evaluate and analyze the implemented components to check if they work as per the given requirements.
  3. Test the dependent parameters and associated functionalities to verify their correct functioning.

If a sanity test fails, the build is rejected to save the time and costs that would be spent on more rigorous testing. The QA team reports the defect to the development team. If a sanity test passes, QA engineers carry out further testing to check if newly added changes affect previously present components of the system.

Regression, Smoke and Sanity Testing – What’s the Difference?

Sanity Testing Particularities

This type of software testing follows a deep and narrow approach with detailed testing of some limited features. But what are the features of sanity testing? Here is a short list of its particularities to pay attention to.

It’s Run Over Relatively Stable Builds

This could be a bug fix for a build that is already in production, or a few fixes on a new feature build going into production. For instance, if a social media app has a bug when uploading images, the app is considered stable because it is in production with an active user base.

It’s a Quick Check

Sanity testing gives the current state of software quickly. This, in turn, can help you plan your next step accordingly. Sanity testing is a brief testing method that doesn’t cover all the details but ensures that the changes are working as per specifications of the client.

It’s Usually Automated

This point is self-explanatory. If it’s relevant for the project, automation of sanity tests can save time and provide faster results.

Wrapping Up

QA specialists run sanity testing if there is a new functionality, modification request, or bug fix in the software. It can be a quick solution for a software tester if there is no time for thorough checkup. Still, QA specialists prefer to use it as a narrow approach of testing where limited functionalities are covered deeply rather than a substitute for regression testing.

Ready to speed up the testing process?