2

A new practice was introduced during our last retro:

  • In each ticket, QAs should provide a brief assessment towards Regression Risk if this new feature / fix is implemented.

My question is:

  • It is hard to assess Regression Risk without looking at the source code; our sprint is three-week long, even we could look at the source code, there is not enough time to do so. Are there any good rules of thumbs when providing Regression Risk assessment without looking at its source code?

2 Answers 2

3

First, I would suggest that estimating and understanding risk should be a shared activity (include developers, PMs, other stakeholders). While QA often understands a fair bit about some of the risk associated with software work, "scheduling risk" and other concerns that may not fall on QA should usually also be considered. Bringing in more roles will often also help to uncover additional risks that a single role may not think about or provide context around the impact if it occurs. When performing this exercise collaboratively or reviewing other roles' feedback it can be an opportunity for everyone to gain a deeper more complete understanding of areas of risk in the system you're all working in.

For the question you actually asked, I believe you're talking about what I've usually been exposed to as "Risk Analysis". When I've been involved in risk analysis we approach each proposed change to the system from the angle of...

  1. "What might go wrong" (direct and indirect to the change if its integrated with other modules, etc.)
  2. "How likely do we think these things are to go wrong" (this can be a gut feeling or backed by something more factual)
  3. "If those things do go wrong, what's the probable impact to customers of the software" (how many people will it effect, what will happen to them, for how long, etc.)

This can be more of a loose-feel conversation or you can attempt to quantify using estimates in a number range. Once you have an idea of what might go wrong and what's the biggest deal if it breaks, you can use this assessment to plan the scope of your regression testing to target areas of greatest risk.

Other than my answer, I'd highly recommend searching the internet for "Risk Based Testing". I think you'll find a lot more/better information than I can personally provide.

1

First - couple of my thoughts about regression risk assessment

  • Any brief assessment implies pretty low level of accuracy
  • Personally I do not see much value in assessing regression risk briefly. What is that?
    • Is it a probability of regression issue? If yes, how do you use that information? Say we estimate 15% probability of we will get regression here, so what (we don't know what sort of regression it will be, brief assessment won't give us any details)?.
    • If you need to estimate the time to address regression phase of your testing, I would concentrate straight on the "time" measure, but not on the "risk".

Now, answering your question

I would suggest statistical method. To have that method working more or less accurate you should maintain as much fields of your issues as possible, like:

  • Component
  • Who developed the change (which particular developers)
  • What is the volume of the change (lines of code, number of files, etc)
  • What time did it take to implement the change
  • How many issues are related to that change
  • etc.

So having this historical data for all the changes you have tracked, you can statistically estimate what would be the risk of regression of your new change.

4
  • Not sure this would work well. Some changes like removing trailing spaces could be be done on hundreds of lines wheres a=c insted of a=b is one line but it may be the change that blows up the system. For instance I've seen a 'spinner image rename' bring down a production system 'cos dev thought only a tiny change with not much risk. Wrong. Commented Jul 13, 2018 at 11:00
  • Then you can add some extra properties to your fix. like "is regression", "hasLogicChanged". The list of properties /fields I provided is not exhaustive. This is just an approach. After all this is the approach basing on some objective things, not just look and say "hmmm, likely we'll have issues here".
    – Alexey R.
    Commented Jul 13, 2018 at 11:11
  • I am looking more at the feature change than the bug fixes, like change spinner from butterfly to caterpillar image. I would mark this low risk. Wrong. Commented Jul 13, 2018 at 11:14
  • Normally this would be a low risk. 95 cases of 100. Probably the dev that introduced the spinner renaming in your experience was not experienced enough. So you just add experienceLevel property.
    – Alexey R.
    Commented Jul 13, 2018 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.