Retesting:
1. Retesting is carried out to verify defect fix / fixes.
2. Retesting is planned based for the defect fixes listed in Build Notes.
3. Retesting involves executing test cases that were failed earlier
4. Retesting will involve rerunning failed test cases that are associated with defect(s) fixes being verified.
5. Retesting always takes higher priority over Regression testing
Regression testing:
1. Regression testing is done to check if the defect fix / fixes have not impacted other functionality of the application that was working fine before applying the code changes.
2. Regression testing is generic and may not be always specific to any defect fix or code change and can be planned as regional or full regression testing.
3. Regression testing involves executing test cases that were passed earlier build i.e., functionality that was working in earlier builds.
4. Regression testing does not involve verifying defect fix but only executing regression test cases.
5. In some projects where there are ample testing resources, Regression testing is carried out in parallel with retesting.