Towards traceable test-driven development
TEFSE '09 Proceedings of the 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering
Why an AI research team adopted XP practices
Proceedings of the 47th Annual Southeast Regional Conference
Bridging Test and Model-Driven Approaches in Web Engineering
ICWE '9 Proceedings of the 9th International Conference on Web Engineering
Information and Software Technology
Operational definition and automated inference of test-driven development with Zorro
Automated Software Engineering
Developing verification-driven learning cases
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
ComTest: a tool to impart TDD and unit testing to introductory level programming
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Impact of test-driven development on productivity, code and tests: A controlled experiment
Information and Software Technology
Critical issues on test-driven development
PROFES'11 Proceedings of the 12th international conference on Product-focused software process improvement
The effectiveness of test-driven development: an industrial case study
Software Quality Control
Learning to program through use of code verification
Journal of Computing Sciences in Colleges
An approach to test-driven development of conceptual schemas
Data & Knowledge Engineering
Proceedings of the 34th International Conference on Software Engineering
POPT: a problem-oriented programming and testing approach for novice students
Proceedings of the 2013 International Conference on Software Engineering
Considering rigor and relevance when evaluating test driven development: A systematic review
Information and Software Technology
Hi-index | 0.00 |
Test-driven development (TDD) is first and foremost a design practice. The question is, "How good are the resulting designs?" Advocates claim that TDD produces code that is simpler, more cohesive, and less coupled than code developed in a more traditional test-last way. Sounds good, but is it true? We collected evidence to substantiate or question the claims regarding TDD's influence on software. We focused on internal software quality that is, design and code characteristics such as code complexity, size, coupling, and cohesion. We conducted three quasicontrolled experiments and one case study in a Fortune 500 company and another two quasicontrolled experiments with university students in undergraduate and graduate software engineering courses. We evaluated 24 student and professional programmers working on 21 software projects ranging in size from a few hundred to over 30,000 lines of code. The results indicate that TDD programmers tend to write software modules that are smaller, less complex, and more highly tested than modules produced by their test-last counterparts. However, the results didn't support claims for lower coupling and increased cohesion with TDD.