Advertisement

The Role of Process Measurement in Test-Driven Development

  • Yihong Wang
  • Hakan Erdogmus
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3134)

Abstract

Test-Driven Development (TDD) is a coding technique in which programmers write unit tests before writing or revising production code. We present a process measurement approach for TDD that relies on the analysis of fine-grained data collected during coding activities. This data is mined to produce abstractions regarding programmers’ work patterns. Programmers, instructors, and coaches receive concrete feedback by visualizing these abstractions. Process measurement has the potential to accelerate the learning of TDD, enhance its effectiveness, aid in its empirical evaluation, and support project tracking.

Keywords

Production Code Test Execution Test Code Programming Cycle Project Tracking 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Astels, D., Miller, G., Novak, M.: A Practical Guide to Extreme Programming. Prentice Hall, Upper Saddle River (2002)Google Scholar
  2. 2.
    Beck, K.: Test-Driven Development: by Example. Addison Wesley, Reading (2003)Google Scholar
  3. 3.
    Beck, K.: Aim, fire (test-first coding). IEEE Software 18, 87–89 (2001)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Johnson, P.M., Kou, H., Agustin, J.M., Zhang, Q., Kagawa, A., Yamashita, T.: Practical automated process and product metric collection and analysis in a classroom setting: Lessons learned from Hackystat-UH, University of Hawaii, Collaborative Software Development Laboratory, Technical Report (submitted to 2004 International Symposium on Empirical Software Engineering) csdl2-03-12 (December 2003)Google Scholar
  6. 6.
    Johnson, P.M., Kou, H., Agustin, J., Chan, C., Moore, C., Miglani, J., Zhen, S., Doane, W.E.J.: Beyond the personal software process: metrics collection and analysis for the differently disciplined .Presented at 25th International Conference on Software Engineering (ICSE 2003), Portland (OR), USA (2003)Google Scholar
  7. 7.
    Müller, M.M., Tichy, W.F.: Case study: Extreme Programming in a university environment. Presented at International Conference on Software Engineering (ICSE), Toronto, Canada (2001)Google Scholar
  8. 8.
    Erdogmus, H., Morisio, M., Torchiano, M.: A Controlled Experiment on the Effectiveness of Test-Driven Development (2004) (submitted for publication)Google Scholar
  9. 9.
    Edwards, S.H.: Using test-driven development in the classroom: Providing students with concrete feedback on performance .Presented at Proceedings of the International Conference on Education and Information Systems: Technologies and Applications (EISTA 2003) (August 2003)Google Scholar
  10. 10.
    Morisio, M., Torchiano, M.: Perception of XP Practices in a University Environment, Dipartimento di Informatica e Automatica, Politecnico di Torino, Technical Report (2003)Google Scholar
  11. 11.
    George, B., Williams, L.: An Initial Investigation of Test Driven Development in Industry.Presented at ACM Symposium on Applied Computing, Melbourne, Florida (2003)Google Scholar
  12. 12.
    Williams, L., Maximilien, E.M., Vouk, M.: Test-Driven Development as a Defect- Reduction Practice. Presented at 14th Internation Symposium on Software Reliability Engineering, ISSRE 2003 (2003)Google Scholar
  13. 13.
    Müller, M.M., Hagner, O.: Experiment about Test-First Programming . Presented at Empirical Assessment in Software Engineering (EASE), Keele, UK (2002)Google Scholar
  14. 14.
    Long, M.: A Meta Analysis of the Quality and Productivity Benefits of Pair Programming and Test Driven Design,Christopher Newport University (2003)Google Scholar
  15. 15.
    Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Dordrecht (2000)zbMATHGoogle Scholar
  16. 16.
    Fowler, M.: UML Distilled. Addison Wesley, Reading (2000)Google Scholar
  17. 17.
  18. 18.
    Eclipse Platform Technical Overview, Object Technology International (2003), http://www.eclipse.org/whitepapers/eclipse-overview.pdf

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Yihong Wang
    • 1
  • Hakan Erdogmus
    • 1
  1. 1.Software Engineering Group, Institute for Information TechnologyNational Research Council of CanadaOttawaCanada

Personalised recommendations