A Test-Driven Development (tesztvezérelt fejlesztés) egy szoftverfejlesztési megközelítés, amelyben először teszteket írunk a megvalósítandó funkciókhoz, és csak azután kezdjük meg a tényleges kódolást, hogy a tesztek teljesüljenek.
A Behavior-Driven Development (viselkedésvezérelt fejlesztés) a TDD kiterjesztése, amely az üzleti értékre és a rendszer elvárt viselkedésére helyezi a hangsúlyt, természetes nyelven megfogalmazott specifikációkkal és tesztesetekkel.