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

Sanity Testing: Basic Software Check with Narrow & Deep Approach

July 7, 2022 Reading time: 3 min

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.

Latest Posts

Automated Testing for a Desktop Application: Benefits, Particularities, and Actionable Tips

April 19, 2024 Reading time: 23 min
There’s no good without the bad. So, if you’re contemplating automation for your desktop app, wanting to enjoy all its benefits – think twice. Because it comes with quite a few struggles. That
Read more

Your Guide to Automated Integration Testing

April 12, 2024 Reading time: 11 min
Automation is a dilemma. Do you need it? Is it worth it? Allow us to cease your hesitations. Automation testing services are a true gift to your project’s performance and your team’s development.
Read more

Change Your Mind About Unit VS Integration Testing To Support Your Product’s Progress

April 1, 2024 Reading time: 19 min
Software complexity is going up. User-centricity is taking over. And businesses get lost in all the tiny and mammoth tasks. We get so caught up in the bullet-speed progression of technologies that we
Read more

Don’t Take Software Integration Testing for Granted – Run It Like This

March 22, 2024 Reading time: 16 min
Test early. Test often. A principle all companies should live by. And most of them do. But it seems a certain type of testing has been left out of this golden rule for
Read more

Make Your Product Feel Homey with These App Localization Testing Tips

March 18, 2024 Reading time: 19 min
When you think about mobile app localization testing, what comes to mind first? Probably translations, currencies, date formats… And you’d be correct in tending to these aspects. But that doesn’t do justice to
Read more

Blog