Software Testing: Deciding When Enough Is Enough
- Get link
- X
- Other Apps
Deciding
When Enough
Is Enough.
We cannot test everything.
We have so far decided that we cannot test everything, even if we would wish to. We also know that every system is subject to risk of one kind or another and that there is a level of quality that is acceptable for a given system.
These are the factors we will use to decide how much testing to do.
At any time, the tests that have been done are more important than the ones still to be done.
Even if the testing activity is cut in half it will still be true that the most important testing has been done. The most important tests will be those that test the most important aspects of the system.
Most important
functions.
Functions as defined by the users or sponsors of the system — the core reasons the software exists.
Most important
behaviour.
The most important non-functional behaviour — performance, security, usability — that enables the system to deliver.
Most significant
risks.
Address the areas where failure would cause the greatest harm — the vulnerabilities that matter most.
Objective criteria so that time and pressure do not confuse the outcome.
The next most important aspect is setting criteria that will give you an objective test of whether it is safe to stop testing.
These criteria, usually known as completion criteria, set the standards for the testing activity.
The desired level of quality and risk may have to be compromised.
Priorities and completion criteria provide a basis for planning, but time, money, and quality still consume one another. In the end, the desired level of quality and risk may have to be compromised.
But our approach ensures that we can still determine how much testing is required to achieve the agreed levels — and we can still be certain that any reduction in the time or effort available for testing will not affect the balance.
The most important tests are those already done.
- Get link
- X
- Other Apps