Test-driven development: Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: url-access=subscription updated in citation with #oabot.
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(3 intermediate revisions by 2 users not shown)
Line 2:
{{Software development process}}
 
'''Test-driven development''' ('''TDD''') is a way of writing [[source code|code]] that involves writing an [[test automation|automated]] [[unit testing|unit-level]] [[Test case (software)|test case]] that fails, then writing just enough code to make the test pass, then [[refactoring]] both the test code and the production code, then repeating with another new test case.
 
Alternative approaches to writing automated tests is to write all of the production code before starting on the test code or to write all of the test code before starting on the production code. With TsDDTDD, both are written together, therefore shortening debugging time necessities.<ref>{{Cite journal |last1=Parsa |first1=Saeed |last2=Zakeri-Nasrabadi |first2=Morteza |last3=Turhan |first3=Burak |date=2025-01-01 |title=Testability-driven development: An improvement to the TDD efficiency |url=https://www.sciencedirect.com/science/article/pii/S0920548924000461 |journal=Computer Standards & Interfaces |volume=91 |pages=103877 |doi=10.1016/j.csi.2024.103877 |issn=0920-5489|url-access=subscription }}</ref>
 
TDD is related to the test-first programming concepts of [[extreme programming]], begun in 1999,<ref name="Cworld92">{{cite web |url=http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,66192,00.html |title=Extreme Programming |author=Lee Copeland |date=December 2001 |publisher=Computerworld |access-date=January 11, 2011 |archive-url=https://web.archive.org/web/20110605060209/http://www.computerworld.com/s/article/66192/Extreme_Programming?taxonomyId=063 |archive-date=June 5, 2011 |url-status=dead }}</ref> but more recently has created more general interest in its own right.<ref name=Newkirk>Newkirk, JW and Vorontsov, AA. ''Test-Driven Development in Microsoft .NET'', Microsoft Press, 2004.</ref>
Line 267:
| date=2012-10-19 |access-date=2014-03-25}}</ref>
 
Management support is essential. Without the entire organization believing that test-driven development is going to improve the product, management may feel that time spent writing tests is wasted.<ref>{{cite web
{{cite web
| url=http://people.apache.org/~stevel/slides/testing.pdf
| title=Testing
Line 276 ⟶ 275:
| publisher=HP Laboratories
| access-date=2009-08-12
| archive-date=2009-02-20
| archive-url=https://web.archive.org/web/20090220052052/http://people.apache.org/~stevel/slides/testing.pdf
| url-status=dead
}}</ref>
 
Line 310 ⟶ 312:
* [[Self-testing code]]
* [[Software testing]]
* [[Test case]]
* [[Transformation Priority Premise]]
* [[Unit testing]]