14th International Symposium on Software Reliability Engineering
Test-Driven Development as a Defect-Reduction Practice
Denver, Colorado
November 17-November 21
ISBN: 0-7695-2007-3
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 will aid in future enhancements and maintenance of this code. The case study and the results are discussed in detail.
Citation:
Laurie Williams, E. Michael Maximilien, Mladen Vouk, "Test-Driven Development as a Defect-Reduction Practice," issre, pp.34, 14th International Symposium on Software Reliability Engineering, 2003