Although many useful metrics can be extracted from such a system, the authors wisely point out that it would be counterproductive to use it for tracking individual performance of programmers or testers. Reports can still help make estimates based on past performance figures and judging project progress. Another particularly thorny issue concerns the problem report life cycle. A state diagram would help readers better understand the temporal and organizational relationship between problem resolution and status. However, even the authors appear split on the issue of how to treat deferred bugs.
Test cases Designing effective test cases is a challenge for black-box testers.
Although experience is clearly an important asset, the numerous methods and heuristics described provide a starting point for a junior tester. Equivalence classes, boundary values, and regression testing can minimize the number and increase the effectiveness of test cases. Understanding state transitions, race conditions, time dependencies, and the judicious use of random input will help uncover more subtle problems. Most printers nowadays are not directly driven by end-user software and are seldom operated using simple escape sequences. References also cover only material published up to 1991.