Test-driven development is a software engineering method in which a programmer writes an automated test for a small piece of intended functionality before writing the code that implements it, then writes just enough code to make that test pass, and finally refactors the code to improve its structure while keeping the test passing, repeating this cycle for each new piece of functionality. The practice, popularized by Kent Beck as part of extreme programming in the late 1990s, aims to produce a comprehensive suite of automated tests as a natural byproduct of writing the code itself, catching regressions early and giving developers confidence to change or refactor a codebase without breaking existing behavior.
Facts
Core PrincipleTest-driven development is a way to write source code that involves writing an automated unit-level 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. 1 Origin Year2003 is when Kent Beck stated his own account of rediscovering and formalizing the technique; the underlying practice traces to an older, unnamed method he describes reading about. Connections
Sources
1. Test-driven development (Wikipedia)
Wikipedia contributors, Wikimedia Foundationen.wikipedia.org/wiki/Test-driven_development, lead section
writing an automated unit-level 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
en.wikipedia.org/wiki/Test-driven_development, History section
Software engineer Kent Beck, who is credited with having developed or "rediscovered" the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.
View the Source Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.
View At A Past Year
Choose a year to see this entry's facts and connections as the atlas records them at that moment: what it held then, what it held instead, and what it had not yet adopted. Choose Present for the current record.