Adam Sandman is a 23-year programmer and Chief Technology Officer at Inflectra Corporation in Washington DC, USA. He shared his observations on how a risk-based approach improves testing efficiency and explained how project metrics can be used to create a risk-adjusted test plan.
Table of Contents
Understanding the basic conceptsRisk-based testing is a software testing method based on the risk probability and aimed at optimizing the test plan. A risk is an event that may occur at some point in the future. It can be positive and represent an uncertain event that will benefit you in the future. But for the most part, the risk is viewed negatively, as an uncertain event that can harm the project’s success. Adam Sandman distinguishes 3 categories of risks:
- Conceptual: how well does the product being developed meet the business needs of customers?
- Technical: will the software technically work?
- Schedule risks: a product can be high quality and reliable, but its development process will take 10 years, although we promised the customer to complete all the work in a year.
Relevance of the Agile methodologyIn the case of conceptual risks, the Agile methodology helps:
- Take consistent steps and get feedback.
- Involve stakeholders who can determine factors that will help understand the concept much better.
- using “peak” solutions for early identification of technical risks;
- change course before too much is done.
- release the product in parts in several stages;
- adjust the scope of work and the timing of their implementation.
Using Project MetricsUsing project metrics to create a test plan helps you prioritize and focus on the risks that pose the greatest threat. Metric Tips:
- Brainstorm with the team about using a risk analysis hierarchy to identify all the risks your project might have.
- Rank all risks from smallest to largest, depending on their likelihood and potential harm.
- Determine what you can do to minimize the risks.
Risk-Based Test PlanningWhat is the purpose of testing? It can cover technical and partially conceptual risks and help developers reduce them to an acceptable level for product release. Risk-based testing allows you to:
- focus on areas where your efforts will bring the greatest result;
- consider both the consequences and the probability of risk when prioritizing efforts;
- combine this testing method with exploratory and other approaches to improve its effectiveness.