RISK BASED TESTING:
Risk-based testing is an approach in which the test efforts are directed toward the highest-risk areas. But Agile is all about being flexible when it comes to requirements and incremental approaches, so this makes one wonder, "How can a risk-based approach work in Agile environments? We would require a definitive requirements specification when finding the highest-risk areas." Well, of course, Agile development does not mean that testing is ad hoc.
When each sprint is defined and tasks are assigned, testers can start creating a risk-based analysis by using the stories given for that iteration, identifying the high-risk stories that can be tested on that iteration, and prioritizing the user stories depending on their criticality to the business. This will ensure proper regression and integration testing for each sprint. Highest-risk tasks must be placed in the earliest sprints.
Risk-based testing is an approach in which the test efforts are directed toward the highest-risk areas. But Agile is all about being flexible when it comes to requirements and incremental approaches, so this makes one wonder, "How can a risk-based approach work in Agile environments? We would require a definitive requirements specification when finding the highest-risk areas." Well, of course, Agile development does not mean that testing is ad hoc.
When each sprint is defined and tasks are assigned, testers can start creating a risk-based analysis by using the stories given for that iteration, identifying the high-risk stories that can be tested on that iteration, and prioritizing the user stories depending on their criticality to the business. This will ensure proper regression and integration testing for each sprint. Highest-risk tasks must be placed in the earliest sprints.
Risk based testing as a proven best practice for test
analysis, planning, estimation, design, execution and results reporting in each
agile iteration.
RISK TYPES:
Process Risk: Testing process, Development process,
project process
Project Risks: Late tester involvement, Mandated tests
Product Risks:
Platform, Component, Integration, Infrastructure, Usability
Technical Risk:
Risk related to technical components to be tested, may be infrastructure based
Business Risk: Relate to the impact to the business,
customers, partners and share holders
Getting to a Risk
based test strategy:
Step 1: Review
Product Risks, quality requirements
Step 2: Based on
product risks, quality requirements- Identify what to test and how much to test
Step 3: Determine
types of test to use and when?
Step 4: Determine
test techniques used
A Good Test
strategy should be:
Diversified , Risk Focused, Product Specific, Practical-,
Based on Maturity
ASSESSING QUALITY
RISKS ON AGILE PROJECTS:
Select, allocate and prioritize test conditions to maximize
effectiveness
Quality risk analysis supports this process
Risk- A possible
negative outcome
Level of risk - based
on likelihood and impact
Quality Risks- Potential
problems for projects
Project Risks-
potential problems for project success
Agile Quality Risk analysis occurs:
At high level during
the release planning by business stakeholders
In Each iteration tester designs, implements and executes
tests for the risks
QUALITY RISKS:
Quality risks include all features and attributes that can
effect customer, userm stakeholder satisfaction
Incorrect
calculations (functional risk)
Slow response time (non-functional
performance risk)
Confusing Interface
(non-functional usability risk)
Risk analysis prioritizes tasks and guides the sizing of the
taks
High risk requires
extensive testing, come earlier, and involve more user stories
Low risk requires/receive
cursory testing, come later, and involve fewer story points
Risk-based prioritization includes prioritization and
includes release and iteration backlog items
PROCESS OF QUALITY
RISK ANALYSIS:
Gather agile team
List iteration backlog items
Identify functional, non-functional quality risks for each
items
Assess identified risks : categorize each risk and determine
each rick level
Build consensus and ensure a good distributions of risk
ratings
Use level of risk to choose extent of testing
Risk analysis may detect opportunities for early defect
removal (Problems in user stories)
RISK
ELEMENTS:
Likely-hood
Technical risk of problem'
Impact-
business, customer operational risk of problem
Risk Priority
- aggregate measure of problem
Tracing-
tracing information to requirements, user story, other risk basics
Risk category:
a hierarchy of risk categories can help organize the list
ALLOCATION OF TEST
EFFORT:
Extensive: Run large number of tests both broad and deep
combine and vary interesting conditions, use all relevant techniques with
strong coverage criteria
Broad: run medium
number of tests, exercise many different interesting conditions , use most relevant
techniques with medium coverage criteria
Cursory: Run
small number of tests sample most interesting conditions use different
techniques with weak coverage area
Opportunity:
Leverage other tests or activities to test 1-2 interesting conditions, investing
very little time and effort using reactive techniques especially
Report bugs only:
Allocate only a small amount of extra time to report ans manage these
accidental bugs
COLLABORATIVE USER
STORY CREATION:
Developers, testers and business stakeholders collaborate to
capture requirements in user stories
*User stories include:
Functional and
non-functional elements
*Acceptance criteria for each element
Testers bring a unique perspective to this process
Identify missing
elements
Ask open ended
questions
Identify the quality
and project risks
Suggest tests for the
user story
Confirm the acceptance
criteria
Acceptance
criteria clarify the feature and establish clear completion measures
CREATING USER STORIES:
*INVEST TECHNIQUE
Independent
Negotiable
Valuable
Estimable
Sized appropriately
Testable
*Collaborations can also brainstorm and mind gap
*3C elements
Card: Physical
description of user story
Conversation: how the
software will be used
Confirmation:
checking of acceptance criteria (possitive and negative by various
participants)
* User story documents [concise, sufficient, necessary]
**COMMUNICATING TEST RESULTS"
Test progress can be recorded using automated test results,
agile task boards, and burn down charts
Test status can be communicated via wikis, standard test
management tools and during stand-ups
Project, product and process metrics can be gathered
(Customer satisfaction, test pass/fail, defects found/fixed, test basis
coverage, risks mitigated etc)
Automating the gathering and reporting of status and metrics
allows test
When to stop Risk Based Testing?
1.
What are the risks of stopping now?
2.
What are the benefits of stopping now?
3.
Have sufficient benefits been delivered?
4.
Are there any critical problems/risks exist?
5.
Do we have the evidence to support a risk based
decision?
Benefits of Risk Based Testing
The benefits of Risk Based Testing is given below
- Improved productivity and cost reduction
- Improved Market opportunity (Time to market) and On time delivery.
- Improved service performance
- Improved quality as all of the critical functions of the application are tested.
- Gives clear information on test coverage. Using this approach, we know what has/have not been tested.
- Test effort allocation based on risk assessment is the most efficient and effective way to minimize the residual risk upon release.
- Test result measurement based on risk analysis enables the organization to identify the residual level of quality risk during test execution, and to make smart release decisions.
- Optimized testing with highly defined risk evaluation methods.
- Improved customer satisfaction – Due to customer involvement and good reporting and progress tracking.
- Early detection of the potential problem areas. Effective preventive measures can be taken to overcome these problems
- Continuous risk monitoring and assessment throughout the project's entire lifecycle helps in identification and resolution of risks and address the issues that could endanger the achievement of overall project goals and objectives.
Summary:
Risk based testing is the most efficient way to guide the project based on risks.
The testing efforts are effectively organized, and level of priority of each risk item is rated. Each risk is then associated with the appropriate test activities, where a single test having more than one risk item, then the test is assigned as the highest risk.
Tests are executed according to the risk priority order. Risk monitoring process helps in keeping track of the identified risks, and reducing the impacts of residual risks.