When a tested software undergoes a minor fix(or a fix that doesn’t affect the whole application) then it is not advisable to conduct thorough testing of all the modules of the application. Instead, after a fix in a previously tested and working software, we only run a limited number of test cases while also ensuring proper test coverage. This type of testing is known as Regression Testing.
Regression testing is the type of testing that is performed to ensure that a fix or change hasn’t affected the previously working functionality.
Some features of regression testing
- Regression test cases are usually automated as there is a huge number of regression tests and executing them manually would very time-consuming.
- The effectiveness of regression testing depends on the test cases chosen as regression tests, which in turn depends on the area of impact of a release along with the criticality of the component.
- In regression testing, we have to deal with reducing the test cases(for reducing test execution time) and at the same time maintaining the test coverage.
Advantages of regression testing
- It ensures that a fix doesn’t adversely affect working functionality.
- Regression tests can be automated hence, save a lot of time(if automated).
- These tests are particularly helpful in case of performance optimization release as these release doesn’t change any business scenario. So, checking the already working functionality suffices the testing need.
- Regression testing is also helpful in implementing Continuous Integration setup in which whenever a developer pushes some code, a build gets triggered and after that regression tests are run automatically to ensure that new change doesn’t affect any existing functionality.
With this, we have come to the end of this part of the tutorial. If you have any questions, please ask in the comment section. Also, check out the complete software testing tutorial below.