Als globales Unternehmen investiert die Allianz Technology GmbH viel in agile Arbeitsweisen, einen einheitlichen Toolstack und Prozessautomatisierung, um unternehmensweit hohe Qualitätsstandards zu erreichen und zu halten. Das betrifft natürlich insbesondere auch das Softwaretesting. Hier zielt das Unternehmen auf hohe Transparenz, um während des gesamten Entwicklungs- und Wartungszyklus kontinuierlich und risikobasiert testen zu können. Im Sinne von »Shift Left« sollen die Tests möglichst früh im Entwicklungszyklus entstehen und fortlaufend automatisiert ausgeführt werden – dabei hilft Teamscales Test-Gap-Analyse.
Albert Bischof und Nadezhda Tonchev verantworten bei der Allianz die Qualitätswerkzeuge und die Softwareteststrategie für etwa 60 Teams, die ein Anwendungsportfolio von rund 40 Anwendungen entwickeln und warten. Anfang 2019 standen sie vor dem Problem, dass über das gesamte Portfolio hinweg zu viele Feldfehler auftraten. Und das trotz des hohen Testaufwands, den die Allianz bereits investierte und der immer weiter wachsenden Anzahl automatisierter Tests! Dass die Tests dabei in der Verantwortung unterschiedlicher Teams lagen, mit einer Vielzahl verschiedener Technologien umgesetzt waren und sich über mehrere Testebenen verteilten, machte es zu einer enormen Herausforderung, die Ursachen dieser Situation zu identifizieren.
Um eben diese Ursachen dennoch herauszufinden und damit die Grundlage zu schaffen, um die Testprozesse bei der Allianz effektiv zu verbessern, setzten sich Albert und Nadezhda zum Ziel, entsprechend der Unternehmensstrategie höhere Transparenz in alle ihre Testprozesse zu bringen, über die gesamte Testpyramide, also über alle Testebenen und Technologien hinweg. Auf der Suche nach geeigneten Ansätzen und Werkzeugunterstützung lernten sie bei einem Konferenzvortrag auf den Software Quality Days in Wien Teamscales Test-Gap-Analyse kennen und waren begeistert. Im Mai 2019 folgte ein Workshop gemeinsam mit der CQSE vor Ort bei der Allianz, der alle Beteiligten davon überzeugte, dass die Analyse ihnen die gewünschten Einblicke in das Entwicklungs- und Testgeschehen liefern würde.
Bereits im Sommer 2019 begann die Evaluation der Test-Gap-Analyse mit Unterstützung der CQSE. Dafür wurden zunächst die technischen Voraussetzungen geschaffen, um Testabdeckung sowohl im Java-Backend als auch in JavaScript- und TypeScript-Frontends zu erheben, und zwar sowohl für automatisierte als auch für manuelle Tests und natürlich auf allen Testebenen. Anschließend wurde über einen Zeitraum von 2,5 Monaten vermessen, wie Codeänderungen und Testaktivitäten zueinander standen. Dabei wurde sichtbar, dass über die Hälfte (58 Prozent) aller Änderungen im Testprozess vollständig ungetestet blieben. Für viele der in diesem Zeitraum umgesetzten Tickets wurde de facto keine einzige Codeänderung von den Tests ausgeführt!
Trotz hoher Testaufwände konnte bei der Allianz Technology über einen Zeitraum von zweieinhalb Monaten gemessen werden, dass knapp 58 Prozent der Änderungen nicht im Test ausgeführt wurden.
Über diese grundsätzliche Erkenntnis hinaus wurde mit der Test-Gap-Analyse gleichzeitig auch die Ursachenforschung möglich, da die Analyse die zeitliche Abfolge von Codeänderungen und Testgeschehen berücksichtigt. So fanden Albert und Nadezhda heraus, dass durch die komplexen Softwarearchitekturen und unterspezifizierte Anforderungen oft Änderungen erfolgten, die für die Testplanung anhand der Anforderungsbeschreibung nicht absehbar waren. Strikte Zeitvorgaben und begrenzte Ressourcen für den Test taten ihr Übriges. Zudem erkannten sie Situationen, in denen die zeitliche Abstimmung zwischen den Änderungsarbeiten und der Testausführung schlicht nicht zusammenpassten, sodass beispielsweise Tests ausgeführt wurden, bevor die entsprechenden Änderungen in der Testumgebung ankamen.
Alles in allem bestätigten die Ergebnisse Nadezhdas und Alberts Herangehensweise, denn es fehlte insbesondere an der nötigen Transparenz, um die Testaufwände gut auf das Entwicklungsgeschehen auszurichten. Und genau hierfür hatten sie mit der Test-Gap-Analyse nun das richtige Werkzeug an der Hand, das sie seit der erfolgreichen Evaluation fortlaufend für weitere Anwendungen in ihrem Portfolio ausrollen.
Heute nutzen die Quality-Assurance-Champions bei der Allianz Technology die Test-Gap-Analyse, um die Testaktivitäten ihrer Teams, genauso wie Deploymententscheidungen, datenbasiert zu steuern, statt ausschließlich auf ihr Bauchgefühl vertrauen zu müssen. Detaillierte Informationen zu den Test-Gaps stehen auf Ticketebene bereits während der Entwicklung direkt in Jira zur Verfügung und werden automatisch aktualisiert. So kann die Metrik von den Produktverantwortlichen als Akzeptanzkriterium verwendet werden, wodurch sich die Testlücke im Anwendungsportfolio der Allianz bereits um durchschnittlich 20 Prozentpunkte verringert und die Gesamttestabdeckung um 48 Prozentpunkte erhöht hat, mit klarem Fokus auf die risikoreichsten Codebereiche. Gleichzeitig hilft das systematische Vorgehen mit Blick auf die verbleibenden Test-Gaps dabei, Redundanzen in den Testsuiten klein zu halten und damit die Wartbarkeit der Testsuiten zu erhalten.
Im Software Intelligence Talk am 2. Oktober spricht Nadezhda zusammen mit Fabian Streitel (Leiter des “Test Intelligence”-Teams bei CQSE) über die Herausforderungen, denen die Allianz 2019 gegenüberstand, die Lessons Learned aus der Einführung der Analyse sowie der initialen Vermessung der Daten und den Nutzen, den die hohe Transparenz der Allianz seither bringt.
Jetzt anmelden (online & kostenlos)!