Frühzeitiges Erkennen von Softwarefehlern durch Testautomatisierung

Bankenverbund spart mit Testautomatisierung Zeit und Kosten und sichert die Software-Qualität, sagt Johannes Kloster von innobis.

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 Tests haben. Genau damit konfrontiert sahen sich mehrere deutsche Banken beim Releasewechsel für ihre neue, gemeinsame Kundenportallösung mit Backend-Integration in SAP for Banking. Daher entschied sich der Bankenverbund für die Testautomatisierung.

In Zusammenarbeit zwischen den Fachabteilungen und innobis als IT- und SAP-Dienstleister konnten 405 Testfälle über 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. Zudem wurde eine revisionssichere, automatisch generierte Dokumentation der Testdurchführung aufgebaut. Insgesamt lag die Gesamteinsparungen der Banken in den Fachbereichen bei rund 500 Personentagen nach Abzug der Investitionen.

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. Auch das Prüfen der Akzeptanz des Tools und der korrekten Funktionalität aus den fachlichen Anforderungen zählen dazu. Als Software für die Erstellung der Testautomatisierungs-Skripte stand OpenText UFT fest. innobis übernahm mit Hilfe der Testdatengenerierung die Vorabtests, die Testfallausführung und die Regressionstest.

Ziele der Testautomatisierung

Testautomatisierung soll

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

Der Abschied vom rein manuellen Testen machte es möglich, diese Ziele zu erreichen. 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  bereitgestellt werden.

Vorabtests zum frühzeitigen Erkennen von Softwarefehlern

Dem Thema Vorabtest fiel im Rahmen des Projekts große Bedeutung zu. 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 und mögliche Testblockaden aufzulösen. Zudem wird so unnötige Frustration auf Seiten der Tester über nicht funktionierende Kern- oder Schnittstellenfunktionen vermieden.

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 mit OpenText UFT erstellt; ein Skript pro Testfall oder auch eines für mehrere Testfälle gleichzeitig.

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 dadurch zu erwartenden Zeit- und Kostenvorteile sind eingetreten und die Softwarequalität ist gestiegen.

 

Johannes Kloster

ist Consultant im Team Consulting & Testing Services bei der innobis AG.