Skip to main content

Softwaretests im Finanzumfeld

Verfasst von Philip Kandel   //  

Für die Softwareentwicklung in der Versicherungs- und Finanzwirtschaft spielen die regulatorischen Anforderungen der Finanzaufsicht eine besondere Rolle. Die Software muss nicht nur den branchenüblichen Anforderungen an die Produktqualität entsprechen – sie muss zusätzlich auch die von der Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) verordneten Auflagen berücksichtigen.

Die Besonderheiten der Branche

Auf Grund der in Testprojekten vorhandenen Zeitvorgaben einerseits und der hohen Sensibilität der verarbeiteten Daten andererseits ist eine risikogewichtete Testabdeckung notwendig.

Auf das Ideal, jede Funktion und jede Komponente durchgetestet zu haben, muss bei komplexen Softwareentwicklungsprojekten insofern reagiert werden, als dass entlang von Risikogruppen entschieden wird, mit welchem Aufwand die jeweiligen Fälle durchzutesten sind.

Dies ergibt sich durch die Tatsache, dass der Testaufwand für ein standardisiertes Datumsfeld beispielsweise mit geringerem Risiko behaftet ist, als das Testszenario für eine Löschroutine. Um dies zu erreichen, bedarf es einer Gewichtung aller Testfallrisiken.

Weiterhin sind Datenschutz und Datenintegrität zu beachten. Deshalb steht bereits die Gewinnung von Testdaten sowie die Bereitstellung von Testumgebungen vor gewissen Hürden.

Aus Datenschutzsicht ist die Verwendung von (anonymisierten) Daten aus der Produktionsumgebung oft nur in Ausnahmefällen möglich, weshalb ein entsprechendes Konzept zur Erstellung der Testdaten entwickelt werden muss. Dieses sollte neben dem Inhalt auch die Menge der Testdaten abbilden können, da in Rechenzentren üblicherweise große Datenmengen verarbeitet werden.

Konzeptionell muss bei der Erstellung von Testszenarien und der Generierung von Testdaten ebenfalls berücksichtigt werden, dass die Manipulation der Testsysteme durch die geforderte Datenintegrität teilweise nur eingeschränkt möglich ist. Je höher die Teststufe, desto produktionsnäher sind die Testsysteme und umso weniger Benutzerrechte stehen zur Verfügung. Für Sonderfälle sind in der Regel Freigaben einzuholen.

Um die strengen Vorgaben der BaFin zu erfüllen, ist zudem ein hohes Maß an Dokumentation notwendig. Dies betrifft einerseits die Dokumentation der bereits genannten Risikoanalyse und zum anderen das Dokumentieren von Testauswirkungen auf bereits bestehende Komponenten schon vor der eigentlichen Testfalldurchführung. Hierdurch kann im Anschluss nachgewiesen werden, dass der Planungsprozess auch tatsächlich stattgefunden hat.

Zudem muss neben den üblichen Dokumenten im Softwaretest, wie dem Testplan sowie den Testfällen, auch ein schriftlicher Nachweis über die Auswahl der Testfallermittlungsmethoden erfolgen. Weiterhin ist zum Abschluss einer Testphase die Erstellung eines entsprechend formalisierten Protokolls notwendig, um den Ansprüchen an die Dokumentation voll zu genügen.

Durchführung und Dokumentation der Tests

Die genannten Anforderungen haben Auswirkungen auf die Planung und Durchführung von dynamischen Testfällen. So genügt bei manuellen Oberflächentests in der Regel die korrekte Dokumentation der Testfallermittlungsmethode inklusive Begründung der Auswahl sowie die Wahl eines oder mehrerer aussagekräftiger Ergebnisse für den jeweiligen Testfall.

Sollen hingegen Backendfunktionen, Serviceaufrufe oder Batch Jobs überprüft werden, kommen noch weitere Aufgaben hinzu. Dabei ist der Umgang mit den Testergebnissen ausreichend zu definieren und zu beschreiben. Lassen sich aus der Ausgabe des Testobjekts die Ergebnisse nicht ausreichend ermitteln, müssen sie separat z.B. aus Datenbanken ausgelesen werden.

Bei automatisierten Tests ist ein solcher Nachweis hingegen aufwändiger, da zusätzliche Prüfroutinen einzubauen sind, um sicherzustellen, dass die Testautomation auch wie geplant durchgelaufen ist. Ein lediglich als ‚erfolgreich durchgeführt‘ markierter Testfall ist noch kein vollständiger Nachweis darüber, ob die entsprechenden Funktionen auch tatsächlich erfolgreich getestet wurden.

Um sicherzustellen, dass die Testfälle das gewünschte Verhalten gezeigt haben, muss daher die Möglichkeit zum Zugriff auf das Ergebnis bestehen, falls das Testobjekt dieses nicht selbst als Rückgabewert liefert. Im Idealfall kann eine solche Prüfung in den Testfall bzw. die Testfallkombination mit integriert werden.

Methodische Herausforderungen

Unabhängig von den oben genannten Arten der Testausführung bestehen für manche Testfallermittlungsmethoden besondere Herausforderungen bei der Integration in das regulatorische Umfeld. Als Beispiel ist das ‚explorative Testen‘ zu nennen, in dessen Sessions mehrere Testpersonen ein oder mehrere Testobjekte mit explorativen Methoden untersuchen.

Diese Vorgehensweise steht zumeist im Konflikt mit der benötigten Dokumentationspflicht für die durchgeführten Testfälle. Zwar führt diese Methode zur schnellen Ermittlung von Defects, allerdings lässt sich der Gesamtaufwand nicht ohne Weiteres im Rahmen der regulatorischen Anforderungen dokumentieren.

Für die Ausführung ließe sich gegebenenfalls ein Video oder eine Klickstrecke als Nachweis anlegen. Dies beschränkt einerseits aber die Wiederverwendbarkeit der Testfälle. Zum anderen fehlt damit die vorhergehende Planung im Rahmen des Risikomanagements, die nachweisen kann, dass kritische Funktionen eine ausreichende Testabdeckung erfahren haben.

Grundsätzlich steht zudem die Durchführung einer strikten Vorausplanung im Widerspruch zum explorativen Gedanken, bei dem die Testsessions von Ideen des Entdeckens und Erforschens geleitet werden. Dementsprechend empfiehlt sich der Einsatz einer solchen Testsession eher bei nicht-kritischen Testobjekten.

Fazit

Abschließend bleibt festzuhalten, dass die verschiedenen Testfallmethoden unterschiedlich gut für den Einsatz im regulatorischen Umfeld geeignet sind. Dabei lassen sich Methoden, welche bereits zu Beginn eine gewisse Strukturierung erfahren, einfacher in das bestehende regulatorische Umfeld integrieren als solche, bei denen sich die Struktur erst im Laufe des Softwaretests ergibt.

Aber gerade mit Blick auf den aktuellen Entwicklungstrend in Richtung agiles Vorgehen ergibt sich hier ein Spannungsfeld, in dem neue Wege gefunden werden müssen, um alle Testmethoden auch im regulatorischen Umfeld einsetzen zu können.