Risk-based testing (RBT) 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.
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.
- Change-based testing allows test teams to assess changes made in a release and then prioritize tests towards modified modules.
- Regression testing ensures that a change, such as a bug fix, did not introduce new faults into the software under test. 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.
Types of Risks
Risk can be identified as the probability that an undetected software bug may have a
negative impact on the user of a system.The methods assess risks along a variety of dimensions:
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
External
- Sponsor or executive preference
- Regulatory requirements
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
No comments:
Post a Comment