One of the common questions that gets asked is:
How do we know that we have sufficient yet optimal test cases ?
The inspiration for test adequacy in HBT is the fish net. How do we know that the net can indeed catch the fishes that we are after? Well a broad net to cover a large area, deep enough to reach to bottom with the holes small-enough to catch the smallest fish should be sufficient.
In HBT test breadth is a measure of the various types of tests to conduct, while depth is about the levels of quality and porosity is a measure of as what the ‘granularity of test data’ is. Test data at lower levels are basic input values while at higher levels test data is coarser i.e. input is a ‘aggregate of basic inputs’ .