Die Auslieferung eines Software-Releases erfordert umfangreiche Tests der neuen sowie bestehenden Funktionen. Qualität und regulatorische Vorgaben müssen stimmen bzw. erfüllt sein. Testautomatisierung ist hier das Mittel der Wahl und bringt für Banken erhebliche Einsparungen.

Testautomatisierung beim Releasewechsel von Bankundenportalen

Mehrere deutsche Banken entschieden sich dafür, um Zeit und Kosten beim fortlaufenden Update ihrer Kundenportallösung zu sparen.

Partner des Bank Blogs

Komplexe IT-Umgebungen aus webbasierten Kundenportalen und backendseitigen Kernbankensystemen machen die Bereitstellung von Testdaten aufwändig. Gleichzeitig führen kurze Entwicklungs- und Auslieferungszyklen zu engen Testfenstern. Dies trifft auf Fachbereiche, die wenig Zeit für ausgeprägte Tests haben. Genau dieser Situation gegenüber sahen sich mehrere deutsche Banken, wenn es um den regelmäßigen Releasewechsel für ihre neue, gemeinsame Kundenportallösung mit Backend-Integration in SAP for Banking gehen sollte. Daher fiel im Bankenverbund die Entscheidung, Zeit und Aufwand mit Testautomatisierung zu reduzieren und damit auch Kosten zu sparen.

405 Testfälle über sechs Releases

In Zusammenarbeit zwischen den Fachabteilungen und der innobis AG als IT- und SAP-Dienstleister konnten 405 Testfälle über alle sechs Releases hinweg automatisiert werden. Das innobis Team koordinierte die Tests und die Testautomatisierung mit mehr als 50 Testern, knapp 3.000 Testfällen und 8.200 Testanträgen (kumulativ über sechs Releases hinweg in zwei Jahren).

Auf der X-Achse werden die sechs Releases hinsichtlich ihrer Aufteilung in automatisierte und manuelle Testfälle betrachtet. Wie aus der Graphik zu entnehmen ist, ist die Anzahl der automatisierten Testfälle von Release 2 bis 5 steigend. Aufgrund des geringeren Testumfangs der letzten beiden Releases ist die Anzahl automatisierter Tests, die in dem jeweiligen Release ausgeführt wurden, zwar gesunken, prozentual gesehen aber gestiegen, was sich in der Automatisierungsquote darstellt. Sie berechnet sich aus der Anzahl der automatisierten Testfälle im Verhältnis zur Gesamtzahl aller Testfälle.

Zudem wurde eine revisionssichere, automatisch generierte Dokumentation der Testdurchführung aufgebaut. Insgesamt sparten die Banken, die vorher nur manuell rund um das Online-Portal testeten, durchschnittlich rund 66 Personentage pro Releasewechsel. Zusätzlich konnte eine durchschnittliche Ersparnis von rund 48 Personentagen pro Release durch die Bereitstellung von Testdaten erlangt werden. Die Gesamteinsparungen im Fachbereich belaufen sich auf knapp 690 Personentage und nach Abzug der Investitionen auf rund 500 Personentage.

Auf der X-Achse werden die Ersparnisse an Personentagen durch Automatisierung der Testdatengenerierung und Testfälle sowie die Investitionen kumuliert je Release dargestellt. Investitionen bei der Testautomatisierung beinhaltet den Aufwand für Testdatenbereitstellung und das Erstellen und Ausführen der Skripte. Entsprechende Einsparungen in Personentagen werden auf der linken Y-Achse aufgezeigt. Die aufsummierte Gesamtersparnis errechnet sich durch Investitionen vs. Ersparnisse und spiegelt sich in der grauen Linie wider. Die rechte Y-Achse zeigt den Wert der Gesamtersparnis, die im Laufe der Releasetests auf über 500 PT gewachsen ist.

Abschied vom rein manuellen Testen

In der Vergangenheit wurden die Tests neuer Releases des alten Online-Portals vollständig manuell ausgeführt. Dies bedeutete hohen Testaufwand und Fehleranfälligkeit. Fehler wurden nicht rechtzeitig erkannt, Tests konnten aufgrund enger Zeitfenster nicht vollständig erledigt werden und die Vorbereitungen für notwendige Testdatenkonstellationen waren sehr zeitaufwendig.

Die Testautomatisierung machte es möglich, diese Probleme zu beheben. Ohne sie wäre ein vollständiges Testen aufgrund der kurzen Testzeiträume und fehlender Tester nicht möglich gewesen. Auch die Bereitstellung von Testdatenkonstellationen, heißt das Generieren und Vorbereiten der zu testenden Daten, geht automatisiert wesentlich schneller als manuell. Es konnten teilweise über Nacht in einem Zeitfenster von eineinhalb Tagen Testdaten für die 50 Tester (für ein neuen Testzyklus in einem Release) bereitgestellt werden.

Testautomatisierung im User Acceptance Test mit OpenText UFT

Die Testautomatisierung sollte übergreifend im „User Acceptance Test“ (UAT) des neuen Kundenportals zum Einsatz kommen. UAT bezeichnet das standardmäßige Testen neuer Features aus Sicht der späteren User des Online-Portals (Kunden und Mitarbeiter) sowie das Prüfen der Akzeptanz des Tools und der korrekten Funktionalität aus den fachlichen Anforderungen. Als Software für die Erstellung der Testautomatisierungs-Skripte stand OpenText UFT fest. Mit Blick auf fachliche Unterstützung fiel die Wahl auf die innobis AG als IT- und SAP-Dienstleister. innobis übernahm mit Hilfe der Testdatengenerierung die Vorabtests, die Testfallausführung und die Regressionstest.

Die angestrebten Ziele

Ziel der Testautomatisierung war es,

  • die manuellen Tests auf das Notwendigste zu reduzieren,
  • Arbeitszeit durch automatisiertes Testen einzusparen,
  • vollständiges Testen in den geplanten, kurzen Zeitfenstern zu realisieren,
  • den Testern durch arbeitserleichternde Effekte den Fokus auf komplexere, funktionale Tests zu ermöglichen,
  • Software-Fehler durch Vorabtests frühzeitiger als bisher zu entdecken und zu beheben, um den Aufwand für das spätere Testen in den Fachabteilungen zu reduzieren.

Durch die wiederholte Anwendung der Testautomatisierung mit jedem neuen Release, stiegen die monetären Einsparungen proportional.

Vorabtests zum frühzeitigen Erkennen von Softwarefehlern und als Motivationsfaktor

Dem Thema Vorabtest ließ innobis im Rahmen des Projekts große Bedeutung zu kommen. Um zu prüfen, ob der jeweilige, zu testende Releasestand des Kundenportals funktionierte, fanden umfangreiche Vorabtests satt; dies etwa eine Woche bevor die Fachabteilungen in den einzelnen Banken zu den Tests zugelassen wurden. Gravierende Softwarefehler, insbesondere mit Blick auf die Funktionsfähigkeit der Schnittstellen zwischen dem Online-Portal und dem SAP for Banking Backend, ließen sich so zeitnah ausmachen. Die Kernfunktionen sollten stehen, bevor die Fachbereiche in den Instituten die Tests starteten.

Vorabtest gehören nicht unbedingt zum Standard in Testautomatisierungsprojekten. Sie sind aber wichtig, um bereits vor den eigentlichen Tests die Softwarequalität zu prüfen, um vorab mögliche Testblockaden auflösen zu können. Zudem wird so unnötige Frustration auf Seiten der Tester über nicht funktionierende Kern- oder Schnittstellenfunktionen vermieden.

Die Anforderungen an die Testautomatisierung

Das Projekt führte ein Team aus mehreren IT- und SAP-Fachexperten bzw. Test Automation Architects in enger Zusammenarbeit mit den Fachbereichen der Banken durch. Der Bankenverbund stellte folgende Anforderungen an die technische Umsetzung der Testautomatisierung:

  • qualitativ hochwertige und zuverlässige Testautomatisierungs-Skripte und Testergebnisse,
  • wiederverwendbare Skripte sowie
  • eine Testdatengenerierung und -bereitstellung vor Testbeginn mit validen, heißt sinnvollen und realitätsnahen Daten nach Wunsch der Tester.

Die Skripte wurden anhand der Testfälle aus den Fachbereichen kundenindividuell mit dem Tool OpenText UFT erstellt; ein Skript pro Testfall oder auch eines für mehrere Testfälle gleichzeitig. Bei den Testautomatisierungs-Skripten handelt es sich um eine Reihe von Ausführungsbefehlen, die ein Computer abarbeitet. Sie sind „modular“ aufgebaut, um Bestandteile des Skripts für andere Testfälle wiederverwenden zu können. Dies beschleunigt und erleichtert die Erstellung der Testautomatisierungs-Skripte und deren Wartung.

Full-Service bei der Umsetzung

Die innobis Test Automation Architects lieferten Full-Service rund um die Testautomatisierung. Sie

  • sichteten die Testfallkataloge hinsichtlich Eignung auf Testautomatisierung,
  • erstellten und pflegten die Testautomatisierungs-Skripte anhand der Testfälle,
  • generierten und stellten den Tester die Testdaten zur Verfügung,
  • führten die automatisierten Testfälle aus und übergaben die Ergebnisse und
  • bauten eine wiederverwendbare Testautomatisierungsbibliothek auf, die mit jedem neuen Release größer wurde.

Auf der X-Achse wird die Anzahl automatisiert bereitgestellter Testdaten jeweils pro Release sowie kumuliert aufgezeigt. Die zu jedem Release zugehörige Anzahl an Testdaten ist auf der linken Y-Achse zu entnehmen. Da der Testumfang in den Releases 4 und 5 besonders hoch ausfiel, war die Testdatenbereitstellung von großer Bedeutung. In diesen Releases wurden jeweils 2000 Testdaten zur Verfügung gestellt. Verglichen mit der manuellen Vorbereitung der Testdaten ergibt sich eine Ersparnis, die sich durch die graue Linie darlegt. Die Ersparnis durch die automatisierte Testdatenbereitstellung beläuft sich über den gesamten Zeitraum auf 290 Personentage.

Die automatisch generierte Dokumentation der Testergebnisse in Form eines Word-Dokuments mit Screenshots und Beschreibung der durchgeführten Schritte wurde seitens der Fachbereiche zunächst kritisch geprüft. Heute ist das Vertrauen in und der Verlass auf die automatisierte Dokumentation gegeben. Der Testfall gilt an diesem Punkt als erledigt und bestanden. Zeitersparnis und Fehlerreduktion werden durchweg positiv bewertet.

Es lohnt sich!

Nicht alle Testfälle wurden vollständig automatisiert, da teilweise manuelle Aktivitäten notwendig waren oder die Automatisierung in keinem sinnvollen Kosten- und Nutzenverhältnis stand. Insgesamt konnten aber 405 Testfälle automatisiert werden. Die damit erzielte Ersparnis von durchschnittlich 114 Personentage pro Releasewechsel zeigt deutlich, welche Zeit und damit Kostenvorteile die Testautomatisierung bereithält.


Johannes Kloster

Johannes Kloster ist Koautor des Beitrags. Der Wirtschaftsinformatiker ist Consultant im Team Consulting & Testing Services bei der innobis AG.

 

 


Mehr Informationen zum Thema Software Testing finden Sie hier.