Managing the software process
ICSE '89 Proceedings of the 11th international conference on Software engineering
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Case study: extreme programming in a university environment
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Test Driven Development: By Example
Test Driven Development: By Example
Issues in Using Students in Empirical Studies in Software Engineering Education
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
Test-Driven Development as a Defect-Reduction Practice
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
An initial investigation of test driven development in industry
Proceedings of the 2003 ACM symposium on Applied computing
On the Effectiveness of the Test-First Approach to Programming
IEEE Transactions on Software Engineering
Empirical 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
A unit test approach for database schema evolution
Information and Software Technology
Empirical software engineering at Microsoft Research
Proceedings of the ACM 2011 conference on Computer supported cooperative work
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
Bug localization in test-driven development
Advances in Software Engineering
An approach to test-driven development of conceptual schemas
Data & Knowledge Engineering
Exploring influences on student adherence to test-driven development
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Understanding and persuading adherence to test-driven development
Proceedings of the ninth annual international conference on International computing education research
The impact of process maturity on defect density
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Quality impact of introducing component-level test automation and test-driven development
EuroSPI'07 Proceedings of the 14th European conference on Software Process Improvement
The impact of test-driven development on software development productivity: an empirical study
EuroSPI'07 Proceedings of the 14th European conference on Software Process Improvement
Impacts of adaptive feedback on teaching test-driven development
Proceeding of the 44th ACM technical symposium on Computer science education
Effective and ineffective software testing behaviors by novice programmers
Proceedings of the ninth annual international ACM conference on International computing education research
Extended iterative maintenance life cycle using eXtreme programming
ACM SIGSOFT Software Engineering Notes
Considering rigor and relevance when evaluating test driven development: A systematic review
Information and Software Technology
Hi-index | 0.00 |
This paper discusses software development using the Test Driven Development (TDD) methodology in two different environments (Windows and MSN divisions) at Microsoft. In both these case studies we measure the various context, product and outcome measures to compare and evaluate the efficacy of TDD. We observed a significant increase in quality of the code (greater than two times) for projects developed using TDD compared to similar projects developed in the same organization in a non-TDD fashion. The projects also took at least 15% extra upfront time for writing the tests. Additionally, the unit tests have served as auto documentation for the code when libraries/APIs had to be used as well as for code maintenance.