Automated software testing: introduction, management, and performance
Automated software testing: introduction, management, and performance
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Software Engineering Economics
Software Engineering Economics
Extreme Programming Installed
Test Driven Development: By Example
Test Driven Development: By Example
IEEE Software
Assessing test-driven development at IBM
Proceedings of the 25th International Conference on Software Engineering
Test-driven development goes to school
Journal of Computing Sciences in Colleges
NextGen eXtreme porting: structured by automation
Proceedings of the 2005 ACM symposium on Applied computing
On the Effectiveness of the Test-First Approach to Programming
IEEE Transactions on Software Engineering
Investigating the extreme programming system---An empirical study
Empirical Software Engineering
Introducing TDD on a free libre open source software project: a simulation experiment
Proceedings of the 2004 workshop on Quantitative techniques for software agile process
Adopting XP practices for teaching object oriented programming
ACE '06 Proceedings of the 8th Australasian Conference on Computing Education - Volume 52
Evaluating the efficacy of test-driven development: industrial case studies
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Modeling and simulation of open source development using an agile practice
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: AGILE methodologies for software production
Using formal models to objectively judge quality of multi-threaded programs in empirical studies
Proceedings of the 2008 international workshop on Models in software engineering
Test-driven development: can it work for spreadsheets?
Proceedings of the 4th international workshop on End-user software engineering
Empirical Software Engineering
Agent-based unit testing environment for extreme programming
Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications, 2004
A Test-oriented Embedded System Production Methodology
Journal of Signal Processing Systems
Proceedings of the 2005 conference on Software Engineering: Evolution and Emerging Technologies
Information and Software Technology
Operational definition and automated inference of test-driven development with Zorro
Automated Software Engineering
An open source simulation model of software development and testing
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
On the effectiveness of unit test automation at Microsoft
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
Modeling dynamics in agile software development
ACM Transactions on Management Information Systems (TMIS)
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
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
Evaluate XP effectiveness using simulation modeling
XP'05 Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering
SPW/ProSim'06 Proceedings of the 2006 international conference on Software Process Simulation and Modeling
Is external code quality correlated with programming experience or feelgood factor?
XP'06 Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering
The effect of test-driven development on program code
XP'06 Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering
An approach to test-driven development of conceptual schemas
Data & Knowledge Engineering
Proceedings of the 34th International Conference on Software Engineering
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
Considering rigor and relevance when evaluating test driven development: A systematic review
Information and Software Technology
On the role of tests in test-driven development: a differentiated and partial replication
Empirical Software Engineering
Hi-index | 0.00 |
Test Driven Development (TDD) is a software development practice in which unit test cases are incrementally written prior to code implementation. In our research, we ran a set of structured experiments with 24 professional pair programmers. One group developed code using TDD while the other a waterfall-like approach. Both groups developed a small Java program. We found that the TDD developers produced higher quality code, which passed 18% more functional black box test cases. However, TDD developer pairs took 16% more time for development. A moderate correlation between time spent and the resulting quality was established upon analysis. It is conjectured that the resulting high quality of code written using the TDD practice may be due to the granularity of TDD, which may encourage more frequent and tighter verification and validation. Lastly, the programmers which followed a waterfall-like process often did not write the required automated test cases after completing their code, which might be indicative of the tendency among practitioners toward inadequate testing. This observation supports that TDD has the potential of increasing the level of testing in the industry as testing as an integral part of code development.