Test-driven development (
TDD) is a
software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated
test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally
refactors the new code to acceptable standards.
Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.