TDD eller Test Driven Development er en måde at strukturer vores projekt. Her sætter vi Softwaretest øverst på vores prioriteringsliste.
Når vi skal lave et nyt stykke software eller tilføje en feature, starter vi processen ud med at skrive testen, vi specificere altså hvad vi forventer vores program gør inden at vi laver programmet som gør det. Her kombinere vi det med koncepter som KISS, DRY og specielt SOLID for at få den bedste software løsning.
Idéen med at skrive en test inden at skrive programmet, er at vores program bliver så simpelt som muligt, Keep It Simple Stupid!, fordi vi kun skal skrive kode som specifikt skal løse den ene case, altså den test som er skrevet til det. Vi tænker ofte ikke på hvordan koden skal skalere eller hvad nu hvis det her eller det her ændre sig, for vi skal kun løse den her ene test!