Teknikken test-drevet utvikling (TDD) ble beskrevet av Kent Beck på slutten av 1990-tallet i forbindelse med smidig-metodikken Extreme Programming (XP). TDD dreier seg om å skrive testkode før man skriver produksjonskode - som en kjørbar spesifikasjon av hva koden skal utføre.
Utviklere som benytter TDD opplever ofte færre feil, bedre fokus og større trygghet i forhold til å gjøre forbedringer i den interne strukturen i programmene - noe som ofte er nødvendig etterhvert som ny funksjonalitet legges til.
Det finnes flere “retninger” innenfor TDD, for eksempel er man i akseptansetest-drevet utvikling (ATDD) opptatt av å skrive tester “fra utsiden og inn”, mens andre foretrekker å begynne med tester på kjernen av systemet først.