Abstract
We conducted a quasi-experiment to compare the characteristics of experts’ and novices’ test-driven development processes. Our novices were 11 computers science students who participated in an Extreme Programming lab course, the expert group consisted of seven professionals who had industrial experience in test-driven development. The novices as well as two of the experts worked in a laboratory environment whereas the remaining five experts worked in their office. The experts complied more to the rules of test-driven development and had shorter test-cycles than the novices. The tests written by the experts were of higher quality in terms of statement and block coverage as well. All reported results are statistically significant on the 5% level. We conclude that the results of studies which evaluate performance of test-driven development using subjects inexperienced in TDD are not easily generalisable.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Beck K (2002) Test driven development: by example. Addison-Wesley
Bhat T, Nagappan N (2006) Evaluating the efficacy of test-driven development: industrial case studies. In: Proceedings of the 2006 international symposium on empirical software engineering (ISESE’06), Rio de Janeiro, Brazil, September 2006. ACM Press, pp 356–363
Canfora G, Cimitile A, Garcia F, Piattini M, Visaggio CA (2006) Evaluating advantages of test driven development: a controlled experiment with professionals. In: Proceedings of the 2006 international symposium on empirical software engineering (ISESE’06), Rio de Janeiro, Brazil, September 2006. ACM Press, pp 364–371
Cohen J (1988) Statistical power analysis for the behavioral sciences. Academic
Erdogmus H, Morisio M, Torchiano M (2005) On the effectiveness of the test-first approach to programming. IEEE Trans Software Eng 31(3):226–237, March
Erdogmus H, Wang Y (2004) The role of process measurement in test-driven development. In: Proceeding of XP Agile Universe 2004: 4th conference on extreme programming and agile methods, Calgary, Canada, August
Fowler M (1999) Refactoring: improving the design of existing code. Addison-Wesley
George B, Williams L (2003) An initial investigation of test driven development in industry. In: ACM symposium on applied computing, Melbourne, FL, USA, pp 1135–1139
Geras A, Smith M, Miller J (2004) A prototype empirical evaluation of test driven development. In: International symposium on software metrics (Metrics), Chicago, IL, USA, pp 405–416, September
Hollander M, Wolfe D (1999) Nonparametric statistical methods. Wiley, 2nd edn
Link J (2003) Unit testing in Java: how tests drive the code. Morgan Kaufmann
Link J (2005) Softwaretest mit JUnit: techniken der testgetriebenen Entwicklung. dpunkt.verlag
Mackinnon T, Freeman S, Craig P (2000) Endo-testing: unit testing with mock objects. In: Extreme programming and flexible processes in software engineering—XP2000, Cagliari, Sardinia, Italy, June
Malpohl G, Hunt J, Tichy W (2000) Renaming detection. In: Automated software engineering, Grenoble, France, pp 73–80, September
Müller M, Hagner O (2002) Experiment about test-first programming. IEE Proc Software 149(5):131–136, October
Müller M, Link J, Sand R, Malpohl G (2004) Extreme programming in curriculum: experiences from academia and industry. In: Conference on extreme programming and agile processes in software engineering (XP2004), Garmisch-Partenkirchen, Germany, pp 294–302, June
Pančur M, Ciglarič M, Trampuš M, Vidmar T (2003) Towards empirical evaluation of test-driven development in a university environment. In: EUROCON 2003. Computer as a Tool. The IEEE Region 8, vol 2, pp 83–86, September
Shadish W, Cook T, Campbell D (2002) Experimental and quasi-experimental designs for generalized causal inference. Houghton Mifflin
Author information
Authors and Affiliations
Corresponding author
Additional information
Editor: Natalia Juristo
Rights and permissions
About this article
Cite this article
Müller, M.M., Höfer, A. The effect of experience on the test-driven development process. Empir Software Eng 12, 593–615 (2007). https://doi.org/10.1007/s10664-007-9048-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-007-9048-2