Regression testing means re-testing an application after its code has been modified to verify that it still functions correctly. Regression testing consists of re-running existing test cases and checking that code changes did not break any previously working functions, inadvertently introduce errors or cause earlier fixed issues to reappear.
Regression Testing Services at Oniyosys are based on the principle of achieving ‘more with less’ – providing maximum test coverage with minimum number of test cases leading to minimal cost of appraisal and risk. Our regression testing service offering is a unique blend of best-in-class scientific methods. This innovative approach enables us to identify impacted functionalities effectively, as the application progresses from one release to the next.
Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. This test can be performed on a new build when there is significant change in original functionality or even a single bug fix. This is the method of verification. Verifying that the bugs are fixed and the newly added features have not created in problem in previous working version of software.
Regression test should be the part of release cycle and must be considered in test estimation. Regression testing is usually performed after verification of changes or new functionality. But this is not the case always. For the release taking months to complete, regression tests must be incorporated in the daily test cycle. For weekly releases regression testing can be performed when functional testing is over for the changes.
Regression test cases need to be selected very carefully so that in minimum set of test cases maximum functionality is covered. These set of test cases need continuous improvements for newly added functionality. It becomes very difficult when the application scope is very huge and there are continuous increments or patches to the system. In such cases selective tests needs to be executed in order to save testing cost and time. These selective test cases are picked based on the enhancements done to the system and parts where it can affect the most.
Regression testing is a continuous process performed at various stages throughout the software testing life cycle. A best practice is to conduct regression test after the sanity or smoke testing and at the end of functional testing for a short release.