Process Metrics
Lecture # 43A
1
Process Quality Metrics
2
Process Metrics
• Process metrics are those that can be used
for improving the software development
and maintenance processes
• Examples include the effectiveness of
defect removal during development, the
pattern of testing defect arrival, and the
response time of the fix process
3
• Compared to endproduct quality metrics,
process quality metrics are less formally
defined, and their practices vary greatly
among software developers
• Some organizations pay little attention to
process quality metrics, while others have
wellestablished software metrics programs
that cover various parameters in each phase
of the development cycle
4
Process Metrics
5
Process Metrics
•
•
•
•
•
Defect density
Defect arrival rate
Test effectiveness
Defects by phase
Defect removal effectiveness
6
Defect Density 1
• Software defect density never follows the
uniform distribution. It is an indication of
defect injection in code or other software
products
• If a piece of code or a product has higher
testing defects, either it is due to more
effective testing or it is because of higher
latent defects in the code
7
• It is also possible that the more defects
found during testing, the more defects will
be found later
8
Defect Density
9
Defect Density
• Defects per KLOC (or other denominator)
10
• This simple metric of defect density is a
good indicator of quality while the software
is still under testing
• It is especially useful to monitor subsequent
releases of the same product within the
same development organization
• Therefore, releasetorelease comparisons
are not contaminated by other extraneous
factors
11
Defect Arrival Rate
12
Defect Arrival Rate
• It is the number of defects found during
testing measured at regular intervals over
some period of time
13
Defect Arrival Rate – 1
• Rather than a single value, a set of values is
associated with this metric
• When plotted on a graph, the data may rise,
indicating a positive defect arrival rate; it
may stay flat, indicating a constant defect
arrival rate; or decrease, indicating a
negative defect arrival rate
14
Defect Arrival Rate – 2
• Interpretation of the results of this metric
can be very difficult
• Intuitively, one might interpret a negative
defect arrival rate to indicate that the
product is improving since the number of
new defects found is declining over time
• To validate this interpretation, you must
eliminate certain possible causes for the
decline
15
Defect Arrival Rate – 3
• For example, it could be that test
effectiveness is declining over time
• In other words, the tests may only be
effective at uncovering certain types of
problems. Once those problems have been
found, the tests are no longer effective
16
Defect Arrival Rate – 4
• Another possibility is that the test
organization is understaffed and
consequently is unable to adequately test
the product between measurement intervals
• They focus their efforts during the first
interval on performing stress tests that
expose many problems, followed by
executing system tests during the next
interval where fewer problems are
17
uncovered
Test Effectiveness
• To measure test effectiveness, take the
number of defects found by formal tests and
divide by the total number of formal tests
• TE = Dn / Tn
18
Test Effectiveness 2
• When calculated at regular intervals and
plotted, test effectiveness can be observed
over some period of time
• If the graph rises over time, test
effectiveness may be improving. On the
other hand, if the graph is falling over time,
test effectiveness may be waning
19
Defects by Phase
20
Defects by Phase
• The defects by phase metric is a variation of
the defect arrival rate metric
• At the conclusion of each discreet phase of
the development process, a count of the
new defects is taken and plotted to observe
a trend
21
Defects by Phase 1
• It is much less expensive in terms of
resources and reputation to eliminate
defects early instead of fix late
• At the conclusion of each discreet phase of
the development process, graph is plotted to
observe a trend
22
Defects by Phase 2
• If the graph appears to be rising, you might
infer that the methods used for defect
detection and removal during the earlier
phases are not effective since the rate at
which new defects are being discovered is
increasing
• On the other hand, if the graph appears to
be falling, you might conclude that early
defect detection and removal is effective 23
Defects by Phase 3
• Explain the snowball effect
24
Defect Removal Effectiveness
25