Title :
Test-driven development as a defect-reduction practice
Author :
Williams, Laurie ; Maximilien, E. Michael ; Vouk, Mladen
Author_Institution :
Dept. of Comput. Sci., North Carolina State Univ., Raleigh, NC, USA
Abstract :
Test-driven development is a software development practice that has been used sporadically for decades. With this practice, test cases (preferably automated) are incrementally written before production code is implemented. Test-driven development has recently re-emerged as a critical enabling practice of the extreme programming software development methodology. We ran a case study of this practice at IBM. In the process, a thorough suite of automated test cases was produced after UML design. In this case study, we found that the code developed using a test-driven development practice showed, during functional verification and regression tests, approximately 40% fewer defects than a baseline prior product developed in a more traditional fashion. The productivity of the team was not impacted by the additional focus on producing automated test cases. This test suite aids in future enhancements and maintenance of this code. The case study and the results are discussed in detail.
Keywords :
Unified Modeling Language; formal verification; program testing; regression analysis; IBM; UML design; automated test cases; defect-reduction practice; extreme programming software development; functional verification; production code; regression test; software development practice; test-driven development; Automatic testing; Computer science; NASA; Production; Productivity; Programming; Radio access networks; Software testing; Unified modeling language; Writing;
Conference_Titel :
Software Reliability Engineering, 2003. ISSRE 2003. 14th International Symposium on
Print_ISBN :
0-7695-2007-3
DOI :
10.1109/ISSRE.2003.1251029