22.11.2012 Views

Schaum's Outline Series

Schaum's Outline Series

Schaum's Outline Series

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!