|Regression testing is a type of software testing that intends to ensure that changes like defect fixes or enhancements to the module or application have not affecting unchanged part.||Retesting is done to make sure that the tests cases which failed in last execution are passing after the defects against those failures are fixed.|
|Regression testing is not carried out on specific defect fixes. It is planned as specific area or full regression testing.||Retesting is carried out based on the defect fixes.|
|In Regression testing, you can include the test cases which passed earlier. We can say that check the functionality which was working earlier.||In Retesting, you can include the test cases which failed earlier. We can say that check the functionality which was failed in earlier build.|
|Regression test cases we use are derived from the functional specification, the user manuals, user tutorials, and defect reports in relation to corrected problems.||Test cases for Retesting cannot be prepared before start testing. In Retesting only re-execute the test cases failed in the prior execution.|
|Automation is the key for regression testing.
Manual regression testing tends to get more expensive with each new release.
Regression testing is right time to start automating test cases.
|You cannot automate the test cases for Retesting.|
|Defect verification is not comes under Regression testing.||Defect verification is comes under Retesting.|
|Based on the availability of resources the Regression testing can be carried out parallel with Retesting.||Priority of Retesting over Regression testing is higher, so it is carried out before regression testing.