The Economics of Software Testing: The Law of Diminishing Returns

What the law of diminishing returns?

if one input in the production of a commodity is increased while all other inputs are held fixed, a point will eventually be reached at which additions of the input yield progressively smaller, or diminishing, increases in output (Source: https://www.britannica.com/topic/diminishing-returns)

How does the law of diminishing returns apply to testing?

This picture below shows how testing does NOT work.

This is a more accurate portrayal.

At the start of your testing period, if you increase your testing effort you will increase the value you receive from testing (say from Point A to Point B) but later in the project, an increase in your testing effort will result in a smaller increase in value (compared to earlier on in the project), this is shown in the picture above from Points C to D.

Being aware of the law of diminishing returns will help you know when you can STOP testing.

It’s important to be aware of the fact that a lot of the value from testing (and the bugs that will be found) will be uncovered earlier on. That’s not to say that there is no value to be gained from testing later in as time goes on (say from Point C to Point D), it’s just the rate of pay-off can change.

Edit: Note that this assumes you are taking a Risk Based Approach to testing and are testing the most risky areas first

Follow me on Twitter: @NicolaLindgren