How to Identify and Manage Software Testing Risks?

How to Identify and Manage Software Testing Risks?
June 20 06:47 2019 Print This Article

This article was updated in January 2021.

“To err is normal, but uncertainty is not welcome,” write Tom DeMarco and Timothy Lister in their book Waltzing with Bears: Managing Risk on Software Projects. This expression perfectly describes risk management in software projects. But what are these risks, and why do you need to face them? Find real examples of risks in software testing and tips on their management in this article.

Software Testing Risks: What Are They?

Risk is a combination of the probability and consequences of unfavorable events. This definition is also relevant for software projects but with more focus on their specifics. The main causes of software testing risks are:

  • incorrect scheduling (wrong project assessment, ineffective distribution of tasks, etc.);
  • constantly increasing or changing customer requirements (requirements change during the work on the project);
  • the failure of specifications (an overload of requirements or no exact requirements);
  • the loss of personnel (important technical staff members leave, and there isn’t enough time to replace them);
  • low productivity (the specialists are inexperienced, unmotivated, etc.).

Risk Detection Process: Main Steps & Examples

When we choose which risks to consider, we base our choice on the type of risks, their importance for the project, and the priority of their prevention. The process of risk detection must be included in each stage of product development in order to think over the previously identified risks and find new ones. In their book, Tom DeMarco and Timothy Lister identify three stages of risk detection:

stages of risk detection

Let’s have a deeper look at each of the stages of risk identification. 

Brainstorm. At this stage, various techniques are used to define the main cause of the risks’ origin.

Script building. It is the process of making a detailed scenario on how this or that issue can happen, under what circumstances, by following which steps, etc.

Root cause analysis. At this stage, we need to analyze the difficulties faced earlier and their reasons to prevent them in future work.

Table 1. Risks examples according to their category

Software Testing: Risk Management and Mitigation

The main secret of risk management is that you shouldn’t make up ways to avoid risks but learn how to control them. This process includes a series of steps that become a part of a project. To manage software risks in quality engineering, try the following steps:

  1. Make a list of risks you may face in your project.
  2. Ensure that all the major risks of software development are listed.
  3. Conduct training on each of the risks:
  •  count the risks;
  • identify risk indicators;
  •  assess the impact of each risk on the cost and schedule of the project;
  • assess risk probability;
  •  identify risk mitigation measures in advance.

      4. Identify potential risks as initial project assumptions. Develop a risk management scheme.

      5. During the project estimation, conduct a positive assessment, without including the detected risks.

The list of possible project risks is presented in a test plan. This document is developed and agreed upon before the start of the project, and the part on risks mitigation looks like this:

Table 2. Risks description in a Test Plan

Table 3. Risks management in a Test Plan

Summary on Software Testing Risks

The most important thing to remember is that risks are an integral part of any project. You should not try to deny or ignore them. It is important to detect them in time and minimize their appearance in the project. To do this, you need to accept the project risks, analyze all possible causes of their occurrence (even the most unlikely ones), sort them by priority and track them while working on the project.

For a QA Lead: Risks can be associated with the development process as well as the testing or quality assurance process. It is important to notice and eliminate them in time. While working on any project, you should carefully track risks through the entire testing process, focusing on the progress of both developers and testers and specifying not only the percentage of work done but also how long it will take to complete.

For a QA Engineer: The process of tracking risks is important not only for a project lead but also for a tester. In case of unforeseen situations, blockers in work, or any problems, it is necessary to contact the project lead in order to eliminate the issue in time.

Related Posts:

About Article Author

view more articles
Tetiana Sukmanik
Tetiana Sukmanik

View More Articles

0 Comments

write a comment

No Comments Yet!

You can be the one to start a conversation.

Add a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person.
All fields are required.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.