Zuerst müssen wir einchecken (Rauch) -Tests, die ausgeführt werden müssen, bevor der Code eingecheckt werden kann. Dies geschieht automatisch, indem ein Job ausgeführt wird, der die Tests ausführt und dann nach erfolgreichem Test den Quellcode eincheckt . Zweitens startet Cruise Control Build- und Regressionstests. Das Produkt wird gebaut, dann werden mehrere Integrationstests durchgeführt. Die Anzahl der Tests hängt davon ab, wo wir uns im Release-Zyklus befinden. Weitere Tests werden spät während des Herunterfahrens hinzugefügt. Die Geschwindigkeitsregelung nimmt alle Einreichungen innerhalb eines bestimmten Zeitfensters (12 Minuten) entgegen, so dass Ihre Änderungen mit einer kleinen Anzahl anderer erstellt und getestet werden können. Drittens gibt es einen automatisierten nächtlichen Build und Tests, die ziemlich umfangreich sind. Wir haben alle 2 oder 3 Wochen Lade- oder Meilensteinpunkte. An einem Lastpunkt werden alle automatisierten Tests ausgeführt, und manuelle Tests werden durchgeführt. Performance-Tests werden auch für jeden Meilenstein durchgeführt. Leistungstests können auf Anfrage gestartet werden, aber die verfügbare Hardware ist begrenzt, so dass die Leute sich für Leistungstests anstellen müssen. In der Regel verlassen sich die Benutzer auf die Lasttests, es sei denn, sie nehmen Änderungen vor, um die Leistung zu verbessern. Schließlich werden auch Belastungstests für jede Ladung durchgeführt. Diese Tests konzentrieren sich darauf, sicherzustellen, dass das Produkt keine Speicherlecks oder irgendetwas anderes aufweist, das den 24-Stunden-Betrieb des Produkts im Gegensatz zur Leistung verhindert. All dies geschieht mit Ameisen-, Tempomat- und Python-Skripten.