Sobald durch die Codeabdeckungsanalyse die Vollständigkeit der Tests gegeben ist und die Tests im gesamten Unternehmen eingesetzt werden, kommt der nächste Schritt: sicherstellen, dass die Tests zügig durchgeführt werden. Einer der Gründe, warum Tests zwischen verschiedenen Gruppen aufgeteilt werden, ist, dass es Stunden oder gar Tage dauern kann, einen Gesamtsystemtest durchzuführen. Es ist für einen Entwickler aber unzumutbar, wenn er nach der Änderung einer einzelnen Codezeile eine zehnstündige Testphase durchführen muss. Wie also die Testzeit verringern, gleichzeitig aber die Vollständigkeit der Tests gewährleisten? Der Schlüssel ist, eine skalierbare Testinfrastruktur zu bilden, die parallele und änderungsbasierte Tests nutzt [3].
Individuelle Tests müssen »atomar«, klein und schnell durchführbar sein. Zu häufig werden Testsuiten im Laufe der Zeit mit neuen Tests, die einfach in bereits existierende Tests eingefügt worden sind, eng verkoppelt. So werden die Tests anfällig und deren Wartung sehr zeitintensiv. Dieser einfache Gedanke sollte bei der Gestaltung von Tests im Hinterkopf behalten werden: Jeder Test sollte seine eigenen Vorbedingungen definieren und sich nicht auf das Ergebnis (Output) anderer Tests verlassen (Bild 3). Abgesehen von den Vorteilen bei der Testwartung, ermöglicht die Neugestaltung des Testaufbaus:
Obwohl heute jedes Unternehmen ein Software-Build-System im Einsatz hat, das unbeaufsichtigte inkrementelle Anwendungserstellung ermöglicht, haben die meisten keine inkrementellen Testmöglichkeiten implementiert. Viel zu oft werden Tests zwar regelmäßig, aber nicht ständig, inkrementell und vollautomatisiert durchgeführt. Änderungsbasiertes Testen (Change-Based Testing; CBT) analysiert alle Änderungen an der Codebasis und selektiert daraufhin alle Tests, die von diesen Änderungen betroffen sind. So lässt sich vollständiges Testen innerhalb recht kurzer Zeit gewährleisten. Weiterhin stellt änderungsbasiertes Testen ein Hilfsmittel dar, einen strengen Continuous-Integration-Entwicklungsprozess (CI) zu implementieren. Während der Check-in-Phase der CI ist CBT ein effizientes Mittel, die Erstellung zu verifizieren sowie Probleme frühzeitig zu erkennen.
Um die Geschwindigkeit weiter zu erhöhen, sollte man parallele Tests in Betracht ziehen. Durch die Integration der Testplattform mit einem Continuous-Integration-Server und virtualisierten Testmaschinen lässt sich die Gesamttestzeit von Stunden auf Minuten oder sogar Sekunden verkürzen.