This Article 
 Bibliographic References 
 Add to: 
A Formal Model of the Software Test Process
August 2002 (vol. 28 no. 8)
pp. 782-796

Abstract—A novel approach to model the system test phase of the software life cycle is presented. This approach is based on concepts and techniques from control theory and is useful in computing the effort required to reduce the number of errors and the schedule slippage under a changing process environment. Results from these computations are used, and possibly revised, at specific checkpoints in a feedback-control structure to meet the schedule and quality objectives. Two case studies were conducted to study the behavior of the proposed model. One study reported here uses data from a commercial project. The outcome from these two studies suggests that the proposed model might well be the first significant milestone along the road to a formal and practical theory of software process control.

[1] G. Cugola and C. Ghezzi, “Software Processes: A Retrospective and a Path to the Future,” Software Process Improvement and Practice, 1999.
[2] G. Cugola, “Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models,” IEEE Trans. Software Eng., vol. 24, no. 11, Nov. 1998.
[3] S.L. Pfleeger, Software Engineering: Theory and Practice. Prentice Hall, 1998.
[4] E. Kit, Software Testing in the Real World: Improving the Process. Addison-Wesley, 1995.
[5] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley, 1998.
[6] W.A. Florac and A.D. Carleton, Measuring the Software Process: Statistical Process Control for Software Process Improvement. Addison-Wesley, 1999.
[7] R.A. DeCarlo, Linear Systems: A State Variable Approach with Numerical Implementation. Upper Saddle River, N.J.: Prentice Hall, 1989.
[8] B. Friedland, Advanced Control System Design. Upper Saddle River, N.J.: Prentice Hall, 1996.
[9] H. Khalil, Nonlinear Systems, Upper Saddle River, N.J.: Prentice Hall, 1996.
[10] J.W. Cangussu, R.A. DeCarlo, and A.P. Mathur, “Feedback Control of the Software Test Process through Measurements of Software Reliability,” Proc. 12th Int'l Symp. Software Reliability Eng., Nov. 2001.
[11] B. Marick, The Craft of Software Testing, Englewood Cliffs, N.J.: Prentice Hall, 1995.
[12] R.S. Pressman, Software Engineering—A Practitioner's Approach, McGraw-Hill, 1992.
[13] T.H. McCabe, “A Complexity Measure,” IEEE Trans. Software Eng., vol. 2, no. 6, pp. 308–320, 1976.
[14] B.W. Boehm, Software Engineering Economics. Prentice Hall, 1981.
[15] B.W. Boehm et. al., Software Cost Estimation with Cocomo II. Prentice Hall, 2000.
[16] D.G. Luenberger, Introduction to Dynamic Systems: Theory, Models, and Applications. John Wiley&Sons, 1979.
[17] K. Kanoun, M. Kaanicke, and J.C. Laprie, “Qualitative and Quantitative Reliability Assessment,” IEEE Software, vol. 14, no. 2, pp. 77–87, Feb. 1997.
[18] N.F. Schneidewind, “Measuring and Evaluating Maintenance Process Using Reliability, Risk, and Test Metrics,” IEEE Trans. Software Eng., vol. 25, no. 6, pp. 769–781, Nov./Dec. 1999.
[19] A. Wood, “Predicting Software Reliability,” Computer, vol. 29, no. 11, pp. 69–77, 1996.
[20] W.K. Ehrlich, J.P. Stampfel, and J.R. Wu, “Application of Software Reliability Modeling to Product Quality and Test Process,” Proc. Int'l Conf. Software Eng., pp. 108–116, 1990.
[21] G. Fulford, P. Forrester, and A. Jone, Modeling with Differential and Difference Equations. Cambridge Univ. Press, 1997.
[22] T. Abdel-Hamid and S.E. Madnickdecar, Software Project Dynamics: An Integrated Approach. Prentice Hall, 1991.
[23] C.L. Lawson and R.J. Hanson, Solving Least Squares Problems. SIAM, 1995.
[24] S.R. Lay, Convex Sets and their Applications. John Wiley&Sons, 1982.
[25] L. Ljung, System Identification: Theory for the User. Englewood Cliffs, N.J.: Prentice Hall, 1987.
[26] T.M. Khoshgoftaar and J.C. Munson, “Predicting Software Development Errors Using Complexity Metrics,” J. Selected Areas Comm., vol. 8, no. 2, pp. 253–261, Feb. 1990.
[27] N.E. Fenton and S.L. Pfleeger, Software Metrics: A Rigorous and Practical Approach. PWS Publishing, 1997.
[28] D.E. Knuth, “The Errors of Tex,” Software—Practice and Experience, vol. 19, no. 7, pp. 607–685, 1989.
[29] J.W. Cangussu, R.A. DeCarlo, and A.P. Mathur, “A Formal Model for the Software Test Process,” Technical Report SERC-TR-176-P, Purdue Univ., Mar. 2001.
[30] W. Gander, J.H. Masaryk, and J. Hrebicek, Solving Problems in Scientific Computing Using Maple and MATLAB. Springer-Verlag, 1997.
[31] E.K.P. Chong and S.H. Zak, An Introduction to Optimization. John Wiley&Sons, 1996.
[32] D.J. Wheeler and D.S. Chambers, Understanding Statistical Process Control. SPC Press, 1992.
[33] G.A. Hansen, “Simulating Software Development Processes,” Computer, vol. 29, no. 1, pp. 73–77, Jan. 1996.
[34] A. Diagne, J.M. Ilie, and D. Moldt, “A Petri Net-Based Support for Object-Oriented Specification of Complex Control Systems,” Proc. Petri Nets in System Eng.: Modelling, Verification, and Validation, Sept. 1997.
[35] M.C. Paulk et al., “Capability Maturity Model for Software,” technical report, Software Eng. Inst., Carnegie Mellon Univ., 1993.
[36] J.W. Cangussu, R.A. DeCarlo, and A.P. Mathur, “Sensitivity Analysis of a State Variable Model of the Software Test Process,” Proc. 2001 IEEE Systems, Man, and Cybernetics Conf. (SMC 2001), pp. 712–717, Sept. 2001.

Index Terms:
Feedback control, process control, software test process, software testing, modeling, state variable.
João W. Cangussu, Raymond A. DeCarlo, Aditya P. Mathur, "A Formal Model of the Software Test Process," IEEE Transactions on Software Engineering, vol. 28, no. 8, pp. 782-796, Aug. 2002, doi:10.1109/TSE.2002.1027800
Usage of this product signifies your acceptance of the Terms of Use.