Die testgetriebene Entwicklung kommt aus dem Bereich der agilen Softwareentwicklung und legt fest, dass Software-Tests vor der Entwicklung der zu testenden Komponenten erstellt werden. Zur Verwendung kommen sogenannte Grey-Box-Tests. Diese vereinen die Vorteile der White-Box-Tests [1] und der Black-Box-Tests [2] in sich:
1. Die Software-Tests werden vom Entwickler der Komponente selbst geschrieben (White-Box-Test)
2. Der Test wird ohne Kenntnis der Komponente (da diese ja noch nicht entwickelt ist) erstellt (Black-Box-Test)
Der Vorteil dieser Variante liegt darin, dass nicht um Fehler "herumgetestet" wird. D.h. die Tests werden nicht der Komponente angepasst, sondern die Komponente muss so funktionieren, wie dies im Test festgelegt wurde.
Bei dieser Art der Tests empfiehlt es sich jedoch eine hohe Disziplin an den Tag zu legen und zusätzliche Arbeitsweisen aus der agilen Softwareentwicklung zu nutzen. Zusätzlich sollte nicht auf Black-Box-Tests verzichtet werden.