• DocumentCode
    34654
  • Title

    Effects of Developer Experience on Learning and Applying Unit Test-Driven Development

  • Author

    Latorre, Roberto

  • Author_Institution
    Univ. Autonoma de Madrid, Madrid, Spain
  • Volume
    40
  • Issue
    4
  • fYear
    2014
  • fDate
    Apr-14
  • Firstpage
    381
  • Lastpage
    395
  • Abstract
    Unit test-driven development (UTDD) is a software development practice where unit test cases are specified iteratively and incrementally before production code. In the last years, researchers have conducted several studies within academia and industry on the effectiveness of this software development practice. They have investigated its utility as compared to other development techniques, focusing mainly on code quality and productivity. This quasi-experiment analyzes the influence of the developers´ experience level on the ability to learn and apply UTDD. The ability to apply UTDD is measured in terms of process conformance and development time. From the research point of view, our goal is to evaluate how difficult is learning UTDD by professionals without any prior experience in this technique. From the industrial point of view, the goal is to evaluate the possibility of using this software development practice as an effective solution to take into account in real projects. Our results suggest that skilled developers are able to quickly learn the UTDD concepts and, after practicing them for a short while, become as effective in performing small programming tasks as compared to more traditional test-last development techniques. Junior programmers differ only in their ability to discover the best design, and this translates into a performance penalty since they need to revise their design choices more frequently than senior programmers.
  • Keywords
    learning (artificial intelligence); program testing; software quality; UTDD; code quality; learning; productivity; software development; unit test-driven development; Context; Production; Programming profession; Software; Testing; Training; Test-driven development; process conformance; programmer productivity; software construction; software engineering process; software quality/SQA; test-first design;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.2295827
  • Filename
    6690135