What is Regression Testing

Definition

Regression testing re-runs existing tests after code changes to confirm that new work has not broken previously working functionality, guarding against the unintended side effects that changes can introduce into a software system.
« Back to Glossary Index
  • Confirms that new changes have not broken existing functionality
  • Protects against unintended side effects across the codebase
  • Enables confident, frequent releases by re-verifying prior behaviour
  • Catches reintroduced bugs and unexpected interactions early

Real World Example

After fixing a checkout bug, the team runs the regression suite and discovers the fix inadvertently broke the discount-code feature, catching the side effect before it reaches customers.

FAQs

What is the purpose of regression testing?

To ensure that recent changes have not broken existing, previously working functionality elsewhere in the system.

When is regression testing run?

After code changes, bug fixes, or new features, often automatically in CI on every commit.

How is regression testing kept efficient?

By automating the suite and prioritising or selecting tests most likely affected by the change to keep run times manageable.

Hello popup window