On the Influence of Test-Driven Development on Software Design

@article{Janzen2006OnTI,
  title={On the Influence of Test-Driven Development on Software Design},
  author={David S. Janzen and Hossein Saiedian},
  journal={19th Conference on Software Engineering Education \& Training (CSEET'06)},
  year={2006},
  pages={141-148}
}
Test-driven development (TDD) is an agile software development strategy that addresses both design and testing. This paper describes a controlled experiment that examines the effects of TDD on internal software design quality. The experiment was conducted with undergraduate students in a software engineering course. Students in three groups completed semester-long programming projects using either an iterative test-first (TDD), iterative test-last, or linear test-last approach. Results from… Expand
An empirical evaluation of the impact of test-driven development on software quality
Test-driven development (TDD) has gained recent attention with the popularity of the Extreme Programming agile software development methodology. Advocates of TDD rely primarily on anecdotal evidenceExpand
A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage
TLDR
The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly superior to iterative test-last development. Expand
A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage
  • M. Siniaalto, P. Abrahamsson
  • Computer Science
  • First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007)
  • 2007
TLDR
The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly superior to iterative test-last development. Expand
To test before or to test after---an experimental investigation of the impact of test driven development
TLDR
An important finding of this study was that collaborating pairs outperformed second best programmers in nominal groups in terms of software quality, when both groups used TDD. Expand
Does Test-Driven Development Improve the Program Code? Alarming Results from a Comparative Case Study
TLDR
A comparative case study of five small scale software development projects where the effect of TDD on program design was studied using both traditional and package level metrics reveals that an unwanted side effect can be that some parts of the code may deteriorate. Expand
Test-driven learning in early programming courses
TLDR
It is demonstrated that TDL can be applied in CS1/2, but it is suggested that a more pervasive implementation of TDL may be necessary to motivate and establish disciplined testing practice among early programmers. Expand
Achieving quality on software design through test-driven development
Test-driven development (TDD) is a technique for developing and designing software where tests are created before production code in short cycles. There is some discussion in the software engineeringExpand
An experimental evaluation of test driven development vs. test-last development with industry professionals
TLDR
The results of the experiment revealed that the majority of developers in the experiment prefer TLD over TDD, given the lesser required level of learning curve as well as the minimum effort needed to understand and employ TLD compared to TDD. Expand
A Test-Driven Approach to Improving Student Contributions to Open-Source Projects
TLDR
It was found that students in the TDD group were able to apply test-driven techniques pragmatically-spending more than 20% of their time on average complying with the test- driven process-throughout the whole project. Expand
Realizing quality improvement through test driven development: results and experiences of four industrial teams
TLDR
Case studies were conducted with three development teams at Microsoft and one at IBM that have adopted TDD and indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 23 REFERENCES
Test-driven learning: intrinsic integration of testing into the CS/SE curriculum
TLDR
Examples of how TDL can be incorporated at multiple levels in computer science and software engineering curriculum for beginning through professional programmers are provided and the relationships between TDL and test-driven development will be explored. Expand
A structured experiment of test-driven development
TLDR
Experimental results tend to indicate that TDD programmers produce higher quality code because they passed 18% more functional black-box test cases and took 16% more time, which supports the perception thatTDD has the potential for increasing the level of unit testing in the software industry. Expand
On the effectiveness of the test-first approach to programming
TLDR
It is found that test-first students on averagewrote more tests and, in turn, students who wrote more tests tended to be more productive, and the minimum quality increased linearly with the number of programmer tests, independent of the development strategy employed. Expand
Towards empirical evaluation of test-driven development in a university environment
TLDR
The preliminary results show that TDD is not substantially different from ITL and the qualitative findings about a development process are different from results obtained from other researches. Expand
Test-driven development as a defect-reduction practice
TLDR
This case study found that the code developed using a test-driven development practice showed, during functional verification and regression tests, approximately 40% fewer defects than a baseline prior product developed in a more traditional fashion. Expand
Agile Software Development, Principles, Patterns, and Practices
TLDR
This comprehensive, pragmatic tutorial on Agile Development and eXtreme programming, written by one of the founding father of Agile development, teaches software developers and project managers how to get projects done on time, and on budget using the power ofAgile Development. Expand
Software architecture improvement through test-driven development
This research involves empirical software engineering studies applied in academic and professional settings to assess the influence of test-driven development on software quality. Particular focus isExpand
Rethinking computer science education from a test-first perspective
TLDR
A new vision for computer science education is presented, centered around the use of test-driven development in all programming assignments, from the beginning of CS1, to induce a cultural shift in how students behave. Expand
Test-driven development concepts, taxonomy, and future direction
Test-driven development creates software in very short iterations with minimal upfront design. This strategy requires writing automated tests prior to developing functional code in small, rapidExpand
Test Driven Development: A Practical Guide
Test-Driven Development: A Practical Guide presents TDD from the perspective of the working programmer: real projects, real challenges, real solutions, ...real code. Dave Astels explains TDD throughExpand
...
1
2
3
...