Here the known empirical studies about effectiveness of TDD:
- IMPROVING BUSINESS AGILITY THROUGH TECHNICAL SOLUTIONS: A Case Study on Test-Driven Development in Mobile Software Development, 2005
1 study in industrial context
http://agile.vtt.fi/docs/publications/2005/2005_business_quality_ifip.pdf
- Test driven development: empirical body of evidence, 2006
7 studies documented in industrial context
6 studies documented in academic context
conducted between 2001-2005
http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf
- TDD--The Art of Fearless Programming, 2007
10 studies documented in industrial context
9 studies documented in academic context
conducted between 2001-2007
http://www.computer.org/portal/web/csdl/doi?doc=doi/10.1109/MS.2007.75
- A Survey of Evidence for Test Driven Development in Academia, 2008
18 studies documented in academic context
conducted between 2002-2008
http://works.bepress.com/djanzen/12/
- Measuring the impact of testing on code structure in Test Driven Development: metrics and empirical analysis, 2009
2 studies in academic context
http://www.xp2009.org/etsm2009/doc/Canfora_Visaggio_2009.pdf
- Madeyski, L. 2010. Test-Driven Development: An Empirical Evaluation of Agile Practice, Springer.
- Madeyski, L. 2006. The Impact of Pair Programming and Test-Driven Development on Package Dependencies in Object-Oriented Design - An Experiment. Lecture Notes in Computer Science, 4034:278-289, Springer
Documents 2, 3 and 4 already list and summarize a lot of other papers not directly mentioned here.
Overall the empirical studies report an increased quality as reduced bugs around 40% (range from 5% to >200%), an improved effort around 15% (range from improved productivity to duplicated effort) and a reduced code complexity.