Razvoj vođen testiranjem iliti takozvani test-driven development vrlo je popularan proteklih godina. Podrazumeva pisanje testa pre koda.
Njegov glavni princip je crveno-zeleno-refaktorisanje (red-green-refactor) koji govori o sledećem:
1) Napišu se testovi za novu funkcionalnost, bag koji treba da se ispravi ili izmenu postojećeg ponašanja aplikacije. Testovi treba da neizostavno padnu nakon izvršavanja, što je i očekivano pošto nova funkcionalnost još nije razvijena. Nije očekivano da testovi prođu, jer u tom slučaju ništa nismo uradili.
2) Napiše se taman dovoljno koda koliko je potrebno da testovi prođu. Ne zanima nas njegov kvalitet. Izvršimo testove kako bi potvrdili da sada prolaze.
3) Poboljšavamo napisani kod, tako da ne oborimo testove. Obriše se sav dupli kod, unese se optmizacija, obrišu zakucane vrednosti, smanje metode i slično. Sigurni smo da su promene dobre sve dok testovi prolaze. U ovom koraku možemo takođe da refaktorišemo i testove. Ipak ne smemo da brišemo prvu verziju testa, sve dok ne budemo sigurni da je refaktorisani test dobar i da testira upravo ono što i treba da testira.
4) Vraćamo se ne korak 1.
Bitno je napomenuti da jednom napisani test moramo nastaviti da izvršavamo nakon svake nove izmene koda, kako bi bili sigurni da se ništa nije pokvarilo.