Next commonly ask interview question in any software testing interview is “What is difference between Regression Testing and Retesting?” Regression testing and Retesting have different objectives and priorities, they equally important for project’s success.
Definition of Retesting and Regression Testing:
Re-Testing: After a defect is detected and fixed, the software should be retested to confirm that the original defect has been successfully removed. This is called Confirmation Testing or Re-Testing
Regression testing: Testing your software application when it undergoes a code change to ensure that the new code has not affected other parts of the software.
Let’s quickly start with actual difference between Regression Testing and Retesting.
Regression Testing |
Retesting |
Regression testing is a type of software testing that intends to ensure that changes like defect fixes or enhancements to the module or application have not affecting unchanged part. | Retesting is done to make sure that the tests cases which failed in last execution are passing after the defects against those failures are fixed. |
Regression testing is not carried out on specific defect fixes. It is planned as specific area or full regression testing. | Retesting is carried out based on the defect fixes. |
In Regression testing, you can include the test cases which passed earlier. We can say that check the functionality which was working earlier. | In Retesting, you can include the test cases which failed earlier. We can say that check the functionality which was failed in earlier build. |
Regression test cases we use are derived from the functional specification, the user manuals, user tutorials, and defect reports in relation to corrected problems. | Test cases for Retesting cannot be prepared before start testing. In Retesting only re-execute the test cases failed in the prior execution. |
Automation is the key for regression testing. Manual regression testing tends to get more expensive with each new release. Regression testing is right time to start automating test cases. |
You cannot automate the test cases for Retesting. |
Defect verification is not comes under Regression testing. | Defect verification is comes under Retesting. |
Based on the availability of resources the Regression testing can be carried out parallel with Retesting. | Priority of Retesting over Regression testing is higher, so it is carried out before regression testing. |
In the Regression Testing test cases are extracted from functional test cases to ensure that no new defects should be included & check whether original features and functionality is working as expected and make sure no new defect has been introduced. Once the regression test suite is created you can automate test cases using automation tool but same is not applicable for Retesting.
Conclusion
The defect logged by tester while testing application and same fixed by developer. In Retesting we check same defect whether fixed or not using steps to reproduce mentioned in the defect. In Regression testing we check same defect fixes are not impacted other unchanged part of the application, not breaking the functionality working previously and break due to fixing defect.
If you like this article, consider subscribing to get all Testing Updates in your Inbox for FREE. To get testing tips Click Here.