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

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

May 1, 2020 Reading time: 5 min

Our blog posts are available in audio! Listen on the go and when you want to learn something new but don’t feel like reading.

If you are new to manual testing services, distinguishing between regression, smoke, and sanity testing can be a challenge. The boundaries between these test types are blurry sometimes. Nevertheless, they are three different elements of software testing services that have considerable differences.

What Is Regression Testing?

Regression testing service covers the unchanged parts of software to discover whether newly added features have affected the existing functionality. QA engineers check all features regardless of what part of the code has changed.

Why is it important?

Software is a complex system. Take a component out or add a new one, and you can’t be certain how it reacts. It is like playing Jenga. You reconstruct a tower, and the tower remains stable until it’s not. Players have to check the tower after every iteration. The balance changes every time, so even the elements no one has touched yet are affected. It works the same way in software development.

When to perform regression testing?

  • After enhancing software with new features.
  • After making code changes due to the updated requirements.
  • After fixing bugs.

Smoke testing

What Is Smoke Testing?

QA team runs smoke tests every time they get a new software build. Simply put, it takes place after every time developers change code and convert it into an updated application. Smoke testing means can reject a badly broken build or pass it for further check.

Why is it important?

Smoke and regression testing are different links of the same chain of the quality verification process. Smoke tests help to make sure that critical app features work as expected. Otherwise, there is no need to proceed to more complicated checkup. Smoke testing makes it possible to detect serious bugs at the earliest stages, reject the build, and send code to rework. The QA team doesn’t risk losing time for long and complicated testing of software that is knowingly broken. To continue playing Jenga, players need to make sure that the tower is still standing.

When to perform smoke testing?

  • After developers add new features to existing functionality.
  • When there is a fresh software build, either new or slightly changed.

Sanity Testing

What Is Sanity Testing?

Sanity and regression testing go hand-in-hand. Sanity check has to prove that certain features work according to the tech requirements. Unlike smoke testing, it is more specific and provides a more in-depth check of the core functions. QA engineers parts that may have been affected by code or environment changes. Unlike regression, it is a quick check that doesn’t consider all the details.

Why is it important?

Sanity check takes place after smoke testing, when the software build is already stable, and before regression when the QA team checks everything. Sanity checks help to optimize testing time. It is important to verify the rational behavior of a system before QA engineers proceed to time-consuming regression testing. Back to Jenga, this is an in-depth evaluation of the next element you are going to remove. You don’t check each piece to find the best pick, only several parts.

When to perform sanity testing?

  • In case a software build has undergone many regression tests.
  • If there are minor changes in the code.
  • When a build comes after bug fixing and deployment is due.

Regression vs Smoke vs Sanity

Regression vs Smoke vs Sanity – Software Example

Jenga is fun, but explaining smoke testing and sanity testing based on software examples would be more effective than using metaphors. Let’s suppose, developers work on a fitness app. It has been on the stores for a while, and an updated version is out soon.

When the new build is ready, it’s time for smoke testing. QA team checks if it’s possible to install the app, launch it, and log in. If it’s not, it is too early for further testing, as it covers more complex functionality. Developers need to fix the issues first.

If everything is okay, the QA team starts a sanity check. Sanity check covers the basics: whether all tabs are accessible, video/audio plays, BMI is calculated correctly, calories add up, etc. This is a manual check of the basic functions of every module.

Then comes regression testing. Some believe that smoke and sanity tests are a part of regression. The others consider them to be independent checkups that prepare software for regression. Anyhow, regression is a deep check that covers every single detail in functional features and GUI. For example, QA engineers need to make sure that adding a barcode scanner hasn’t broken the password reset or layout of the weekly progress page. Until they do, they can’t be certain.

Bottom Line

Smoke and sanity testing focus on different aspects of the software. Smoke testing aims to cover crucial functional features in a short time. Sanity checks are about deeper analysis of each of those crucial features. Both aim to optimize time and resources, identifying flaws at early stages. Smoke testing and sanity checks help to prepare software for further testing. They reveal whether the system is ready for careful in-depth analysis that comes with regression.

Latest Posts

The Definitive Accessibility Testing Checklist for Your Software Products and Services

April 25, 2024 Reading time: 12 min
A product that stands out is trivial. A product that genuinely cares about its users is sensational. Over the years, we’ve seen many projects create exceptional features and spectacular UX. But with time,
Read more

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

Blog