Regression Testing

What is regression testing?

Regression testing is a software testing approach that ensures a software application or system functions as expected after any code modification, update, or improvement.  Its goal is to ensure that these changes do not cause unintended bugs or break existing functionality of the code.

Although regression testing is typically performed automatically and consists in re-running previously successful test cases, there are several approaches to selecting subset of the tests, including:

  1. Re-testing: that involves re-running the previously run test cases.
  2. Partial or selective regression testing: that involves selecting a subset of tests to re-run after making changes to the software. This can be a more efficient approach, but it may not provide as much coverage as the full regression testing.
  3. Full regression testing: that involves re-running all previously successful test cases after making changes to the software. This is a thorough approach, but it can be time-consuming and may not be practical in case of large or complex systems.
  4. Automated regression testing: that involves testing using automated regression testing tools and can help to reduce the time and effort required for regression testing.

Regression testing is an important part of the software development process, as it helps to ensure the quality and reliability of the software. Thereby, it is often performed as part of an overall testing strategy, along with other types of tests.