The Impact of Test-Driven Development on Software Development Productivity — An Empirical Study

  • Lech Madeyski
  • Łukasz Szała
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4764)

Abstract

Test-driven development (TDD) is entering the mainstream of software development. We examined the software development process for the purpose of evaluation of the TDD impact, with respect to software development productivity, in the context of a web based system development. The design of the study is based on Goal-Question-Metric approach, and may be easily replicated in different industrial contexts where the number of subjects involved in the study is limited. The study reveals that TDD may have positive impact on software development productivity. Moreover, TDD is characterized by the higher ratio of active development time (described as typing and producing code) in total development time than test-last development approach.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Reading (2004)Google Scholar
  2. 2.
    Maxwell, K., Forselius, P.: Benchmarking Software-Development Productivity - Applied Research Results. IEEE Software 17(1), 80–88 (2000)CrossRefGoogle Scholar
  3. 3.
    Fowler, M.: Cannot Measure Productivity (accessed March 2007), http://www.martinfowler.com/bliki/CannotMeasureProductivity.html
  4. 4.
    Beck, K.: Test Driven Development: By Example. Addison-Wesley, Reading (2002)Google Scholar
  5. 5.
    Müller, M.M., Hagner, O.: Experiment about test-first programming. IEE Proceedings - Software 149(5), 131–136 (2002)CrossRefGoogle Scholar
  6. 6.
    George, B., Williams, L.A.: An Initial Investigation of Test Driven Development in Industry. In: SAC 2003. Proceedings of the 2003 ACM Symposium on Applied Computing, pp. 1135–1139. ACM, New York (2003)CrossRefGoogle Scholar
  7. 7.
    George, B., Williams, L.A.: A structured experiment of test-driven development. Information and Software Technology 46(5), 337–342 (2004)CrossRefGoogle Scholar
  8. 8.
    Williams, L., Maximilien, E.M., Vouk, M.: Test-Driven Development as a Defect-Reduction Practice. In: ISSRE 2003. Proceedings of the 14th International Symposium on Software Reliability Engineering, Washington, DC, USA, pp. 34–48. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  9. 9.
    Maximilien, E.M., Williams, L.A.: Assessing Test-Driven Development at IBM. In: ICSE 2003. Proceedings of the 25th International Conference on Software Engineering, pp. 564–569. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  10. 10.
    Geras, A., Smith, M.R., Miller, J.: A prototype empirical evaluation of test driven development. In: METRICS 2004. Proceedings of the 10th International Symposium on Software Metrics, pp. 405–416. IEEE Computer Society Press, Los Alamitos (2004)CrossRefGoogle Scholar
  11. 11.
    Madeyski, L.: Preliminary Analysis of the Effects of Pair Programming and Test-Driven Development on the External Code Quality. In: Zieliński, K., Szmuc, T. (eds.) Software Engineering: Evolution and Emerging Technologies. Frontiers in Artificial Intelligence and Applications, vol. 130, pp. 113–123. IOS Press, Amsterdam (2005), http://madeyski.e-informatyka.pl/download/Madeyski05b.pdf Google Scholar
  12. 12.
    Bhat, T., Nagappan, N.: Evaluating the efficacy of test-driven development: industrial case studies. In: ISESE 2006. Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, pp. 356–363. ACM Press, New York (2006)CrossRefGoogle Scholar
  13. 13.
    Canfora, G., Cimitile, A., Garcia, F., Piattini, M., Visaggio, C.A.: Evaluating advantages of test driven development: a controlled experiment with professionals. In: ISESE 2006. Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, pp. 364–371. ACM Press, New York (2006)CrossRefGoogle Scholar
  14. 14.
    Müller, M.M.: The Effect of Test-Driven Development on Program Code. In: Abrahamsson, P., Marchesi, M., Succi, G. (eds.) XP 2006. LNCS, vol. 4044, pp. 94–103. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Basili, V.R., Caldiera, G., Rombach, H.D.: The Goal Question Metric Approach. In: Encyclopedia of Software Engineering, pp. 528–532 (1994)Google Scholar
  16. 16.
    Erdogmus, H., Morisio, M., Torchiano, M.: On the Effectiveness of the Test-First Approach to Programming. IEEE Transactions on Software Engineering 31(3), 226–237 (2005)CrossRefGoogle Scholar
  17. 17.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  18. 18.
    Höst, M., Wohlin, C., Thelin, T.: Experimental Context Classification: Incentives and Experience of Subjects. In: ICSE 2005. Proceedings of the 27th International Conference on Software Engineering, pp. 470–478. ACM Press, New York (2005)CrossRefGoogle Scholar
  19. 19.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  20. 20.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell, MA, USA (2000)MATHGoogle Scholar
  21. 21.
    Sørumgård, L.S.: Verification of Process Conformance in Empirical Studies of Software Development. PhD thesis, The Norwegian University of Science and Technology (1997)Google Scholar
  22. 22.
    ActivitySensor project (accessed March 2007), http://www.e-informatyka.pl/sens/Wiki.jsp?page=Projects.ActivitySensor

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Lech Madeyski
    • 1
  • Łukasz Szała
    • 1
  1. 1.Institute of Applied Informatics, Wrocław University of Technology, Wyb.Wyspiańskiego 27, 50370 WrocławPoland

Personalised recommendations