Evaluation of Test-Driven Development

An Industrial Case Study

More Info
expand_more

Abstract

Test-driven development is a novel software development practice and part of the Extreme Programming paradigm. It is based on the principle that tests should be designed and written for a module iteratively, while the code of the module is devised. This is the opposite of what is usual in current software development methods in which testing is often an afterthought, rather than a primary driving factor of design. Once applied systematically and continuously, test-driven development is supposed to incorporate requirements changes easier, lead to superior technical solutions in software, result in better and cleaner code, and motivate all stakeholders. We present a development project carried out in a company in which we put those claims to a test. We found that, indeed, some of the claims are valid, but we can also report difficulties with applying the test-driven development approach. Preprint accepted for publication in proceedings of ENASE 2009, 4th International Conference on Evaluation of Novel Approaches to Software Engineering, 9 - 10 May 2009, Milan, Italy.