You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CHAPTER 3 Software Project Management 37<br />
software developers aware of the significance of errors and error reduction. The<br />
effects of changes in the software process can be seen in the error data.<br />
Additionally, making the errors and error detection visible encourages testers<br />
and developers to keep error reduction as a goal.<br />
The error rate is the inverse of the inter-error time. That is, if errors occur every 2<br />
days, then the instantaneous error rate is 0.5 errors/day. The current instantaneous<br />
error rate is a good estimate of the current error rate. If the faults that cause errors<br />
are not removed when the errors are found, then the cumulative error rate (the sum<br />
of all the errors found divided by the total time) is a good estimate of future error<br />
rates. Usually, most errors are corrected (the faults removed), and thus the error<br />
rates should go down and the inter-error times should be increasing. Plotting this<br />
data can show trends in the error rate (errors found per unit time). Fitting a straight<br />
line to the points is an effective way to display the trend. The trend can be used to<br />
estimate future error rates. When the trend crosses the x-axis, the estimate of the<br />
error rate is zero, or there are no more errors. If the x-axis is number of errors, the<br />
value of the x-intercept can be used as an estimate of the total number of errors in<br />
the software. If the x-axis is the elapsed time of testing, the intercept is an estimate<br />
of the testing time necessary to remove all errors. The area under this latter line is<br />
an estimate of the number of errors originally in the software.<br />
EXAMPLE 3.7<br />
Consider the following error data (given as the times between errors): 4, 3, 5, 6, 4,<br />
6, 7. The instantaneous error rates are the inverses of the inter-error times: 0.25,<br />
0.33, 0.20, 0.17, 0.25, 0.17, and 0.14. Plotting these against error number gives a<br />
downward curve, as shown in Figure 3-2. This suggests that the actual error rate is<br />
decreasing.<br />
Number of Errors<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
TEAMFLY<br />
1 2 3 4 5 6 7 8 9 10 11 12 13<br />
Error Rates<br />
Fig. 3-2. Plot of error rates.<br />
A straight line through the points would intersect the axis about 11. Since this<br />
implies that the error rate would go to zero at the eleventh error, an estimate of the<br />
total number of errors in this software would be 11 errors. Since seven errors have<br />
been found, this suggests that there may be four more errors in the software.<br />
3.9 Postmortem Reviews<br />
One critical aspect of software development is to learn from your mistakes and<br />
successes. In software development, this is called a postmortem. It consists of<br />
Error