Regression Testing
Testing that verifies previously working functionality still works correctly after code changes, bug fixes, or new feature additions.
Regression testing guards against unintended side effects of code changes. Every modification to a codebase, no matter how small, carries the risk of breaking something elsewhere. Regression test suites typically grow over time as new test cases are added for each resolved bug and each completed feature.
Teams often prioritize regression tests by risk and frequency of use. Full regression suites can be time-consuming, so many teams maintain a smaller 'critical path' regression set for quick validation and run the full suite on a scheduled basis or before major releases.
Why It Matters for QA Teams
Websites are updated frequently, and each deployment risks breaking existing functionality. Regression testing ensures that fixing one page does not quietly break another.
Example
A developer fixes a date-picker bug on the booking form. The regression suite automatically re-runs tests for the search page, account settings, and payment flow. It catches that the date-picker fix inadvertently changed a shared utility function, causing date formatting errors on the invoice page.