Regression Testing is a fourth level of testing and is conducted to make sure that the changes to the software do not adversely affect it. This type of testing is done when some enhancements or defect fixes are made to the software. In simple words, it means re-testing an application when its code has been modified. It verifies that the application functions in the same manner as it does prior to making changes. It ensures that the code changes do not break any previous working functions.
Regression Testing can be performed manually or using an automated tool.
Let’s have a close look at Regression Testing:
Goal of Regression Testing:
The main goal of regression testing is to verify that any changes made to the working software application for a small or large part do not create any further bugs or defects. Testing aims to validate the functional and non-functional behavior of the software system as it was performing earlier before changes were made. This testing practice is always conducted when any new feature is added to the existing software application or any modification is made.
Basic Guidelines for Conducting Regression Testing:
Method Used: Black box testing
When to perform: This process starts after system testing and mainly can be performed when,
a) Software has been changed
b) Environment has been changed.
By whom to be performed: Done by testers
When to start testing: It is generally started after system testing but can followed/practiced when any minor or major changes are made to the software application for bug fixing
Basic Steps to perform Regression Testing:
Step 1: Create regression test plan
Step 2: Create the test cases
Step 3: Execute the test cases and test script
Step 4: Comparison of the previous and newly executed result of the software application
Step 5: At last, when bug is found, fix it and again perform regression testing for the fixed bug.
Benefits of Regression Testing:
- Minimizes gaps in testing
- Low risk of bug occurrence
- Is performed in software testing levels
- Quality of software can be achieved
- Time saving
- Increases productivity
Regression Testing is an important form of testing. It is used to test the correctness of a program and also helps in tracking the quality of its output. Although it can be performed manually on small projects, but in most cases it becomes a time consuming and complicated task. An automated regression testing is often considered to save the time and efforts involved.
Have something to add to this story? Share your views with us in the comments.