Balancing Agility and Formalism in Software Engineering
Information and Software Technology
Operational definition and automated inference of test-driven development with Zorro
Automated Software Engineering
On the effectiveness of unit test automation at Microsoft
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
Impact of test-driven development on productivity, code and tests: A controlled experiment
Information and Software Technology
Empirical Software Engineering
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
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 a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and iterative manner. Both the literature and practice suggest that TDD practice yields several benefits. Essentially, it is claimed that TDD leads to an improved software design, which has a dramatic impact on the maintainability and further development of the system. The impact of TDD on program design has seldom come under the researchers' focus. This paper reports the results from a comparative case study of three software development projects where the effect of TDD on program design was measured using object-oriented metrics. The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly superior to iterative test-last development.