According to Webster’s New World Dictionary, risk is “the chance of injury, damage or loss; dangerous chance; hazard”.The objective of Risk Analysis is to identify potential problems that could affect the cost or outcome of the project. The objective of risk assessment is to take control over the potential problems before the problems control you, and remember: “prevention is always better than the cure”.
What is Risk Based Testing ?
Risk Based Testing includes following activities
1. Make a prioritized list of risks.
2. Perform testing that explores each risk.
3. As risks evaporate and new ones emerge, adjust your test effort to stay focused on the current crop.
2. Perform testing that explores each risk.
3. As risks evaporate and new ones emerge, adjust your test effort to stay focused on the current crop.
Why do Risk Based Testing ?
Risk is a problem
that might happen. The magnitude of a risk is a joint function of the
likelihood and impact of the problem—the more likely the problem is to happen, and the more impact it will have if it happens, the higher the risk associated
with that problem. Thus, testing is motivated by risk. Just because testing is motivated by risk
does not mean that explicit accounting of risks is required in order to organize
a test process. Standard approaches to testing are implicitly designed to
address risks. You may manage those risks just fine by organizing the tests
around functions, requirements, structural components, or even a set of
predefined tests that never change. This is especially true if the risks you
face are already well understood or the total risk is not too high.
If you are
responsible for testing a product where the impact of failure is extremely
high, you might want to use a rigorous form of risk analysis. Such methods
apply statistical models and/or comprehensively analyze hazards and failure
modes.
Risk Analysis Activity Model |
How to Identify Risk ?
The
activity of identifying risk answers these questions:
·
Is
there risk to this function or activity?
·
How
can it be classified?
Risk identification involves collecting
information about the project and classifying it to determine the amount of
potential risk in the test phase and in production (in the future). The risk could be related to system complexity
(i.e. embedded systems or distributed systems), new technology or methodology
involved that could cause problems, limited business knowledge or poor design
and code quality.
Strategy for Risks
Risk based strategizing and planning involves
the identification and assessment of risks and the development of contingency
plans for possible alternative project activity or the mitigation of all
risks. These plans are then used to
direct the management of risks during the software testing activities. It is therefore possible to define an
appropriate level of testing per function based on the risk assessment of the
function. This approach also allows for
additional testing to be defined for functions that are critical or are
identified as high risk as a result of testing (due to poor design, quality,
documentation, etc.).
Assessing Risks
Assessing risks means determining the effects
(including costs) of potential risks. Risk assessments involves asking
questions such as: Is this a risk or not?
How serious is the risk? What are
the consequences? What is the likelihood
of this risk happening? Decisions are
made based on the risk being assessed.
The decision(s) may be to mitigate, manage or ignore.
The important things to identify (and quantify) are:
The important thing is to identify what is important to the quality of this
function. This may include design
quality (e.g. how many change requests had to be raised), program size,
complexity, programmers skills etc.
· What are the consequences if this
particular function fails?
Very often is it impossible to quantify this accurately, but the use of low-medium-high (1-2-3) may be good enough to rank the individual functions.
Very often is it impossible to quantify this accurately, but the use of low-medium-high (1-2-3) may be good enough to rank the individual functions.
Prediction of Risks
Risk prediction is derived form the previous
activities of identifying, planning, assessing, mitigating, and reporting
risks. Risk prediction involves forecasting risks using the history and
knowledge of previously identified risks. During test execution it is important to
monitor the quality of each individual function (number of errors found), and
to add additional testing or even reject the function and send it back to
development if the quality is unacceptable.
This is an ongoing activity throughout the test phase.
No comments:
Post a Comment