Evaluating advantages of test driven development: a controlled experiment with professionals

Test driven development (TDD) is gaining interest among practitioners and researchers: it promises to increase the quality of the code. Even if TDD is considered a development practice, it relies on the use of unit testing. For this reason, it could be an alternative to the testing after coding (TAC), which is the usual approach to run and execute unit tests after having written the code. We wondered which are the differences between the two practices, from the standpoint of quality and productivity. In order to answer our research question, we carried out an experiment in a Spanish Software House. The results suggest that TDD improves the unit testing but slows down the overall process.

[1]  Matthias M. Müller,et al.  Experiment about test-first programming , 2002, IEE Proc. Softw..

[2]  Laurie A. Williams,et al.  Test-driven development as a defect-reduction practice , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[3]  Ross Grable,et al.  Metrics for Small Projects: Experiences at the SED , 1999, IEEE Softw..

[4]  Barbara A. Kitchenham,et al.  An empirical analysis of software productivity over time , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[5]  James Miller,et al.  A prototype empirical evaluation of test driven development , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[6]  Marco Torchiano,et al.  On the effectiveness of the test-first approach to programming , 2005, IEEE Transactions on Software Engineering.

[7]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[8]  Boby George,et al.  A structured experiment of test-driven development , 2004, Inf. Softw. Technol..

[9]  T. Vidmar,et al.  Towards empirical evaluation of test-driven development in a university environment , 2003, The IEEE Region 8 EUROCON 2003. Computer as a Tool..

[10]  Stephen H. EDWARDS Using Test-Driven Development in the Classroom : Providing Students with Automatic , Concrete Feedback on Performance , 2003 .

[11]  C. Kemerer,et al.  OO Metrics in Practice , 2005, IEEE Softw..

[12]  Emilia Mendes,et al.  Software productivity measurement using multiple size measures , 2004, IEEE Transactions on Software Engineering.

[13]  Tore Dybå,et al.  Conducting realistic experiments in software engineering , 2002, Proceedings International Symposium on Empirical Software Engineering.