Eine gute Continuous Integration läuft weniger als 10 Minuten - etwa die Zeit, um einen neuen Kaffee zu holen. Diese Ansicht teilen die Entwickler:innen von Dolby mit vielen Kolleg:innen aus anderen Organisationen. Für Dolby liegt die größte Herausforderung dabei in der Laufzeit der (automatisierten) Tests, denn viele dieser Tests müssen wenigstens alle paarweisen Kombination von Konfigurationsoptionen wie dem Lautsprechersystem (5.1, 5.1.2, 7.1, …) und der Bitrate des Tons durchlaufen. So werden aus 40 Testfunktionen schnell einmal 1300 Testfälle und die Ausführung aller Testfälle dauert mehrere Stunden.
Ein Lösungsansatz ist, eine Teilmenge der Tests für schnelles Feedback direkt auszuführen und die übrigen Tests in nachgelagerte Test-Builds (z.B. nightly) auszulagern, die auch länger brauchen dürfen. Wenn man diese Teilmenge passend zu den konkreten Änderungen auswählt, die getestet werden sollen, lassen sich rund 90% der Testfehlschläge in nur 2% der Testlaufzeit erkennen. Doch wie gelingt eine solche Testauswahl im Alltag?
Lars Kempe (Dolby) und Sven Amann (CQSE) haben verschiedene Taktiken miterlebt. Sie berichten von den Nachteilen manueller Testauswahl, von technischen und organisatorischen Herausforderungen bei der Eigenentwicklung einer automatisierten Lösung und davon, wie es ihnen im neuen Projekt “Dolby Car Automotive” letztendlich doch gelungen ist, mit der Test-Impact-Analyse von Teamscale sicherzustellen, dass die Continuous Integration dauerhaft unter 10 Minuten bleibt.