A Regression Testing is a software testing technique, in which it is tested that, whether addition, deletion, or modification in any part of the source code is changing/affecting the functionalities of the software.
Regression testing can be carried out at any point in the software development process. Regression technique is the easiest way to check, how the system will be hampered while modules in part of the software are changed.
Regression testing is also the way of selection of an already existing test case or any part of the test cases. Then, the same test cases are again deployed into the modified software and seen whether all the expected functionalities are meeting.
Below we list some of the requirements for
Regression technique may be required to be done at different times. The number of updates or delete or optimize the codes in the software, that many numbers of times, Regression has to be carried out.
Regression Technique can be done with the following steps:
First of all, Test all and see the performance, efficiency, etc. Then modify the codes as per requirements and retest again and then again perform the test. This can be iterated again and again to get the expected output.
In this step all the integrated modules, that is the complete software is retested entirely. Though this process is extremely expensive and resources consuming, but this step has to be carried out. Now doing this, one trick is always followed.
That is, using only a part of the test case and not the entire test case, which makes it efficient, faster and easy. This is done with the logic that, if some related codes on a particular inter-linked module are modified, then all the other modules which are not anyways connected to it, can be avoided.
In this case, the part of the test case which is relevant to the expected functionality is only chosen and then the test case is applied to retest it.
In this case, the test cases are categorized into two different types. One is reusable and the other one is Outdated or Obsolete.
In this step, we see the most frequently used test case or the part of the test case which is used again and again then prioritize it.
This helps us to reduce the redundancy of using similar test cases.
The next step is to see how we select the test case for regression testing. Selecting a test case for the regression test case is not an easy task. To do this, we have to see test cases which have more defects.
The next step is to see which are the test cases which are related to the core and the most expected functionality of the product. All integration test cases are to be seen, as well as, all complex test cases are to be studied.
Similarly, we have to the boundary value test case and also have to study the successful test cases and failed test cases also.
When there is a frequent modification of the software, regression test may be needed to be done more frequently. In this case, the test case may differ a little or even it may remain the same. Therefore, to perform the regression testing again and again manually, more cost and time will be required.
Therefore, we may automate the system, that the test cases are automatically modified and fed during all the iterations of regression testing. So, various
Some are listed below:
Regression Testing is a software testing type in which it is tested whether the addition of new features has induced any error in the software. Addition of new features can induce different kinds of error such as security of the software may be compromised, performance may be degraded. etc.
Regression testing can be done alongside with sanity testing or retesting, but must be carried after any kind of new features is added to the software.