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
   199   200   201   202   203   204   205   206   207   208   209