Testing Glossary
Regression Test
A test designed to verify that previously working functionality has not been broken by recent code changes.
A regression test confirms that existing behavior still works after new code is introduced. The name comes from the concept of "regression" — a feature sliding backward from a working state to a broken one. Whenever a bug is fixed or a feature is modified, there is a risk that the change inadvertently breaks something else. Regression tests guard against this.
How Regression Tests Are Created
The most common practice is to write a regression test whenever a bug is found and fixed. The test reproduces the original bug, and its continued passage in future builds ensures the bug does not resurface. Over time, these tests accumulate into a regression suite that encodes the project's history of defects and edge cases.
Regression tests can exist at any level of the test pyramid — unit, integration, or end-to-end — depending on where the bug manifested. A calculation error might warrant a focused unit test, while a broken user workflow is better covered by an integration or end-to-end test.
Regression Testing in CI
In a continuous integration pipeline, the full regression suite typically runs on every commit or pull request. This tight feedback loop means regressions are caught within minutes of being introduced, rather than days or weeks later during manual QA. The cost of fixing a regression grows exponentially with the time it goes undetected, making automated regression testing one of the highest-leverage CI practices.
Challenges
As a project ages, the regression suite grows. Without maintenance, it can become slow and unwieldy. Teams should periodically review their regression tests to remove redundant cases, consolidate overlapping scenarios, and ensure that each test still provides unique value. Tagging regression tests by feature area allows selective execution when full-suite runs become impractical.
Monitoring regression test results over time helps teams spot patterns — for instance, a module that frequently generates regressions may need architectural attention rather than more tests.
Related Terms
Monitor Your Test Suite Health
TestGlance tracks test results, detects flaky tests, and surfaces health trends automatically.
Get Started