Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Pair Programming Illuminated
Test Driven Development: By Example
Test Driven Development: By Example
Software Metrics: A Rigorous and Practical Approach
Software Metrics: A Rigorous and Practical Approach
Assessing test-driven development at IBM
Proceedings of the 25th International Conference on Software Engineering
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
A Prototype Empirical Evaluation of Test Driven Development
METRICS '04 Proceedings of the Software Metrics, 10th International Symposium
On Agile Performance Requirements Specification and Testing
AGILE '06 Proceedings of the conference on AGILE 2006
A Survey of Unit Testing Practices
IEEE Software
Evaluating the efficacy of test-driven development: industrial case studies
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Evaluating advantages of test driven development: a controlled experiment with professionals
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
The Security Development Lifecycle
The Security Development Lifecycle
On the Sustained Use of a Test-Driven Development Practice at IBM
AGILE '07 Proceedings of the AGILE 2007
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Empirical Software Engineering
Insights into component testing process
Proceedings of the 2nd International Workshop on Emerging Trends in Software Metrics
Hi-index | 0.00 |
Instituting an automated unit testing practice across a large software development team can be technically challenging and time consuming. As a result, teams may question the economic value of instituting such a practice. One large Microsoft team consisting of 32 developers transitioned from ad hoc and individualized unit testing practices to the utilization of the NUnit automated unit testing framework by all members of the team. These automated unit tests were typically written by developers after they completed coding functionality, approximately every two to three days. After a period of one year of utilizing this automated unit testing practice on Version 2 of a product, the team realized a 20.9% decrease in test defects at a cost of approximately 30% more development time relative to Version 1 of the product. The product also had a relative decrease in defects found by customers during the first two years of field use. Comparatively, other industrial teams have experienced larger decreases in defects when automated unit tests are written iteratively, as is done with the test driven development practice, for a similar time increase. These results indicate automated unit testing is beneficial but additional quality improvements may be realized if the tests are written iteratively.