Retesting and Regression Testing

 Re-testing

  • Testing the same functionality with different combination of input data is called retesting.
  • Retesting essentially means to test something again.
  • In simple words, Retesting is testing a specific bug after it was fixed. 
  • Retesting ensures that the issue has been fixed and is working as expected.
  • It is a planned testing with proper steps of verification
  • In some cases the entire module is required to be re-tested to ensure the quality of the module.

Why and when we perform Retesting

  • Retesting is used when there is any specific error or bug which needs to be verified.
  • It is used when the bug is rejected by the developers then the testing department tests whether that bug is actual or not.
  • It is also used to check the whole system to verify the final functionality.
  • It is used to test even the entire module or component in order to confirm the expected functionality.

Advantages

  • Retesting ensures that the issue has been fixed and is working as expected.
  • It improves the quality of the application or product
  • It requires less time for verification because it’s limited to the specific issue or any particular feature.
  • If the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the application effectively.

Disadvantages

  • It requires new build for verification of the defect.
  • Once the testing is started then only the test cases of retesting can be obtained and not before that.
  • The test cases for re-testing cannot be automated.

Regression Testing

  • If any changes are done in the existing build this test is conduct on the modified build to verify the changes are working correctly or not and because of this changes there are no side effect.
  • In Regression Test the change functionality + dependent functionality are tested .
  • The purpose of the regression testing is to find the bugs which may get introduced accidentally because of the new changes or modification.
  • This also ensures that the bugs found earlier are NOT creatable.
  • This helps in maintaining the quality of the product along with the new changes in the application.

When To use Regression Testing

  • Any new feature is added to an existing feature.
  • The codebase is fixed to solve defects.
  • Any bug is fixed
  • Changes in configuration.

Advantages

  • It helps the team to identify the defects and eliminate them earlier in the software development life cycle.
  • It ensures continuity of business functions with any rapid change in the software.
  • Regression testing can be done by using the automation tools.
  • It helps us to make sure that any changes like bug fixes or any enhancements to the module or application have not impacted the existing tested code.

Disadvantages

  • If regression testing is done without using automated tools then it can be very tedious and time consuming because here we execute the same set of test cases again and again.
  • Regression testing has to be performed for every small change in the code as even a small portion of code can create issues in the software.
  • It takes time to complete the tests and this slows down the agile velocity.
  • It's expensive and the cost is hard to justify. 

Re-testing vs Regression Testing:

Re-Testing

Regression Testing

Retesting is about fixing specific defects that you've already found.

Regression testing is about searching for defects.

Retesting is done only for failed test cases.

Regression testing is performed for passed test cases.

Retesting is used to ensure the test cases which failed in last execution are fixed.

Regression testing is to ensure that changes have not affected the unchanged part of product. 

Verification of bugs are included in the retesting.

Verification of bugs are not included in the regression testing.

Retesting is of high priority so it’s done before the regression testing.

Regression testing can be done in parallel with retesting.

Retesting the test cases cannot be automated.

Regression testing test cases can be automated.

In case of retesting the testing is done in a planned way.

In case of regression testing the testing style is generic.

Test cases of retesting can be obtained only when the testing starts.

Test cases of regression testing can be obtained from the specification documents and bug reports

Please refer the below video on complete video on Retesting and Regression Testing:

No comments:

Post a Comment