TL;DR
Measurement must have a purpose. Use a “five-why” question analysis to determine real measurement purpose. The post is aligned with the Black Box Software Testing Foundations course (BBST) designed by Rebecca Fiedler, Cem Kaner, and James Bach.
For every measurement in software testing, you first need to determine the purpose of this measurement. The “five-why” analysis method could help you with this task.
Five whys (or 5 whys) is an iterative interrogative technique used to explore the cause-and-effect relationships underlying a particular problem.[1] The primary goal of the method is to determine the root cause of a defect or problem by repeating the question “Why?”. Each answer forms the basis of the next issue. The “five” in the name derives from an anecdotal observation on the number of iterations needed to resolve the problem [Wikipedia].
You need to question measurement purpose with five Why questions that will force you to provide five possible measurement purposes. Doing that, you could determine the real use of this measurement.
Let’s take, for example, the percentage of code coverage with unit tests measurement.
Why do you care how much is the percentage of code coverage with unit tests?
- Do developers write unit test code?
- A number of statements covered with unit tests.
- A number of branches covered with unit tests.
- Is mocking applied?
- Do we miss any code?
- Bug-free code.
Using a five-why analysis method, you could not resolve all bad software measurement problems. But your software testing measurement could be five times better. Also, you could reveal not possible expectations. Bug-free code purpose could not be determined with code coverage.