Realizing quality improvement through test driven development: results and experiences of four industrial teams

  • Authors:
  • Nachiappan Nagappan;E. Michael Maximilien;Thirumalesh Bhat;Laurie Williams

  • Affiliations:
  • Microsoft Research, Redmond, USA;IBM Almaden Research Center, San Jose, USA;Microsoft Research, Redmond, USA;North Carolina State University, Raleigh, USA

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Test-driven development (TDD) is a software development practice that has been used sporadically for decades. With this practice, a software engineer cycles minute-by-minute between writing failing unit tests and writing implementation code to pass those tests. Test-driven development has recently re-emerged as a critical enabling practice of agile software development methodologies. However, little empirical evidence supports or refutes the utility of this practice in an industrial context. Case studies were conducted with three development teams at Microsoft and one at IBM that have adopted TDD. The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15---35% increase in initial development time after adopting TDD.