Retesting is a method in which the functionality or bug is tested again to ensure that the code is fixed. If it hasn’t, the defect is re-opened, fixed again, and then closed.
Regression testing is a type of software testing method in which the software application is tested when it undergoes a code change to make sure that the recent code change does not affect the other existing parts of the software.