Risk-Based Testing
Risk-based testing (RBT) is a type of software testing that prioritizes the features and functions to be tested based on priority/importance and likelihood or impact or failure.Risk-based testing focuses on the ways the program can fail--imagine how the program can fail and design tests to trigger those failures.
Nature of Risk
Risk consists of two components:
Nature of Risk : Impact
Depth
Severity of the damage
Breadth
Number of people affected
Cost of time and effort (not to fix it, but the damages)
Availability of workarounds to reduce the impact
Nature of Risk: Likelihood
Likelihood based on size or complexity
Likelihood based on new technology
Likelihood based on prior error history
Likelihood based on other factors lack of skill, lack of motivation, inadequate processes
A Typical Checklist for Likelihood
- Which functions are the most complex?
- Which functions are new?
- Which functions were transferred from one developer to another?
- Which functions were created by inexperienced developers?
- Which functions werent Unit Tested?
- Which efforts used large development teams?
Project Management Risks
Most frequently encountered risks:
Creeping user requirements/incomplete user requirements
Excessive schedule pressure
Low quality
Cost overruns
Inadequate configuration control
Conventional Approach to Risk-Based Testing
Identify and assess the risk per feature/function
Whats most likely to fail?
What will trigger that failure?
Whats the damage?
Test the highest-risk things the most
What things are done most frequently?
What things are most likely to fail?
What things will have the biggest impact if they do fail?
Pro-active Approach to Risk-Based Testing
Testing is our primary means of reducing risk
Design and prioritize tests based on
What can go wrong? and What must go right?
Test earlier in the development cycle.

| < Prev | Next > |
|---|