In Software Testing to ensure that the defects which were found and posted in the earlier build were fixed or not in the current build
Retesting is done to ensure that test cases or test scenarios which were failed when tested in earlier build are working fine once developers provide a new build with fixes. In software testing services company, retesting basically focussed on the failed test cases or test scenarios but not verify the impact of this fix on other parts of application.
To verify the impact of fixes on other parts of application, regression testing is performed. This is the basic difference between regression and re-testing. Hence re-testing is done prior to regression testing.
Re-testing does not include the test cases which have passed earlier.
There are certain cases when a bug is retested even when no new build is provided. Following is the example:
Sometimes developer team rejects the existence of bug(mention the status of the bug as Not Reproducible):
In this case, the testers need to retest the same issue to let the developers know that the issue is valid and reproducible.