Re-testing (or confirmation testing) specifically reruns failed test cases to verify that a previously identified defect has been successfully fixed. In contrast, regression testing is performed on unchanged parts of the software to ensure that recent modifications have not introduced unexpected side effects or new bugs.