Continuous test-driven development
{{Short description|Software development practice}}
{{Software development process}}
Continuous test-driven development (CTDD)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. is a software development practice that extends test-driven development (TDD) by means of automatic test execution in the background, sometimes called continuous testing.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.
Practice
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 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=
{{main|Continuous testing#Continuous testing tools}}
- Infinitest open source Eclipse and IntelliJ plug-in{{Cite web|url=https://infinitest.github.io/|title=Infinitest|website=infinitest.github.io}}
- NCrunch commercial continuous testing plug-in for Visual Studio{{Cite web|url=https://www.ncrunch.net/|title=NCrunch for Visual Studio|website=www.ncrunch.net}}
- Autotest - continuous testing for Ruby{{Cite web|url=https://github.com/grosser/autotest|title=Save a file, autotest will run the matching tests! (Autotest without ZenTest): grosser/autotest|date=November 10, 2018|via=GitHub}}
- AutoTest.NET - autotest for .NET{{Cite web|url=https://github.com/continuoustests/AutoTest.Net|title=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. -..|date=February 19, 2019|via=GitHub}}
- AutoTest.NET fork for CTDD{{Cite web|url=https://github.com/ImpressiveCode/ic-AutoTest.NET4CTDD|title=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. -..|date=March 27, 2018|via=GitHub}}
- Mighty-Moose - packaged version of AutoTest.NET{{cite web |url=http://www.continuoustests.com/ |title=Home |website=continuoustests.com}}
- Wallaby.js - continuous testing for JavaScript/TypeScript/CoffeeScript{{Cite web|url=http://wallabyjs.com/|title=Wallaby - Integrated Continuous Test Runner for JavaScript|website=wallabyjs.com}}
- PyCrunch — continuous testing for Python, with PyCharm plugin{{Cite web|url=https://pycrunch.com/|title=PyCrunch TDD Assistant for Python|website=pycrunch.com}}
References
{{reflist}}
External links
- [http://madeyski.e-informatyka.pl/download/Madeyski13ENASE.pdf Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool]
{{DEFAULTSORT:Test-Driven Development}}