Continuous test-driven development
|Software development process|
A software developer at work
Continuous test-driven development (CTDD)  is a software development practice that extends test-driven development by means of automatic test execution in the background (sometimes called continuous testing). In CTDD the developer writes a test first but is not forced to execute the tests manually. The tests are run automatically by a continuous testing tool (see external links for examples) running in the background. This technique can potentially reduce the time waste resulting from manual test execution by eliminating the need for the developer to start the test after each phase of the normal TDD practice: after writing the (initially failing) test, after producing the minimal amount of code for the test to pass and after refactoring the code. It can potentially reduce the time waste resulting from manual test execution.
- Madeyski, L. and Kawalerowicz, M. Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool, Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), 2013, Angers, France, 4–6 July 2013: p.260-267.
- Saff, D. and Ernst, M. D. Reducing wasted development time via continuous testing, Fourteenth International Symposium on Software Reliability Engineering, 2003, Denver, USA, 17-20 November 2003: p.281-292.
- Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool
- Infinitest - open source Eclipse and IntelliJ plug-in
- JUnit Max - Eclipse CT plugin
- NCrunch - rich commercial continuous testing plug-in for Visual Studio
- Autotest - continuous testing for Ruby
- AutoTest.NET - autotest for .NET
- AutoTest.NET fork for CTDD
- Mighty-Moose - packaged version of AutoTest.NET