Regression Testing

Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.

Present in sylabi

Example usage

After a team ships a fix for a payment-calculation defect, they re-run the tests that previously failed (that is re-testing), then run the full regression suite covering the rest of the checkout flow. Regression testing verifies that unchanged areas — such as discount logic and shipping cost calculation — still behave correctly after the modification. In continuous integration, regression tests typically run automatically on every code change.

FAQ

What is the difference between regression testing and re-testing? Re-testing runs the specific test cases that failed last time to verify the fix worked. Regression testing runs tests on previously tested, unchanged functionality to ensure the change introduced no new defects. Both are needed after a fix.

When is regression testing performed? Whenever the software or its environment changes: new features, bug fixes, configuration changes, or infrastructure updates. The larger the change, the more important the regression coverage.

How much regression testing is enough? Enough to cover the risk of the change. Teams often start with a smoke-testing pass over critical paths, then expand based on change impact and available test automation.

Is regression testing a test level? It is a test type, not a level — regression tests can run at any level, from component testing to system testing, and often appear in multiple phases.

Learn more

A systematic review on regression test selection techniques by Emelie Engström, Per Runeson, Mats Skoglund in Information and Software Technology, Elsevier (2010) - 449+ citations
Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations

An empirical study of regression test selection techniques by Todd L. Graves, Mary Jean Harrold, Jung-Min Kim, Adam Porter, Gregg Rothermel in ACM Transactions on Software Engineering and Methodology (TOSEM) (2001) - 663+ citations
Controlled experiment examining costs and benefits of five regression test selection techniques with empirical data on trade-offs

A study of effective regression testing in practice by W. Eric Wong, Joseph R. Horgan, Saul London, Hiralal Agrawal in Proceedings of the Eighth International Symposium on Software Reliability Engineering (ISSRE) (1997) - 701+ citations
Highly influential early work establishing practical foundations for regression testing ensuring changes don't affect unchanged features

Regression Testing: The Ultimate Guide (March 2025)
Comprehensive guide covering regression testing basics, 8-step process, do's and don'ts, challenges, manual vs automated testing, and strategy design

Recommend more content related to this term