RBT - A better option for regression testing?
Is the effectiveness
of your regression testing experiencing the “law of diminishing returns”? Is
the business value of your testing being questioned? These are most likely to
occur over a period of time, as the regression test case effectiveness will
decrease over time and this would result in regression defect leakages. It is
here where Risk based testing gains its importance. Risk based testing is
basically a test on projects based on risks or is in other words it is a type of software testing that prioritizes the
tests of features and functions based on the risk of their failure.
Why RBT?
To analyze this we
first need to understand what the drawbacks of traditional regression testing
are. The most common drawback seen is that the regression test suite is built
by accumulating test cases from several releases. And the execution of this test
suite depends on factors like time, test environment and test data. The result
being that the test cases are not prioritized based on business criticality and
that the requirements are not updated after every release. Also, it is common
that the impact of release specific changes are not assessed and also that
there are no regression specific test environment and test data strategies.
Risk based testing helps address some of these issues like, prioritization of
test cases, impact assessment, eliminating non-productive test cases etc.
How
to adopt RBT?
Most
of us would be, knowingly or unknowingly, using risk based testing during our
test phases, but without proper risk assessment. This can happen mainly because
of the lack of business domain knowledge or the increasing size/complexity of
the application under test.
The
first step we need to take is to identify what is critical. Next you have to
calculate the risk factor. Then categorize and prioritize based on the risk
factor. Some of the things to be kept in mind while calculating the risk factor
are complex areas, changed areas, Areas with many defects before, History of
prior use etc.
One
basic formula for calculating the risk is:
Risk
= (probability of failure) * (Cost of failure)
And
based on this calculated risk, prioritize your test cases so that you execute
only the most relevant ones.
Conclusion
Day
by day, the complexity of application is increasing, thereby demanding a better
regression testing strategy. Risk Based testing is definitely one of the best
strategies that testers can look into here. This definitely saves your time and
reveals the most ‘risky bugs’!!!