(ang. test-driven development)
• bardzo przejrzyście sformułowane wymagania względem systemu
•zmniejszenie ilości błędów - usterki wyłapywane „na bieżąco"
•oszczędności czasowe! (mniej debugowania)
• modularność, rozszerzalność kodu
•dodatkowe nakłady pracy bez wyczuwalnych zysków (więcej tworzonego kodu)
•żmudny proces tworzenia testów
Testowanie oprogramowania