Die Entwicklung in XP-Projekten ist Test-getrieben. Zur Umsetzung einer User Stories in eine Komponente wird zunächst ein Komponententest (Unit-Test) implementiert. Der Testfall überprüft die fachlichen Funktionen, also die Umsetzung der Anforderungen. Die eigentliche Komponente wird nach dem Testfall umgesetzt. Die Entwicklung iteriert daher zügig zwischen der Implementierung der Tests und der Fachlichkeit.
Die Komponententests müssen automatisch ausführbar sein und keine Interpretation durch einen Tester erfordern. Sie haben lediglich die Informationen „Test bestanden“ (Grüner-Balken) bzw. „Test nicht bestanden“ (Roter-Balken) als Ergebnis. Zusätzlich müssen die Testfälle wiederholbar sein, damit können sie zu großen regressionsfähigen Testsuiten kombiniert werden. Das Framework JUnit wurde in diesem Zusammenhang entwickelt und hat hohen Bekanntheitsgrad erreicht.
Umfangreiche, wiederholbare Testsuiten sind eine Voraussetzung für das Refactoring. Mit der Testsuite wird festgestellt, ob die Software nach einem Refactoring noch korrekt funktioniert.
Die Fehlerbehebung ist ebenso Test-getrieben. Vor der Behebung eines Fehlers wird zunächst ein Testfall implementiert, der diesen Fehler produziert. Der Testfall wird danach in die Regressionstests integriert.