High five of Regression Testing

Irushi Ananda
Embla Tech
Published in
3 min readJul 24, 2021

1. What is Regression Testing?

Regression testing is black-box testing and what we do in regression is when there are new changes that have been added to the system or any code changes have been done, we have to make sure the existing functionalities are not broken due to the new changes.

Suppose, After the Login implementation, the client is requested to add a new button to the login page. So, after adding a new button implementation, we should test the whole functionalities whether they are working fine or not. We have to make sure there is no impact from the new change to the existing functionalities. That testing is called “Regression Testing”.

2. When should do the Regression Testing?

After the first change has been made, we should do the regression. That change could be,

  • New functionality or a Change Request.
  • A new requirement or change is added to an existing feature.
  • Patch fixes are added
  • After the changes in configuration.

3. Why do we need Regression Testing?

In this current world, requirements are rapidly changing. So Regression testing is a must in each and every software. If you are not doing regression testing, then the simple and single change can break the whole application. So soon after a first change has been done, QA should do the regression testing and verify that change is not affecting the whole application.

4. Regression Testing Techniques?

Regression can be done by manually or automating the application. There are several techniques for regression. Let’s see some of them.

1. Retest All

First, we execute the entire test cases in the test suite to ensure that there are no bugs that have occurred because of a change in the code. This is an expensive method as it requires more time and resources when compared to the other techniques.

2. Test case Selection

Test case selection is done on the basis of code changes in the module and impact.

Test cases are divided into two categories.

1. Reusable test cases - Test cases that can be used in succeeding regression cycles.

2. Obsolete test case - Test cases that cannot be used in succeeding regression cycles.

- Tips for selecting the Test cases in a Regression Test Suite.

  • Functionalities that are frequently used.
  • Test cases that cover the module where the changes have been done.
  • Complex test cases.
  • Integration test cases that include all the major components.
  • Test cases for the core functionality or feature of the Product.
  • High and Medium priority test cases should be included.
  • Test cases that frequently fail or recent testing defects were found in the same.
  • All end-to-end test cases.

3. Test Case Prioritization

In Test case prioritization, we select the test cases with high priority first to run then medium and low priority ones. The priority of the test case depends on its criticality and its impact on the product and also on the functionality of the product which is used more often.

4. Hybrid

The hybrid technique is a combination of Regression test selection and Test case Prioritization. Rather than selecting the entire test suite, select only the test cases which are re-executed depending on their priority.

5. Regression Testing Tools

Selenium - This is an open-source tool used for automating web applications and it can be used for web-based regression testing.

Quick Test Professional (QTP) -Provides regression testing for environments and software.

Watir - A tool that enables the automated testing of Ruby-based apps.

Rational Functional Tester - An automated testing tool that skillfully mimics the actions of a human tester.

--

--

Irushi Ananda
Embla Tech

Software QA Engineer at Agrando as Embla Software Innovations (Pvt) Ltd.