TL;DR
When we do something, it is essential to know why we do that activity. The post is aligned with the Black Box Software Testing Foundations course (BBST) designed by Rebecca Fiedler, Cem Kaner, and James Bach.
We need to know why we do something. A five monkey experiment. In the cage, there are five monkeys, a ladder, and bananas at the top of the ladder. While monkey climbs to reach bananas, spray with water all monkeys. Repeat that when another monkey reaches for bananas. After several water sprays, other monkeys will pull down monkey that reaches for bananas. Replace monkey one by one. New monkey will try to reach bananas, others will pull him down. No spraying involved. And that action persists when all original monkeys that were sprayed, were replaced with new monkeys.
Do not be a monkey from that experiment.
When you buy toilet paper, you want to know the EXACT NUMBER of rolls you get. Here, we measure to know the number of roles.
In software testing, we measure to estimate (asses) value of something. We count bugs not to know a total number of bugs, we count bugs to estimate:
- product quality
- predict the cost for tech support calls
- tester productivity
- programmer incompetence
- time estimation to ship the product
- how the product is reliable
- the thoroughness of testing
And this is why measurement in software testing is essential but hard.