Test-Driven Development as a Defect-Reduction Practice

  • Authors:
  • Laurie Williams;E. Michael Maximilien;Mladen Vouk

  • Affiliations:
  • -;-;-

  • Venue:
  • ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Test-driven development is a software developmentpractice that has been used sporadically for decades.With this practice, test cases (preferably automated) areincrementally written before production code isimplemented. Test-driven development has recently re-emergedas a critical enabling practice of the ExtremeProgramming software development methodology. Weran a case study of this practice at IBM. In the process, athorough suite of automated test cases was produced afterUML design. In this case study, we found that the codedeveloped using a test-driven development practiceshowed, during functional verification and regressiontests, approximately 40% fewer defects than a baselineprior product developed in a more traditional fashion.The productivity of the team was not impacted by theadditional focus on producing automated test cases. Thistest suite will aid in future enhancements andmaintenance of this code. The case study and the resultsare discussed in detail.