Regression Testing

What is Regression Testing?

In the interview perspective, you will be asked to define regression testing. Let’s see what is Regression Testing in Software Testing

Regression testing definition:

Repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the changes in the software being tested or in another related or unrelated software components.

In simple words, We do regression testing by re-executing the tests against the modified application to evaluate whether the modified code breaks anything which was working earlier. Anytime we do modify an application, we should do regression testing (we run regression test).

Regression testing gives confidence to the developers that there is no broken functionality after modifying the production code. It makes sure that there are no unexpected side effects. Hope you have understood what is regression tests. Now let’s see when do we do this type of testing.

When do we do Regression Testing?

We do software regression testing whenever the production code is modified. Usually, we do execute regression tests in the following cases:

Some regression testing examples are here.

1. When new functionalities are added to the application. Example: A website has a login functionality which allows users to do login only with Email. Now the new features look like “providing a new feature to do login using Facebook”.

2. When there is a Change Requirement (In organizations, we call it as CR). Example: Remember password should be removed from the login page which is available earlier

3. When there is a Defect Fix. Example: Imagine Login button is not working in a login page and a tester reports a bug stating that the login button is broken. Once the bug is fixed by the developers, testers test it to make sure whether the Login button is working as per the expected result. Simultaneously testers test other functionalities which are related to login button.

4. When there is a Performance Issue Fix. Example: Loading the home page takes 5 seconds. Reducing the load time to 2 seconds

5. When there is an Environment change. Example: Updating the Database from MySQL to Oracle)

So far we have seen what is regression and when do we do regression. Now let’s see how we do regression testing.

Regression Testing – Manual or Automation?

Regression tests are generally extremely tedious and time-consuming. We do regression testing after every deployment, so it would make life easy to automate test cases instead of running manually on each and every time. if we have thousands of test cases, it’s better to create automation test scripts for the test cases which we do on every build (i.e., regression testing) Automated regression testing is the regression testing best practices and it is the choice of organizations to save lot of time and to run nightly builds.

Regression Testing Tools:

Some of the Regression Test Tools are:

  • Selenium

  • QTP/UFT

  • SahiPro

  • Ranorex

  • TestComplete

  • Watir

  • Katalon Studio

If you think, we missed some of the popular Regression Test Tools, please comment below and we will try to include it in this Regression Testing Tools List.

Last updated