Sunday, May 23, 2010

Risk Based Regression Testing approach

One of the goals of Regression testing is 'To ensure defects in existing functionalities are not introduced while making changes or adding new features in a module'.


Regression testing is a strategic mechanism of selection of tests that needs to be exercised and performed in a release to uncover any defect which is introduced while fixing something or adding a new feature in the product or an application. One of the very effective and optimized mechanism to meet this goal is Risk Based Regression Testing approach.

Following are the steps to plan the approach:

1. First of all your need to organize your product into various modules and sub modules

2. Once the modularization is done then do Risk assessment for each module/sub-module from business perspective

3. Next step is to identify Impact on design and level of code changes done on each module/sub-module

4. You may also consider past Stability of each modules based on assessment from some of the metrics like ‘Total Issues reported against each Module’, ‘Severity of issues reported for each modules’ etc

5. Once you complete this assessment then you can identify easily the level of regression you need to perform.



Module


Sub-Module


Risk


Impact


Stability


Regression Needed


M1


S1M1


High


High


Fragile


Extensive


M1


S2M1


Medium


Medium


Stable


Medium


M2


S1M2


Low


Low


Stable


Low


M3


S1M3


Low


None


Stable


None


After each release you can review the data again and then you can redefine some of the parameters to make it more realistic and accurate for future references. This approach can help you define your regression strategy easily and ensure you focus exactly where you need to focus on impacted areas.

No comments: