Mithilfe von Business-Intelligence-Tools (BI) lässt sich die Qualität der Tests in der Software-Entwicklung deutlich erhöhen.
Werden neue Softwarelösungen entwickelt oder implementiert, sind Tests unverzichtbar. Für jede Anwendung sollte eine separate Testumgebung eingerichtet werden. Bei komplexen Geschäftsanwendungen kann dies dazu führen, dass mehrere Hundert solcher Umgebungen erforderlich sind. Hinzu kommen Punkte wie agile Software-Entwicklungstechniken, die zu einer deutlichen höheren Zahl von Releases führen. Dies sind einige der Gründe, weshalb mittlerweile bis zu 50 Prozent der Kosten eines Softwareprojekts auf Testaktivitäten entfallen.
Um die Kosten sowie den Zeitaufwand beim Test und der Behebung von Fehlern zu verringern, bietet sich der Einsatz von Business-Intelligence-Tools an. Sie tragen dazu bei, identifizierte Fehler schnell anhand ihrer Relevanz, Kritikalität und des Aufwands für die Behebung zu kategorisieren. Zu diesem Zweck werten geeignete BI-Tools auf strukturierte Weise die Testdaten aus. Das erfolgt anhand von Kriterien wie der Relevanz für die weitere Software-Entwicklung und der Auswirkung auf die betroffenen Datensätze.
Für den Erfolg eines Softwareprojekts ist entscheidend, dass die Zahl der Defekte schnellstmöglich erfasst und ausgewertet wird. Erst dann lassen sich Prioritäten für die anstehenden Arbeiten setzen, also die Fehlerbehebung und Softwareweiterentwicklung. Das gilt vor allem für Projekte mit vielen Releasewechseln. Dort sind BI-Tools geeignet, um den Testaufwand in zeitlichen und finanziellen Grenzen zu halten.
Wie sich BI-Werkzeuge im Testmanagement einsetzen lassen, zeigt das Beispiel einer Bank. Das Institut ersetzte mehrere Datenhaltungssysteme durch eine integrierte Plattform. Diese wurde parallel zur bestehenden Infrastruktur implementiert. Die erforderlichen Vorbereitungen und Tests erfolgten in einer betriebsnahen, aber separaten Testumgebung. Bei der Überführung der Datenströme mussten prinzipiell zwei Vorgehensweisen miteinander verbunden werden. In einer waren die Services zusammengefasst, die eins zu eins ersetzt wurden, in der zweiten die Dienste, die Neuerungen bei den Datenstrominhalten mit sich brachten.
Die Aufgabe für das Testmanagement bestand im Abgleich der Datenexporte (alt versus neu). Bereits bei einer der zwei Datendomänen fielen rund 1,5 Millionen Datensätze an, in mehreren Datendateien, mit über 35 Satzarten und rund 1.000 Feldern. Die größten Herausforderungen bestanden darin, die gewollten bzw. erklärbaren Abweichungen von den fehlerhaften zu unterscheiden und die Vollständigkeit der Daten sicherzustellen. Zudem mussten die unerwünschten Differenzen umgehend mit Defekten in Beziehung gesetzt werden.
Die Daten wurden zunächst anhand von Kennwerten wie Schlüssel, Datei- und Feldname, Abweichung und Zahl der Abweichungen strukturiert. Anschließend erfolgte die Analyse mithilfe der BI-Software IBM Cognos BI. Das Resultat war ein integraler Blick auf die tatsächliche Fehlersituation. Die Korrekturen und alle identifizierten Abweichungen wurden in einer zentralen Wissensdatenbank abgelegt und bei der nächsten Iteration berücksichtigt.
Der erste Iterationsschritt ergab 1,4 Millionen Feldabweichungen. Die Fachleute konnten diese Abweichungen bis hinab auf die Ebene der Schlüsselidentifikation nachverfolgen. Auf dieselbe Weise erfolgt die Analyse fehlender oder doppelter Datensätze. Nach 15 Durchläufen war die Zahl der Feldabweichungen auf ein für die Inbetriebnahme akzeptables Maß gesunken. Mithilfe der BI-Tools wurden in rund drei Wochen mehr als 250 Defekte klassifiziert und beseitigt. Anhand strukturierter Analysen konnten die Abweichungen auf Feldebene identifiziert und nach ihrer Relevanz eingruppiert werden. Der Einsatz von BI-Tools verkürzte die Fehlerbereinigung auf vier Mannwochen statt der vorgesehen vier Monate.
Damit agile Software-Entwicklungsmethoden wie DevOps und Scrum ihre volle Wirkung überhaupt entfalten können, muss das Testmanagement deren Vorgehensweisen bestmöglich unterstützen. Um bei der hohen Schlagzahl der Entwicklung bei der Produktion von Releases überhaupt folgen zu können und um den Entwicklungseinheiten schnell Rückmeldungen über den Reifegrad der aktuellen Software-Version widerspiegeln zu können, müssen die Testergebnisse nahezu in Echtzeit erzeugt werden. Dies kann nur über die Auswertung der Testergebnisse mit BI-Tools gelingen und mit dem damit verbundenen, zeitnahen Informationsrückfluss zur Entwicklungssteuerung.
* Der Autor, William Fohrmann, ist Partner bei der Unternehmensberatung Tomoro
Bildquelle: Thinkstock/iStock