CrossBrowserTesting.com

A Design, Development, Testing Blog

  • Product Overview
  • Pricing
  • Back Home
  • Free Trial
  • Design
  • Development
  • Manual Testing
  • Test Automation
  • Visual Testing

What is Regression Testing?

June 22, 2017 By Alex McPeak Leave a Comment

what is regression testing

When a developer goes to make adjustments in their software, the smallest change to code can disrupt previously flawless functionality. You know it worked before, so if it doesn’t work now, it must be something we introduced with our latest push, right?

Regression testing is the process used to ensure that a recent code change hasn’t impacted these features that were already working, and is also used to monitor and maintain production software that has already passed testing.

Not only do you want to make sure everything looks good visually, but you also have to make sure that it performs quickly and functions without bugs. By re-executing these test cases, it’s easier to evaluate whether everything still works the way it’s expected.

When thinking about regression testing, there are three types including unit, partial, and complete. Unit regression tests are used to test a single unit of code, partial regression tests are used for code modification, and complete regression is for on-going code changes.

While many testers acknowledge the importance of comprehensive regression testing, it may be difficult for a team to agree on the best method for its execution.

The Problem with Regression Testing

While regression testing is a necessary part of QA, it’s probably not your tester’s favorite part of the job. In fact, the repetition involved with manual regression testing can be really tedious after running cases the first few times.

While you’ll likely have to run the first regression test manually, executing regression tests manually is a huge waste of time and energy over an extended period of time. And it’s really boring to repeat those same actions over and over – really boring. Manually running regression tests is an open window for human error, since it’s difficult to perform the actions exactly the same over and over.

In addition, the best QA teams know that an accurate regression test has to be done across more than one browser to ensure functionality across different configurations, increasing the time and energy involved in the process multiple times over.

Fortunately, testers that take advantage of automated testing can program those repetitive regression test cases to run in the background on a nightly basis, or with every deployment. By using tools likes Selenium, Appium, Record & Replay, or other testing tools and frameworks it becomes much easier to run regression tests, while your testers have more time to focus on their other priorities.

Additionally, automating parallel tests in Selenium takes this a step further, allowing you to approach cross-browser testing by running separate tests at the same time.

To read more about parallel testing with Selenium, read this resource.

Should I Automate All of My Tests?

No. Automated testing will only assert whether the actions you tell it to are true or false, which is why it’s great for regression tests — you’re going back to make sure nothing has changed over time.

However, automated tests cannot and will not find new bugs in unexplored areas of software. As your system scales, so must your exploratory and unit tests, as well as your regression tests. And, as we mentioned, your regression test cases will have to stem from manual test execution.

Once a test case is stable, it’s a good idea to perform regression tests on them in the future, but they will also need maintenance and validation as the system changes over time. You’ll probably have to create new regression test cases to compliment this change as well.

Additionally, a great benefit of automated regression testing is that it frees up a lot of time that can be spent manually testing other unexplored areas. You don’t want to use automation to take over testing completely, but to aid testing efforts that need to be maintained more than they need to be inspected.

Regression Testing Today

While regression testing is not a new term in software testing, new test management practices, tools, and methodologies have changed the way testers approach these tasks.

As organizations become more Agile and begin to continuously integrate new code, it’s important that those changes are verified and approved before new features and functionalities are delivered to end-users.

In fact, the industry shift from Waterfall to Agile has actually made more regression testing possible more often.

Since Agile teams have also adopted the idea of testing early and often, it’s allowed smaller regression tests cases to be performed intermittently rather than running long case at the end of development.

Instead of re-doing an entire test suite, running regression test cases as needed saves a lot of time a creating a baseline of quality. Additionally, regression testing becomes a crucial part of reducing risk and eliminating bugs before they reach the customer.

Luckily because of the high demand for regression testing, there are many tools that strive to make this easier. Whether you’re parallel testing or using a visual regression tool to evaluate inconsistencies, there’s no excuse to skip out on regression tests, and as your organization grows, you won’t want to.

By crafting a testing strategy, prioritizing automation, and using the right tools, you can utilize regression testing in the best interest of your software development and QA teams.

How much have you experimented with regression testing? What are the best ways you’ve found to streamline the process? Tell us your experience in the comments!

Filed Under: Test Automation Tagged With: automated testing, browser testing, parallel testing, unit testing

About Alex McPeak

Alex McPeak is a Content Marketing Specialist for CrossBrowserTesting and is always looking to provide insights in testing, development, and design for the software community, appearing in outlets such as Abstracta, DZone, and Ministry of Testing. She's especially interested in writing about the latest innovations in technology and is forever #TeamiPhone.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Try CrossBrowserTesting

Everything you need for testing on the web. Browsers & Devices included.


  • Grid In The Cloud
  • Simple CI Integrations
  • Native Debugging Tools
  • Real iOS and Android
  • 2050+ Browser/OS Combinations
  • Intuitive REST API

Start Testing Today

Want Testing Tips?

Want the latest tips & strategies from industry experts right to your inbox? Sign up below.
 

Join Over 600,000 Testers & Developers And Start Testing Today

Learn more Free Trial

Features

  • Live Testing
  • Selenium Automation
  • Automated Screenshots
  • Screenshot Comparison
  • Local Testing
  • Real Devices

Solutions

  • Automated Testing
  • Visual Testing
  • Manual Testing
  • Enterprise
  • Internet Explorer

Resources

  • Browsers & Devices
  • Blog
  • Webinars
  • Integrations
  • ROI Calculator

Company

  • About Us
  • Careers
  • Plans
  • Terms of use
  • Security

Support

  • Help Center
  • API Docs
  • Schedule A Demo
  • Contact Us
  • Write For Us