Difference Between Retesting and Regression Testing
Retesting
Retesting is a process to check specific test cases that are found with bug/s in
the final execution. Generally, testers find these bugs while testing the software
application and assign it to the developers to fix it. Then the developers fix the
bug/s and assign it back to the testers for verification. This continuous process
is called Retesting.
What is Regression Testing?
Regression testing is a type of software testing executed to check whether a
code change has not unfavorably disturbed current features & functions of an
Application
Re-testing Vs Regression Testing is a common FAQ amongst QA aspirants.
KEY DIFFERENCE
• Regression testing is performed for passed test cases while Retesting is
done only for failed test cases.
• Regression testing checks for unexpected side-effects while Re-testing
makes sure that the original fault has been corrected.
• Regression Testing doesn’t include defect verification whereas Re-testing
includes defect verification.
• Regression testing is known as generic testing whereas Re-testing is
planned testing.
• Regression Testing is possible with the use of automation whereas Re-
testing is not possible with automation.
Below is a detailed comparison with Example
Retesting vs Regression Testing
Regression Testing Re-testing
• Regression Testing is carried out to confirm whether • Re-testing is carried out to confirm the
a recent program or code change has not adversely test cases that failed in the final
affected existing features execution are passing after the defects
are fixed
• The purpose of Regression Testing is that new code • Re-testing is done on the basis of the
changes should not have any side effects to existing defect fixes
functionalities
• Defect verification is not the part of Regression • Defect verification is the part of re-
Testing testing
• Based on the project and availability of resources, • Priority of re-testing is higher than
Regression Testing can be carried out parallel with regression testing, so it is carried out
Re-testing before regression testing
• You can do automation for regression testing, • You cannot automate the test cases for
Manual testing could be expensive and time- Retesting
consuming
• Regression testing is known as a generic testing • Re-testing is a planned testing
• Regression testing is done for passed test cases • Retesting is done only for failed test
cases
• Regression testing checks for unexpected side- • Re-testing makes sure that the original
effects fault has been corrected
• Regression testing is only done when there is any • Re-testing executes a defect with the
modification or changes become mandatory in an same data and the same environment
existing project with different inputs with a new build
• Test cases for regression testing can be obtained • Test cases for retesting cannot be
from the functional specification, user tutorials and obtained before start testing.
manuals, and defect reports in regards to corrected
problems