Page 204 -
P. 204
• Defect Age is used to measure how effective the review and inspection process is. A defect
that was introduced in the scope or requirements phase but not discovered until testing
is far more costly to fix than it would have been had the inspection caught it early—so
the lower the mean defect age, the better. To capture the defect age metric, the root
cause, or the project phase in which each defect was introduced, must be determined
during triage and entered into the defect tracking database. (This is referred to as root
cause analysis.) An age can then be assigned to each defect based on which phase it was
discovered in and which phase it was introduced. By comparing the average defect age
for the entire project with the average age for defects introduced in a specific phase, the
project manager can identify which inspections and reviews are most effective and
introduce better inspection practices to target the costliest defects.
• The Percentage of Engineering Effort metric compares how software effort (in man-hours)
and actual calendar time break down into project phases. These two measurements will
be useful in determining where additional training, staff, or process improvement is
needed. This metric measures the average number of man-hours spent in each project
phase. Some phases consume a lot of calendar time, but do not require many man-
hours. A project manager can use this measurement to gauge whether the effort is
being used efficiently over the course of the project schedule.
• Defect Density measures the number of defects per KLOC (thousand lines of code). This is
one of the most common metrics used in software engineering. It is often used to deter-
mine whether the software is ready for release. A test plan may have a maximum defect
density listed in the acceptance criteria, which requires that the software not contain
any critical or high-priority defects, and contain less than a specific number of low-pri-
ority defects per KLOC.
NOTE
More information on software testing can be found in Testing Computer Soft-
ware by Cem Kaner, Jack Falk, and Hung Quoc Nguyen (Wiley, 1999).
More information on software metrics can be found in Software Metrics:
Establishing a Company-wide Program by Robert Grady and Deborah
Caswell (Prentice Hall, 1987).
Diagnosing Software Testing Problems
There is an old programming saying: “There’s no such thing as bug-free software.” Many
people simply accept that there are quality problems, and that no piece of software is per-
fect. This is true—but it is also irrelevant. The goal of testing is to make sure that the soft-
ware does what the users need it to do, not to make sure that it is perfect. (After all, does
anyone really know what a “perfect software project” is?) With that in mind, there are real,
specific problems that plague many software projects that can be solved by software testing.
196 CHAPTER EIGHT