Course Process

Regression Testing vs Re-Testing

Regression testing is done after receiving a new build that has some bug fixes which was identified during the initial round of testing. It is a type of black-box testing. It is performed to ensure that changes in the codebase ( new code or modified code) do not disrupt the existing functionality thereby introducing defects. It also checks for the performance of the application after adding a new feature. 

Retesting is also known as confirmation testing. Retesting is done on the failed test cases with the new build to ensure the defects raised during the software cycle are fixed and work as per the desired specifications. The failed test cases are then re-executed and passed.


Difference between Regression and Re-Testing

Regression Testing Re-Testing
Regression Testing is carried out to confirm that changes like defect fixes or enhancements to the module or application have not affected existing features Regression Testing is carried out to confirm the tests cases which failed in the last execution are passing after the defects are fixed
It is carried out in the complete application Retesting is carried out based on the defect fixes.
Regression testing is mostly automated as a manual way could be expensive and time-consuming Re-testing has to be performed manually
Defect verification is not coming under Regression testing Defect verification comes under Re-testing
Regression testing is done for passed test cases Re-testing is done for failed test cases
It is always a part of the testing process and performed each time code is changed and a software update is about to be released. It is part of the testing process only if a defect is found in the code.
Test cases for regression testing can be obtained from the functional specification, use cases, and defect reports Test cases for Retesting cannot be prepared before start testing. In Retesting, test cases that are failed in the prior execution are only re-executed.