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
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;
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
DOI :
10.1109/ITNG.2009.11