Learn in the textbookTest Techniques and Integration/Performance Verification
DefinitionRegression testing (回帰テスト) reruns tests that have already passed after a program is fixed or changed, to check whether features that used to work have been broken by the change.
ExplanationIt also goes by the katakana name regression testing (リグレッションテスト), and its aim is to catch defects that a fix introduces into existing features (degradation, デグレード, a slide backward in quality). Fixing one spot can affect other processing that shares the same component, so the surrounding features are rerun as well, not just the fixed part. Because the same tests are repeated after every change, regression testing pairs well with test automation.
AnalogyIt is like repairing the kitchen pipe and then turning on every tap in the house to make sure the bath and the washbasin still run.
Memory hookRegression means "going backward": you check that quality has not slipped back while you thought you were fixing things.