• DocumentCode
    1996082
  • Title

    Evaluating Test-Driven Development in an Industry-Sponsored Capstone Project

  • Author

    Vu, John Huan ; Frojd, Niklas ; Shenkel-Therolf, Clay ; Janzen, David S.

  • Author_Institution
    California Polytech. State Univ., San Luis Obispo, CA
  • fYear
    2009
  • fDate
    27-29 April 2009
  • Firstpage
    229
  • Lastpage
    234
  • Abstract
    Test-Driven Development (TDD) is an agile development process wherein automated tests are created before production code is designed or constructed in short, rapid iterations. This paper discusses an experiment conducted with undergraduate students in a year-long software engineering capstone course. In this course the students designed, implemented, deployed, and maintained a software system to meet the requirements of an industry sponsor who served as the customer. The course followed an incremental process in which features were added incrementally under the direction of the industry sponsor and the professor. The fourteen students observed in the study were divided into three teams. Among the three teams were two experimental groups. One group consisted of two teams that applied a Test-First (TDD) methodology, while a control group applied a traditional Test-Last methodology. Unlike Test-First, the tests in Test-Last are written after the design and construction of the production code being tested. Results from this experiment differ from many previous studies. In particular, the Test-Last team was actually more productive and wrote more tests than their Test-First counterparts. Anecdotal evidence suggests that factors other than development approach such as individual ambition and team motivation may have more affect than the development approach applied. Although more students indicated a preference for the Test-First approach, concerns regarding learning and applying TDD with unfamiliar technologies are noted.
  • Keywords
    computer science education; program testing; software engineering; agile development process; industry-sponsored capstone project; production code; software engineering capstone course; team motivation; test-driven development; test-first methodology; test-last methodology; undergraduate students; Automatic testing; Computer industry; Information technology; Production; Programming profession; Software design; Software engineering; Software maintenance; Software quality; Software testing; Test- First methodology; Test-Driven Development (TDD); Test-Last methodology; capstone project; software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Information Technology: New Generations, 2009. ITNG '09. Sixth International Conference on
  • Conference_Location
    Las Vegas, NV
  • Print_ISBN
    978-1-4244-3770-2
  • Electronic_ISBN
    978-0-7695-3596-8
  • Type

    conf

  • DOI
    10.1109/ITNG.2009.11
  • Filename
    5070622