Regression Testing and ReTesting
This is the most common question I have heard during the Interviews! And, most of the times I have seen candidates getting confused and confusing the questioner as well with their answers! Even though you are working in a real time environment, and deal with the Regression and Re-testing scenarios, it is very confusing to differentiate unless you know what exactly they mean, and if you do not know what it means, you are considered bad tester.
Phew! That was very confusing indeed well, to cut it short, we should know the difference between them as a tester! Infect, the difference between them is very simple, but still many of us seem to be not able to distinguish between them. So here, we would discuss some simple points about both of the types and give some real time examples:
Regression Testing and Retesting:
Regression Testing: Whenever the changes are made to the existing code (while fixing defects) a set of Test cases is run every time to ensure that the changes in code have not introduced any new failures in existing code, is known as Regression Testing.
The bug which was recently fixed by developers (after making some code changes or whatever) may have caused new bugs in the functionality that had already been tested. In this case, you’ll identify all other functionality that that is linked to this bug (or functionality) and execute those scenarios (test cases). This is called Regression testing
Take a simple example: You have an Application to test, you found a bug. The developers fixed it. Now, you need to test the entire application in order to see that there is no effect of the bug fix on the application in total. Or, let’s say you have a bug in a feature which you found on Vista OS English. Now, you will test for the same bug in all the different languages which your application supports. This is Regression Testing.
If you have bugs in your previous versions or builds, checking them on the latest builds and other versions can also be called as Regression Testing.
Re-testing: This is very simple. Whenever a defect is fixed by the developer, the tester verifies that defect to make sure that the defect is actually fixed, this is known as Re-testing. The functionality is again tested for a fix here. This would not include checking the system in total. Here, you are concerned with only the fix.
An example of this would be: You found a bug. The developer fixes it and sends it to you to test. You retest it to make sure that it has been fixed. If it is still not fixed, you again send it back to developers and they, in turn, return back to you after fixing it again. This process of retesting goes on and on until bug is fixed. This is called Re-Testing.
Re-Testing is also called as Confirmation Testing. Confirmation Testing is done to make sure that the tests cases which Failed in last execution are passing after the defects against those failures are fixed.
This is the difference between Regression Testing and ReTesting. I hope you got all the point very clearly. If any issues please comment we will get back to you.