Skip to main content
Log in

A General Model of Unit Testing Efficacy

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Much of software engineering is targeted towards identifying and removing existing defects while preventing the injection of new ones. Defect management is therefore one important software development process whose principal aim is to ensure that the software produced reaches the required quality standard before it is shipped into the market place. In this paper, we report on the results of research conducted to develop a predictive model of the efficacy of one important defect management technique, that of unit testing. We have taken an empirical approach. We commence with a number of assumptions that led to a theoretical model which describes the relationship between effort expended and the number of defects remaining in a software code module tested (the latter measure being termed correctness). This model is general enough to capture the possibility that debugging of a software defect is not perfect and could lead to new defects being injected. The Model is examined empirically against actual data and validated as a good predictive model under specific conditions. The work has been done in such a way that models are derived not only for the case of overall correctness but also for specific types of correctness such as correctness arising from the removal of defects contributing to shortcoming in reliability (R-type), functionality (F-type), usability (U-type) and maintainability (M-type) aspects of the program subject to defect management.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Bailey, J. W. and Basili, V. R. 1981. A meta-model for software development resource expenditures. Proc. of the 5th International Conference on Software Engineering, San Diego, California.

  • Bashir, I. and Goel, A. 2000. Testing Object-Oriented Software: Life-Cycle Solutions, Springer

  • Beizer, B. 1991. Software Testing Techniques (Second Edn.), New York, Van Nostrand Reinhold.

    Google Scholar 

  • Binder, R. V. 1999. Testing Object-Oriented Systems:Models, Patterns and Tools, MA, Addison-Wesley.

  • Briand, L. C., Morasca, S., and Basili, V. R. 1994. Designing and validating high level design metrics. University of Maryland at College Park, Tec. Report CS-TR-3301.

  • Chen, T. Y. and Yu, Y. T. 1996. On the expected number of failures detected by sub-domain testing and random testing. IEEE Trans. Software Engrg. SE-22: 109-119.

    Google Scholar 

  • Daley, D. J. and Vere-Jones, D. 1988. An Introduction to the Theory of Point Processes, New York, Springer-Verlag.

    Google Scholar 

  • Dromey, R. G. 1995. A model for software product quality, IEEE Trans. Software Engrg. SE-21: 146-162.

    Google Scholar 

  • Duran, J. W. and Ntafos, S. C. 1984. An evaluation of random testing, IEEE Trans. Software Engrg. SE-10: 438-444.

    Google Scholar 

  • El-Emam, K., Drouin, J. N., and Melo, W. 1998. SPICE:The Theory and Practice of Software Process Improvement and Capability Determination, U. S. A., IEEE Computer Society Press.

    Google Scholar 

  • Fenton, N. E. and Neil, M. 1999. A critique of software defect prediction models. IEEE Trans. Software Engrg. SE-25: 675-689.

    Google Scholar 

  • Frankl, P. G., Hamlet, R., Littlewood, B., and Strigini, L. 1997. Choosing a testing method to deliver reliability. Proc. of the 19th International Conference on Software Engineering, Boston, MA, pp. 68-78.

  • Hamlet, R. and Taylor, R. 1990. Partition testing does not inspire con dence, IEEE Trans. Software Engrg. SE-16: 1402-1411.

    Google Scholar 

  • Henderson-Sellers, B., Simons, A. J., and Younessi, H. 1998. The OPEN Toolbox of Techniques, UK, Addison-Wesley.

    Google Scholar 

  • Howden, W. E. 1987. Functional Program Testing. New York, McGraw-Hill.

    Google Scholar 

  • Humphrey, W. S. 1995. A Discipline for Software Engineering. New York, Addison-Wesley.

    Google Scholar 

  • Lyu, M. R. 1996. Handbook of Software Reliability Engineering. New York, McGraw-Hill.

    Google Scholar 

  • McGregor, J. D. and Sykes, D. A. 2001. A Practical Guide to Testing Object-Oriented Software. MA, Addison-Wesley.

    Google Scholar 

  • Mills, H. D., Dyer, M., and Linger, R. 1987. Cleanroom software engineering. IEEE Software 4(5): 19-25.

    Google Scholar 

  • Myers, G. J. 1979. The Art of Software Testing. John Wiley and Sons.

  • 1993. PASS-C: Program Analysis and Style System, User Manual. Software Quality Institute, Griffith University, Queensland, Australia.

  • Rombach, D. and Kellner, M. I. 1991. Comparisons of software process descriptions. Proc. of the 6th International Software Process Workshop, Kakodate, Japan.

  • Siegel, S. 1956. Non-Parametric Statistics for the Behavioral Sciences. New York, McGraw-Hill.

    Google Scholar 

  • Strauss, S. and Ebenau, R. G. 1995. Software Inspection Process. New York, McGraw-Hill.

    Google Scholar 

  • Weyuker, E. J. and Jeng, B. 1991. Analyzing partition testing strategies, IEEE Trans. Software Engrg. SE-17: 703-711.

    Google Scholar 

  • Xie, M. 1991. Software Reliability Modelling. Singapore, World Scientific Publishing.

    Google Scholar 

  • Younessi, H. 1998. A model of software defect management efficacy. School of Information Technology, Swinburne University of Technology Research Rep. 98-12.

  • Younessi, H. 2002. Object-Oriented Defect Management of Software. New Jersey, Prentice-Hall.

    Google Scholar 

  • Zeephongsekul, P., Xia, G., and Kumar, S. 1994. Software-reliability growth model: Primary-failures generate secondary-faults under imperfect debugging, IEEE Trans. Reliability R-43: 408-413.

    Google Scholar 

  • Zeephongsekul, P., Xia, G., and Kumar, S. 1994, Software reliability growth models based on cluster point processes, Int. J. Systems Sci. 25:737-751

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Younessi, H., Zeephongsekul, P. & Bodhisuwan, W. A General Model of Unit Testing Efficacy. Software Quality Journal 10, 69–92 (2002). https://doi.org/10.1023/A:1015724900702

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1015724900702

Navigation