Continuous test-driven development (CTDD)[1] is a software development practice that extends test-driven development (TDD) by means of automatic test execution in the background, sometimes called continuous testing.[2]
Practice
editIn 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 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.
Continuous testing tools
edit- Infinitest open source Eclipse and IntelliJ plug-in[3]
- NCrunch commercial continuous testing plug-in for Visual Studio[4]
- Autotest - continuous testing for Ruby[5]
- AutoTest.NET - autotest for .NET[6]
- AutoTest.NET fork for CTDD[7]
- Mighty-Moose - packaged version of AutoTest.NET[8]
- Wallaby.js - continuous testing for JavaScript/TypeScript/CoffeeScript[9]
- PyCrunch — continuous testing for Python, with PyCharm plugin[10]
References
edit- ^ 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.
- ^ "Infinitest". infinitest.github.io.
- ^ "NCrunch for Visual Studio". www.ncrunch.net.
- ^ "Save a file, autotest will run the matching tests! (Autotest without ZenTest): grosser/autotest". November 10, 2018 – via GitHub.
- ^ "AutoTest.NET is a tool for automatically running builds and test in the background when code changes. This practice gives you immediate feedback and helps facilitate real test driven development. -." February 19, 2019 – via GitHub.
- ^ "AutoTest.NET is a tool for automatically running builds and test in the background when code changes. This practice gives you immediate feedback and helps facilitate real test driven development. -." March 27, 2018 – via GitHub.
- ^ "Home". continuoustests.com.
- ^ "Wallaby - Integrated Continuous Test Runner for JavaScript". wallabyjs.com.
- ^ "PyCrunch TDD Assistant for Python". pycrunch.com.