Die IVU hat eine große automatische Testsuite mit mehrere tausend Testfällen. Diese sind zum Teil Sprachübergreifendend aufgebaut (C++, Java). Vorhandene Ansätze zur Testselektion waren bisher nicht sicher genug oder wegen der Struktur der Testfälle nicht anwendbar. Dadurch wurde es immer schwieriger, ein umfangreiches und gleichzeitig zeitnahes Feedback an die Entwickler:innen zu liefern. Gemeinsam mit der TU München haben wir Werkzeuge zur Testselektion entwickelt, die dafür sorgen, dass nur die relevanten Testfälle ausgeführt werden. Ich stelle im Vortrag die grundsätzlichen Konzepte und Ergebnisse dieser Zusammenarbeit vor.
Zielpublikum: Tester:innen, Test-Manager:innnen, Entwickler:innen, Architekt:innen
Voraussetzungen: Grundlegende Kenntnisse zur Testautomatisierung
Schwierigkeitsgrad: Basic
Silke Reimer ist Leiterin der Qualitätssicherung für eines der beiden Geschäftsfelder bei der IVU Traffic Technologies AG. Ein wesentlicher Teil ihrer Aufgabe beinhaltet Verbesserungen im Bereich Testautomatisierung auf allen Ebenen. Diesem Thema hat sie sich vor ihrer aktuellen Position auch als Testarchitektin langjährig gewidmet. Damit bringt sie viele Jahre an Erfahrung im Aufbau und der Wartung von automatischen Testsuites mit.
Eine gute Continuous Integration läuft weniger als 10min - etwa die Zeit, um einen Kaffee zu holen. Für Dolby liegt die größte Herausforderung dabei in der Testlaufzeit, denn das sind oft Stunden. Ein Lösungsansatz ist, nur eine Teilmenge der Tests direkt auszuführen und die übrigen Tests in nachgelagerte Test-Builds (z.B. nightly) auszulagern. Wir berichten von den Nachteilen manueller Testauswahl, von technischen und organisatorischen Herausforderungen einer automatisierten Lösung und davon, wie es im Projekt 'Dolby Car Automotive' letztendlich doch gelang, sicherzustellen, dass die CI dauerhaft unter 10 Minuten bleibt.
Zielpublikum: Tester:innen, Testmanager:innen, Entwickler:innen
Voraussetzungen: Basiswissen Softwareentwicklung und -test
Schwierigkeitsgrad: Basic
Extended Abstract:
Eine gute Continuous Integration läuft weniger als 10min - etwa die Zeit, um einen neuen Kaffee zu holen. Diese Ansicht teilen die Entwickler:innen von Dolby mit vielen Kolleg:innen aus anderen Organisationen [1] und Pionieren wie Martin Fowler [2]. 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.
[1]: Hilton et al.: dl.acm.org/doi/abs/10.1145/3106237.3106270
[2]: Fowler: martinfowler.com/articles/continuousIntegration.html
Dr. Sven Amann hat als Berater für Software-Qualität bei der CQSE GmbH bereits vielen Kunden erfolgreich geholfen Geschwindigkeit und Effektivität ihrer Tests zu verbessern. Sven hält seit vielen Jahren Vorträge und Keynotes auf Konferenzen und Fachtagen.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/sven-amann/
Lars Kempe beschäftigt sich als QA-Lead und Audio-Tester bei Dolby täglich mit der wachsenden Test-Suite und weiß wie schnell eine praktikable CI sein muss. Lars spricht seit vielen Jahren auf Konferenzen und Fachtagen.