The LEAP

Automation insights and productivity tips from LEAPWORK.

All Posts

What is Regression Testing?

When developers write and submit new code for an application, those pieces of code sometimes have unexpected effects on existing code, causing it to break. 

It’s difficult to avoid this altogether, but it is possible to detect that broken code before it is released. This is done with regression testing.

Regression testing is essentially a series of tests that check that the application runs as intended. The idea is to run this series of tests every time new code is submitted.

It’s called regression testing because the verb regress means to return to a former state or condition, which in software, isn’t considered a good thing.

In other words, regression testing is used to search for regressions to ensure that new updates or features that are added to software (involving new or changed code) don’t break any previously released updates or features (existing code), and to ensure that the tested software still performs as desired after a change.

 

Regression testing is often confused with retesting, but the two differ on one key aspect: Regression testing is frequently run on the entire product, whereas retesting is used to check a specific feature, after you’ve fixed a bug in it, meaning regression testing is designed to test for bugs you don't expect to be there, whereas retesting is designed to test for bugs you do expect to be there. 

In that sense, regression testing is a bit like your insurance policy, or your seat belt. You don’t always need it (in fact you hope you won’t ever), but you still have to have it, just to be safe.

This is why many testers consider manual regression testing particularly tedious; it’s a bit like being given the task of searching through a haystack for a needle that probably isn’t there. And you don’t just have to do it once, you have to do it every time new code is created.

What’s more, the suite of regression tests grows with the product, meaning that over time, it becomes practically impossible to execute and maintain manually. 

For this reason, many QA teams choose to automate their regression testing.

Read on in the next blog post on this topic: 5 reasons why you should automate regression testing or download our whitepaper on how to do regression testing in agile teams.Download regression testing whitepaper

Maria Homann
Maria Homann
Content Marketing Manager

Related Posts

Best Practices for Building Maintainable and Scalable Test Automation

There’s a major difference between automating twenty test cases and automating 2000 test cases; while it’s completely possible to take an ad-hoc approach when there are only a few test cases, it becomes an entirely different story when test cases run into the thousands.

How to Build Stable Test Automation

Test automation brings many benefits with it, such as increased execution and reduced risk. But these benefits may be diminished if the tests aren’t performing as intended. There are several reasons why tests become unstable, most of which you can turn around by following these best practices and guidelines.

How to Effectively Analyze Test Automation Results

If you have introduced test automation as a means to achieve more efficient testing, you’re probably also interested in making the test result analysis process as efficient as possible. This requires the right approach and the right set of tools.