Regression testing is the form of testing which is carried out to make sure that the implementation of any new feature or fixes does not affect any other part or functionality of the application.
As a part of regression testing, new changes in the application should not affect the existing functionalities.
Based on the project requirement, regression testing can be parallel performed with retesting.
Also known as genetic testing and is done for passed test cases.
As manual testing can be time consuming and expensive, automation can be done for regression testing.
Retesting is the form of testing the application after fixing of defects for those test cases which were failed in last execution.
As a part of retesting, defect verification is done.
Retesting is performed before regression testing because of its high priority.
Also known as planned testing and is only done for failed test cases.
Automation cannot be done for retesting.