loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
19th Conference on Software Engineering Education & Training (CSEET'06)
On the Influence of Test-Driven Development on Software Design
Turtle Bay, Hawaii
April 19-April 21
ISBN: 0-7695-2557-1
David S. Janzen, University of Kansas, Lawrence, KS USA
Hossein Saiedian, University of Kansas, Lawrence, KS USA
Test-driven development (TDD) is an agile software development strategy that addresses both design and testing. This paper describes a controlled experiment that examines the effects of TDD on internal software design quality. The experiment was conducted with undergraduate students in a software engineering course. Students in three groups completed semester-long programming projects using either an iterative Test-First (TDD), iterative Test-Last, or linear Test-Last approach. Results from this study indicate that TDD can be an effective software design approach improving both code-centric aspects such as object decomposition, test coverage, and external quality, and developer-centric aspects including productivity and confidence. In addition, iterative development approaches that include automated testing demonstrated benefits over a more traditional linear approach with manual tests. This study demonstrates the viability of teaching TDD with minimal effort in the context of a relatively traditional development approach. Potential dangers with TDD are identified regarding programmer motivation and discipline. Pedagogical implications and instructional techniques which may foster TDD adoption will also be referenced.
Citation:
David S. Janzen, Hossein Saiedian, "On the Influence of Test-Driven Development on Software Design," cseet, pp.141-148, 19th Conference on Software Engineering Education & Training (CSEET'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.