Il '''Test Driven Development''', in sigla '''TDD''' (in italiano: ''Sviluppo guidato dalle verifiche'') è un [[ciclo di vita del software|processo di sviluppo del software]] in cui silo creanosviluppo ivero teste primaproprio delè preceduto (e guidato, ''driven'') dalla stesura di [[codiceAutomazione sorgentedel collaudo del software|test automatici]]. Il processo si articola sulla ripetizione di brevi cicli di sviluppo e collaudo (noti come "cicli TDD", ''TDD cycles'') suddivisi in tre fasi successive, sintetizzate dal motto "Red-Green-Refactor". Nella prima ("Red"), il programmatore scrive un test automatico (che necessariamente fallisce) per la funzionalità da sviluppare. Nella seconda, il programmatore scrive la quantità minima di codice necessaria per ottenere il superamento del test. Nella terza, il programmatore ristruttura il codice (ovvero ne fa il [[softwarerefactoring]]). ObiettivoprimarioI dicolori questo"rosso" processoe è"verde" quindisi lariferiscono alla rappresentazione grafica di specificazionefallimento e nonsuccesso ladi validazioneun deltest codiceautomatico più diffusa negli [[Integrated Development Environment|IDE]].
Sviluppato e diffuso da [[Kent Beck]], fa parte delle 12 regole alla base dell'[[Extreme Programming]] (XP). Si tenga conto che mentreMentre XP è una [[metodologia agile]], il Test Driven DevelopmentTDD è una [[pratica agile]].
==Ciclo di sviluppo==
Il Test Driven Development si articola in 5 fasi:
# scrittura del test;
# verifica del fallimento del test (poiché non esiste ancora il codice che deve testare);