Skip to Content

Definition:-

                        Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas of a system after changes such as enhancements, patches or configuration changes, have been made to them. The intent of regression testing is to ensure that a change such as those mentioned above has not introduced new faults. One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the software. Courtesy Wiki

Purpose:-

                         As the Definition states, main purpose of regression testing is to test and confirm that the changes that are being introduced to the code does not in any way affect the existing functionality of the application.

Test Life Cycle:-

/wp-content/uploads/2014/05/rt_461605.jpg

Diagram above explains how regression testing is carried out in a typical situation across all SAP Projects.

                

Sources:-

                     Regression Testing comes into focus due to either of the following circumstances:-

·         Change in the Code due to bug fix

·         Change in the Code due to New Functionalities being added to the application

                      In both the cases it is the responsibility of the tester to make sure that the changed code works fine and also the induction of the new code does not affect the existing functionalities of the application.

Challenges:-

                        Identification of test cases that form the regression test suite, Is a very important task that determines the success of the project.

Too many test cases would mean we are testing the application exhaust and may not meet the timelines and estimates, at the same time, minimum number of test cases would mean we are not performing adequate testing of the application and this might result in failure of the application in production.

So a balance has to be found between both the extremes to select the appropriate amount of test cases for regression testing.

Mechanism to Identify the Regression Test Suite:-

Following are the important points that needs to be remembered by the tester while organizing the test cases for the regression test suite

Change due to Bug Fix:-

        In this situation where the fixes for the existing bugs are going into the application, it is the responsibility of the tester to retest the defects to verify that the bugs are fixed as well as to make sure that the existing functionality works fine.  Points listed below help the tester to identify the test cases for this situation.

· Test Cases for retesting the bugs that are getting fixed in the new build

· Identify the modules in which the bugs are getting fixed and plan to rerun the happy path scenario of all the modules to make sure that the modules still work fine

· Analyze the impact of the fixes with respect to the external interfaces and systems and Plan to retest the interfaces that are getting impacted by the fix

· Test Cases pertaining to the happy path scenario of the application to make sure that the application is working fine

Change due to Addition of new functionality:-

In this situation, where new functionalities are getting introduced into the application, it becomes the responsibility of the testers to make sure that the new functionality is working perfectly as expected and also that the existing functionality is not getting hit. Points listed below help the tester to identify the test cases for this situation.

· Test Cases to verify that the new module/functionality is working as expected

· Analyze the impact of the new functionality in the application architecture to find the modules/interfaces that are getting affected by the new change. Test Cases for the impacted modules/functionalities should be run fully to make sure that these modules/functionalities are working as expected

· Test cases relating to the Happy Path Scenarios of the non- impacted modules

· Test Cases pertaining to the happy path scenario of the application to make sure that the application is working fine

Estimation:-

            Regression Testing Effort is usually included in the overall estimates of the project.  Proper Planning should happen during the overall estimation of the project to oversee the amount of effort needed for regressing testing the application.

However in certain situations it might happen that the estimates has to be revisited owing to

· The number of Critical Defects Uncovered during the Integration/User Acceptance Testing Phase

· Complexity of the Change in the application during the Integration/User Acceptance Testing Phase

By a thumb rule, Regression Testing might and not always default to 10% of the overall Testing Effort in any given project

Conclusion:-

                          The fact that Regression Test is the one last chance for us to catch the bug before the application go live, makes regression testing even more important.  Proper understanding of the need for regression testing and due diligence in the identification of regression test cases would go a long way in determining the success of the project.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply