Risk-based Testing
Encyclopedia
Risk-based testing is a type of software testing
that prioritizes the tests of features and functions based on the risk of their failure - a function of their importance and likelihood or impact of failure. In theory, since there is an infinite number of possible tests, any set of tests must be a subset of all possible tests. Test techniques such as boundary value analysis and state transition testing aim to find the areas most likely to be defective.
Evaluating critical business modules is a first step in prioritizing tests, but it does not include the notion of evolutionary risk. This is then expanded using two methods: change-based testing and regression testing
.
These two methods permit test teams to prioritize tests based on risk, change and criticality of business modules. Certain technologies can make this kind of test strategy very easy to setup and to maintain with software changes.
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...
that prioritizes the tests of features and functions based on the risk of their failure - a function of their importance and likelihood or impact of failure. In theory, since there is an infinite number of possible tests, any set of tests must be a subset of all possible tests. Test techniques such as boundary value analysis and state transition testing aim to find the areas most likely to be defective.
Assessing risks
The changes between two releases or versions is key in order to asses risk.Evaluating critical business modules is a first step in prioritizing tests, but it does not include the notion of evolutionary risk. This is then expanded using two methods: change-based testing and regression testing
Regression testing
Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....
.
- Change-based testing allows test teams to assess changes made in a release and then prioritize tests towards modified modules.
- Regression testing brings more added-value to test strategy. Once changes have been discovered the aim is to assess direct and non-direct impacts on software.
These two methods permit test teams to prioritize tests based on risk, change and criticality of business modules. Certain technologies can make this kind of test strategy very easy to setup and to maintain with software changes.
Business or Operational
- High use of a subsystem, function or feature
- Criticality of a subsystem, function or feature, including the cost of failure
Technical
- Geographic distribution of development team
- Complexity of a subsystem or function
E-Business Failure-Mode Related
- Static content defects
- Web page integration defects
- Functional behavior-related failure
- Service (Availability and Performance) related failure
- Usability and Accessibility-related failure
- Security vulnerability
- Large Scale Integration failure