-
1. Risk
- What? The probability of occurrence of an undesirable outcome
-
Product Risk (Quality Risk )
- The possibility that the system or software might fail to satisfy of fulfill some reasonable expectation of the customer or the stakeholder
-
Type of Product Risk
-
Functional
- Relative to how the product may not achieve the activities it is designed to
-
Non Functional
- Relative to such possible problem as not performing a ( correct ) calculation quickly enough
-
Common Source
- Missing requirement
- Misunderstood requirement
- etc,...
-
Project Risk
- The risk associated with the testing activity which can endanger the test project cycle
-
Business Risk
- These risk are threatening the entire organization from the business view
-
Type of Business Risk
- Strategic Risk
- Compliance Risk
- Operational Risk
- Reputational Risk
-
2. Risk-based Testing
- Basically a testing done for the project based on risk
- Test only what matters
- The idea that we can organize our testing efforts in a way that reduces the residual level of product risk when the the system is deployed
-
How to perform
- 1. Make a prioritize 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
- Just because testing is motivated by risk does not mean that explicit accounting of risk if required in order to organize a test process
-
4. Steps to approach
-
1. Determine impact
- must have features vs nice to have features
-
2. Determine probability of failure
- new technology might lead to higher risk
- complex logic and business rules
- development effort
- ambiguity in requirements
- rushed schedule
-
3. Determine regression impact
- changes to high risk areas
- changes to highly integrated areas
- lack of clear definition of the scope of changes
- scope of regression based on the change
-
4. Determine recovery effort/ difficulty from potential failure
- existence of work around if potential failure occurs
- existence of back out procedure and ease of performing back outs
- ability and turnaround time to fix problems in case of failure
- existence of alerts or early warning indicators to aid proactive intervention
-
3. Risk Analysis
-
Probability and Impact of Risk
-
Probability : explain what are the chances for that risk to occur
- eliminate (0%)
- improbable(0-10%)
- remote (11-40%)
- occasional(41-60%)
- probable (61-90%)
- frequent (91-100%)
-
Impact : the bad stuff that is going to happen if the risk is being realized
- negligible -4 - little or minimal damage or
- Marginal - 3 - short term
- Critical - 2 -large consequences which can lead to a great amount of loss
- Catastrophic - 1 - top priority
-
Risk Analysis process
-
Identify Risk
- the process of determining risks that could potentially prevent the program,enterprise,or investment from achieving itsobjectives
-
Quantitative Risk : give context
- method
- multivariate statistical models
- event trees
- system dynamics models
- sensitivity analysis
- This is a technique used to determine which risk has the greatest impact on the project
- project simulations
- stochastic simulation models
- additive models
- Expected value analysis (EMV)
- used to calculate the expected value of an outcome when different possible scenarios exist for different values of the outcome with some probabilities assigned to them
- analysing data
- mathematical
- statistical method
- 1. Summarising Data : Grouping and Visualising
- 2. Measures of Location : Averages : gives information ab the size of the effect of what you are testing
- 3. Measures of Spread : Range ,Variance , Standard Deviation : how widely the data are spread across the whole possible measurement scale
- 4. Skew
- common sources
- survey
- observation
- secondary data
- interview
-
Qualitative Risk :tell stories
- method
- risk screening based on impact and probability
- pareto diagram
- failure modes and effects analysis
- project definition rating index
- common sources
- interviews
- focus group
- secondary data
- observation
-
Using Risk Register to track risk
- The Risk Register is a document that contains information about identified project risks, analysis of risk severity and evaluations of the possible solutions to be applied
- Help track issues and address problem as they arise
- Step to create
-
Estimate Risk
-
Scale of Risk analysis
- Qualitative Scale
- we work with feeling or assessments
- Impact : Bad > Worse > Worst
- Probability : Not likely > Likely > Very Likely
- Quantitative Scale
- we work with exact measures or numbers
- Impact : can be expressed as actual cost
- Probability : can be expressed as <10% ; 10%< x <50% ; 50% < x <80% ; > 80%
- Risk value = Impact x Probability
-
Risk Assessment Matrix
- the risks are grouped based on their likelihood and the extent of damages or the kind of consequences that the risks can result in.
- Serious : the activity must be stopped,immediate action must be taken to isolate the risk
- High : immediate action must be taken to isolate,eliminate,subtitle the risk and to implement effective risk controls
- Medium : Reasonable and practical steps must be taken to minimize the risks
- Low: usually do not pose any significant problem. Periodical review is a must to ensure the controls remain effective
- Step to create
- Identify the hazard
- Decide who might be harmed and how
- Evaluate the risk and decide on control measures
- Record Risk
- Review and Update
- Benefits
- Recognise and control hazards
- Create awareness among employees
- Set risk management standards,based on acceptable safe practices and legal requirements
- Reduce incidents
- Save cost by being proactive instead of reactive
- Challenges
- Risk assessment is viewed as limited value, episodic process. This challenge prevents risk assessment from being a consistent contributor to decision making, instead being used irregularly throughout the project’s life
- Failure to properly interpret and use the data gathered for a risk assessment. This failure will result in an assessment that is inaccurate, with too little or too much risk assigned.
- Too many risk assessments being performed. This problem can cause a very complex and confusing risk assessment process. To prevent this issue, using a consistent risk assessment process is very important, as is avoiding too many different categories for the risk analysis.
- Relying too heavily on risk assessment. While risk assessment can provide insight into the risks associated with a project, unanticipated problems can always occur. Additionally, risk assessment relies on probability to determine the chances of an incident occurring. Therefore, risk assessment cannot be considered to be the last chance at preventing incidents or failures.
-
Two approach to Risk Analysis
-
inside-out :begin with details about the situation and identify risks associated with them
- what risk are associated with this thing?
- vulnerabilities : weakness/possible failure
- threats : what inputs or situations might exploit a vulnerable and trigger a failure
- victims: who or what would be impacted ,how bad would that be
-
outside-in :begin with a set of potential risks and match them to the details of the situation
- what things are associated with this kind of risk ?
-
quality criteria categories
- capability : can it perform the required function
- reliability : will it work well and resist failure in all required situations
- usability : how easy is it for a real user to use the product
- performance :how speedy and responsive is it
- Installability :how easily can it be installed onto its target platform
- compatibility :how well does it work with external component and configurations
- supportability :hoe economical will it be to provide support to users of the product
- testability :how effectively can the product be tested
- maintainability : how economical will it be to built,fix or enhance the product
- portability : how economical will it be to port or reuse the technology elsewhere
- localizability : how economical will it be to publish the product in another language
-
generic risk list
- complex : anything disproportionately large, intricate or convoluted
- new :any thing that has no history in the product
- changed : anything that has been tampered with or "improved"
- upstream dependency : anything whose failure will cause cascading failure in the rest of the system
- downstream dependency : anything that is specially sensitive to failures in the rest of the system
- critical :anything whose failure could cause substantial damage
- precise :anything that must meet its requirements exactly
- popular :anything that will be used a lots
- strategic : anything that has special importance to your business ,such as a feature that set you apart from the competition
- third-party :anything that used in the product,but developed outside the project
- distributed :anything spread out in time or space ,yet who elements must work together
- buggy : anything known to have a lot of problems
- recent failure : anything with a recent history of failure
-
risk catalog
- risk list
- decide what component or function you want to analyze
- determine your scale of concern
- gather information ab the thing you want to analyze
- visit each risk area on each list and determine its importance in the situation at hand
- if any other risks occur to you that aren't on the list,record them
- record any unknowns which impact your ability to analyze the risk
- double check the risk distribution
-
Agile quality risk analysis process
- Gather the agile team
- List iteration backlog items
- Identify functional Identify functional, non-functional functional quality quality risks for each item
- Assess identified risks: categorize each risk, determine risk level
- Build consensus and ensure a good distribution of risk ratings
- Use level of risk to choose extent of testing
- Select appropriate test techniques for each risk item
-
Estimating Testing Effort
- Test strategy is defined during release planning
- During iteration planning, user stories are estimated
- Story points give implementation effort
- Risk level should influence story points
- Planning poker can be used to reach consensus, involve whole team, and avoid missing anything
- Reliable estimation, including testing, is necessary for smooth work pace and meaningful velocity
-
4. Risk Management
-
Risk Management Process
- Risk management is the identification, evaluation, and prioritization of risks
-
Why Risk-based Testing ?
- The main purpose of risk-based testing is to enable a proactive stance, allowing teams to address risks before they become negative outcomes or results.
- Projects are able to define when to stop testing.
- Test cases can be reduced and focused on the most critical areas.
- Less but more efficient test cases can be specified.
- A better and more focused tests and risk analysis are performed.
- Problem areas are discovered early. Preventive activities can be started immediately.
- Better strategies and test objects/cases can be selected.
- Overall test goals, strategies, and directions for testing can be focused and continuously adjusted against problem areas.
- Risks can be continuously monitored to know the status of the project and its quality.