Jump to content

Continuous test-driven development: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
KolbertBot (talk | contribs)
m Bot: HTTP→HTTPS (v461)
already in body per WP:SEEALSO / WP:OVERLINK , fix ref locn, Eng, sep lead, WP:ELNO -> refs
Line 1: Line 1:
{{Software development process}}
{{Software development process}}
'''Continuous test-driven development''' ('''CTDD''')<ref name=Madeyski13>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.</ref> is a [[software development]] practice that extends [[test-driven development]] (TDD) by means of automatic test execution in the background, sometimes called [[continuous testing]].<ref name=Saff03>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.</ref>


==Practice==
'''Continuous test-driven development''' ('''CTDD''') <ref name=Madeyski13>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.</ref> is a software development practice that extends [[test-driven development]] by means of automatic test execution in the background (sometimes called continuous testing<ref name=Saff03>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.</ref>). 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.
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===
== See also ==
{{main|Continuous testing#Continuous testing tools}}
* Infinitest open source Eclipse and IntelliJ plug-in<ref>https://infinitest.github.io/</ref>
* NCrunch commercial continuous testing plug-in for Visual Studio<ref>http://www.ncrunch.net/</ref>
* Autotest - continuous testing for Ruby<ref>https://github.com/grosser/autotest</ref>
* AutoTest.NET - autotest for .NET<ref>https://github.com/continuoustests/AutoTest.Net</ref>
* AutoTest.NET fork for CTDD<ref>https://github.com/ImpressiveCode/ic-AutoTest.NET4CTDD/</ref>
* Mighty-Moose - packaged version of AutoTest.NET<ref>http://www.continuoustests.com/</ref>
* Wallaby.js - continuous testing for JavaScript/TypeScript/CoffeeScript<ref>http://wallabyjs.com/</ref>


== References ==
{{Portal|Software Testing}}
{{Portal|Software Testing}}
{{reflist}}
{|
| valign=top |
* [[Test-driven development]]
* [[Continuous testing]]
|}

== References ==

{{reflist|2}}


== External links ==
== External links ==

* [http://madeyski.e-informatyka.pl/download/Madeyski13ENASE.pdf Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool]
* [http://madeyski.e-informatyka.pl/download/Madeyski13ENASE.pdf Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool]
* [https://infinitest.github.io/ Infinitest - open source Eclipse and IntelliJ plug-in]
* [http://www.ncrunch.net/ NCrunch - commercial continuous testing plug-in for Visual Studio]
* [https://github.com/grosser/autotest Autotest - continuous testing for Ruby]
* [https://github.com/continuoustests/AutoTest.Net AutoTest.NET - autotest for .NET]
* [https://github.com/ImpressiveCode/ic-AutoTest.NET4CTDD/ AutoTest.NET fork for CTDD]
* [http://www.continuoustests.com/ Mighty-Moose - packaged version of AutoTest.NET]
* [http://wallabyjs.com/ Wallaby.js - continuous testing for JavaScript/TypeScript/CoffeeScript]


{{DEFAULTSORT:Test-Driven Development}}
{{DEFAULTSORT:Test-Driven Development}}
Line 31: Line 26:
[[Category:Software development process]]
[[Category:Software development process]]
[[Category:Software testing]]
[[Category:Software testing]]


[[Category:Software development philosophies]]
[[Category:Software development philosophies]]

Revision as of 18:37, 9 March 2019

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

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

  • 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]

References

  1. ^ 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.
  2. ^ 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.
  3. ^ https://infinitest.github.io/
  4. ^ http://www.ncrunch.net/
  5. ^ https://github.com/grosser/autotest
  6. ^ https://github.com/continuoustests/AutoTest.Net
  7. ^ https://github.com/ImpressiveCode/ic-AutoTest.NET4CTDD/
  8. ^ http://www.continuoustests.com/
  9. ^ http://wallabyjs.com/