Risk Based Testing
Balancing Acceptable Quality With Schedules and Budgets
Many organisations continually struggle with how to balance aggressive development schedules with the need for quality software.
Coming towards the end of development, when the schedule pressure is often greatest, there never seems to be enough time for testing.
As project deadlines approach, managers often need to choose between delaying the release or accepting a lower level of quality.
This two-day course teaches participants how they can respond to this problem by testing smarter not harder.
Participants will learn how to analyse and respond to risk, allowing them to better prioritise their test activities which in turn will maximise the effectiveness of the test effort.
Available as a virtual classroom course that makes extensive use of online collaborative tools to support student activities.
Course Features
- Builds on the ISTQB principles of software testing in a highly practical way
- Shows participants how to apply the formal Failure Mode Effect Analysis (FMEA) technique as well as less formal techniques such as Structured What If Technique (SWIFT), Risk Canvas and Risk Poker
- Suitable for agile, waterfall and hybrid software development life cycles
- Learning supported by a comprehensive case study and extensive participant activities
- The virtual classroom version of the course makes extensive use of online collaborative tools which demonstrates to participants how to apply what they have learnt in a remote working environment
Participant Benefits
- Understanding of risk and how it relates to software testing
- Able to apply risk based testing in a remote working environment
- Able to apply formal and informal risk analysis techniques
- Able to identify and analyse potential failures and their underlying causes
- Able to develop a software testing strategy that prioritises area of high risk
- Able to better accept and work within aggressive schedules and budgets
- Able to apply new skills in a remote working environment
Who Should Attend
- Those who want enhance their careers with the knowledge and skills necessary to perform effective risk based testing such as Test Engineers, Tester Analysts, Quality Assurance Staff, Agile Teams, Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts
- Those who need to approve risk based testing strategies and project plans; as well as those that manage testing staff applying a risk based approach such as Test Managers, Quality Assurance Staff, Project Managers, Program Managers Product Owners, Product Managers, Scrum Masters
- Those who who want to gain an understanding of Risk Based Testing such as Test Managers, Project Managers, Program Managers Software Engineers, User Representatives, Product Owners, Product Managers, Scrum Masters, Requirements Engineers, Requirements Analysts, Human Factors Specialists, Software Developers, Process Engineers, Software Engineering Process Group (SEPG) Staff, Methodologists, Process Improvement Staff
Course Duration
- 2 days full-time
Course Agenda
Software Testing Concepts
- Why test software?
- The five views of quality
- The six software testing objectives
- The seven principles of software testing
Software Testing and Risk
- What is risk?
- Software and risk
- The principles of software testing revisited from the perspective of risk
- The risk paradox - finding bugs reduces overall risk but increases local risk!
- Finding bugs reduces the overall risk of failures
- Finding bugs in a component increases the risk of more failures in that component
- Risk based testing activities
- Risk Identification
- Risk Assessment
- Risk Strategy
- Risk Response
- Risk Reporting
- Risk Prediction
Identifying Risks
- The two approaches to identifying risks
- The top-down, risk driven approach
- The bottom-up, solution driven approach
- Risk driven approach
- Risk taxonomies
- Bug taxonomies
- Heuristics
- ISO 25010 software quality characteristics
- Structured What-If Technique (SWIFT)
- SWIFT steps
- Choosing a suitable checklist
- Barnstorming risks
- Logging risks
- Defining risks using a standard template
- The solution driven approach
- Solution features
- Identifying solution features
- User stories
- Identifying potential failures
- Handling non-functional attributes
- Solution components
- Defining the solution architecture
- Identifying potential component failures
- Solution environment
- Applying the TOGAF Technical Reference Model
- Defining platforms and solution deployment
- Identifying potential platform failures
- Solution features
Assessing Risks
- Failure Mode Effect Analysis (FMEA)
- Failure modes and effects
- Assumptions
- Analysing Risks
- Probability - How likely?
- Severity - How bad?
- Calculating a risk level
- Analysing potential feature fialures
- Analysing potential component failures
- Analysing potential platform failures
- Comparing the Risk Profile of Individuals
- Fast track approach
- Brainstorming risks
- Analysing risks with SWIFT
- Assessing playing risk poker
- Summarising risks on a Risk Canvas
Developing a Risk Strategy
- Risk Management Strategies
- Accept the risk
- Avoid the risk
- Mitigate the risk
- Transfer the risk with care
- Mitigating risks with risk prioritisation
- Risk and the project schedule
- The inconvenient truth about testing
- Risk based project management
- Risk reduction techniques
- Software testing as a risk reduction technique
- Levels of software testing provide a poor basis for developing a strategy
- The fundamental questions a software testing strategy must answer
- Why perform the test?
- What will be tested?
- How will the test be executed?
- Who (or what) will perform the test?
- How will the test cases be designed?
- A framework for developing risk strategies
- Typical component risk strategy
- Typical feature risk strategy
Responding to Risk
- Test to pass vs. test to fail (negative testing)
- Issue tracking
- Comparing components and features
Reporting Risks
- Progress reporting
- Quality reporting
Predicting Risk
- Analysing issues
- Identifying the root cause of failures