Estimating fixing effort and schedule based on defect injection distribution

Detecting and fixing defects are key activities in a testing process, which consume two kinds of skill sets. Unfortunately, many current leading software estimation methods, such as COCOMO II, mainly estimate the effort depending on the size of software, and allocate testing effort proportionally among various activities. Both efforts on detecting and fixing defects, are simply counted into software testing process/phase and cannot be estimated and managed satisfactorily. In fact, the activities for detecting defects and fixing them are quite different and need differently skilled people. The inadequate effort estimation leads to the difficulty of test process management. It is also the main problem which causes software project delays. In this article, we propose a method on Quantitatively Managing Testing (TestQM) process including identifying performance objectives, establishing a performance baseline, establish a process-performance model for fixing effort, and establishing a process-performance model for fixing the schedule, which supports high-level process management mentioned in Capability Maturity Model Integration (CMMI). In our method, defect injection distribution (DID) is used to derive estimation of fixing effort and schedule. The TestQM method has been successfully applied to a software organization for their quantitative management of testing process and proved to be helpful in estimating and controlling defects, effort and schedule of the testing process. Copyright  2008 John Wiley & Sons, Ltd.

[1]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[2]  Ware Myers,et al.  Measures for Excellence: Reliable Software on Time, Within Budget , 1991 .

[3]  Mary Beth Chrissis,et al.  CMMI: Guidelines for Process Integration and Product Improvement , 2003 .

[4]  Pankaj Jalote,et al.  Optimum Control Limits for Employing Statistical Process Control in Software Process , 2002, IEEE Trans. Software Eng..

[5]  Premkumar T. Devanbu,et al.  Static checking of dynamically generated queries in database applications , 2004, Proceedings. 26th International Conference on Software Engineering.

[6]  Yongji Wang,et al.  BSR: a statistic-based approach for establishing and refining software process performance baseline , 2006, ICSE.

[7]  Yun Yang,et al.  An Empirical Study on Establishing Quantitative Management Model for Testing Process , 2007, ICSP.

[8]  William A. Florac,et al.  Measuring the Software Process: Statistical Process Control for Software Process Improvement , 1999 .

[9]  Yasunari Takagi,et al.  On estimating testing effort needed to assure field quality in software development , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[10]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[11]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[13]  Jeffrey M. Wooldridge,et al.  Introductory Econometrics: A Modern Approach , 1999 .

[14]  Qing Wang,et al.  Measuring and improving software process in China , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[15]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[16]  David S. Rosenblum,et al.  A historical perspective on runtime assertion checking in software development , 2006, SOEN.