Testen komplexer E-Government-Systeme 

 1. September 2009

Um eine breite Akzeptanz von E-Government-Systemen zu schaffen, sind fehlerfreie Funktionalität, gute Benutzbarkeit, Sicherheit und Performanz unerlässlich. Doch woher weiß der Auftraggeber eines solchen Systems, ob die gelieferte Software tatsächlich alle gestellten Anforderungen erfüllt? Der folgende Beitrag beschreibt Herangehensweise und Nutzen systematischer Abnahmetests am Beispiel der E-Government-Plattform des Freistaates Sachsen.

2005 begann der Freistaat Sachsen im Zuge einer E-Government-Initiative den Aufbau einer zentralen Infrastruktur-Plattform für E-Government-Anwendungen. Diese enthält Komponenten, die für die Realisierung von E-Government-Prozessen benötigt werden. Durch einfache Integration der Basiskomponenten lassen sich neue E-Government-Anwendungen effektiv abbilden und für Anwender einfach zugänglich machen. Zu den Basiskomponenten der E-Government-Plattform gehören neben dem Lebenslagenportal Amt24, der Formularservice, das Geoportal Sachsenatlas, das Integrationsframework, ein zentrales Content-Management-System sowie Komponenten für den elektronischen Zahlungsverkehr und die elektronische Signatur und Verschlüsselung. Für die Verantwortlichen der E-Government-Plattform ist klar: Keine dieser Komponenten darf in den Produktivbetrieb gehen, bevor die Abnahmetests abgeschlossen und die Abnahmekriterien erreicht sind. Die Nützlichkeit von systematischen Tests hat sich immer wieder gezeigt, bei Individualsoftware ebenso wie bei Standardprodukten. Tausende Fehler wurden seit 2005 im Fehlermanagementsystem dokumentiert und behoben. Zehntausende Testfälle wurden durchgeführt. Das Fehlerspektrum reicht von kleinen Layoutproblemen bis zu schweren Fehlern, die im Produktivbetrieb fatal gewesen wären. Doch der Test deckte auch fehlerhafte oder unvollständige Anforderungen auf, die so noch vor Produktivsetzung z.B. durch Change Request bereinigt werden konnten.

Was beim strukturierten Test einer E-Government-Plattform zu beachten ist, wird im Folgenden am Testprozess erklärt.

1. Testplanung

Um spätere Überraschungen zu vermeiden, sollte die Planung des Tests gleichzeitig mit der Planung des Entwicklungsprojekts beginnen, wobei Budget, Besetzung und Zeitplanung speziell für das Testprojekt vorgesehen werden. Wesentlich für die Planung des Testaufwandes sind die Testziele. Bei besonders öffentlichkeitswirksamen Systemen stehen neben der korrekten Funktionalität Performanz und Benutzbarkeit im Vordergrund. Systeme, die kritische Funktionen erfüllen oder personenbezogene Daten verarbeiten, sind auf Sicherheitslücken zu prüfen. Die Integration von alten und neuen Fachsystemen macht einen umfassenden Test der Schnittstellen und der Datenübertragung unabdingbar.

Standards wie der Testprozess nach ISTQB, Softwarequalitätsmerkmale nach ISO 9126-1:2001 und Testdokumentation nach IEEE 829:2008 helfen bei der effektiven Testplanung.

2. Testvorbereitung

Zur Phase der Testvorbereitung gehören die Testspezifikation, die Bereitstellung von Testwerkzeugen und der Testumgebung sowie die Beschaffung oder Erstellung von Testdaten. Die Einrichtung eines speziellen Testcenters hat sich hierfür besonders bewährt. An vielen E-Government-Projekten sind Testspezialisten aus der IT und Tester aus unterschiedlichen Fachbereichen und Behörden beteiligt. Das Testcenter bietet ihnen nicht nur gemeinsame Arbeitsplätze sondern auch die Möglichkeit, sich zu methodischen und fachlichen Fragen auszutauschen und über die Linienorganisation hinweg effektiv zusammenzuarbeiten. Oft werden so bereits während der Testspezifikation viele Fragen zum Sollverhalten der zu testenden Anwendung auf kurzem Weg geklärt.

3. Testdurchführung

Bei den im öffentlichen Sektor üblichen Werkverträgen, muss die Abnahme der Leistungen oft in einem eng begrenzten Zeitrahmen stattfinden. Im Freistaat Sachsen hat es sich daher bewährt, bereits während der laufenden Entwicklung Meilensteine mit Zwischenversionen zu definieren. Ein Freigabetest der Zwischenversion gibt rechtzeitig Aufschluss über die Lieferqualität und ermöglicht es, gefundene Mängel bereits vor der Bereitstellung zur Abnahme zu beheben. Im Abnahmetest erfolgt dann lediglich ein Regressionstest aussagekräftiger Testfälle aus den Freigabetests.

Während Tester aus dem Fachbereich sich im Wesentlichen auf die Durchführbarkeit der wichtigsten Anwendungsfälle konzentrieren und ihre Erfahrung mit typischen Schwachstellen einbringen, prüfen Testspezialisten die Standardkonformität von Schnittstellen und sichern die Testabdeckung aller definierten Anforderungen ab.

4. Teststeuerung

Der Projektleiter muss über den Testfortschritt, Fehlerzahlen und auftretende Probleme regelmäßig informiert werden. So können z.B. bei Problemen mit der zwischenbehördlichen IT-Kommunikation rechtzeitig vor dem Produktivsetzungstermin Maßnahmen wie Netzwerkfreischaltungen oder Erhöhung von Serverkapazitäten eingeleitet werden. Da durch die Erfassung im Fehlermanagement die aktuellen Mängel jederzeit einsehbar sind, können Streitfragen über einzelne Mängelmeldungen (Fehler oder Feature? Änderungsanforderung?) zeitnah von der Projektleitung behandelt werden.

5. Testabschluss

Eine Beschreibung von Restrisiken und die Bewertung der gelieferten Software gegen die Abnahmekriterien bilden den Kern des Testberichts, den das Testteam an den Projektleiter liefert. Die Abnahmekriterien, die selbstverständlich Bestandteil des Werkvertrags mit dem Lieferanten sind, können hierbei verschiedene Formen annehmen. Für die E-Government-Plattform wird meist die zu erreichende Testabdeckung mit fehlerbasierten Metriken kombiniert.

Beispiel:

  • Es sind 90% aller als Hoch und Mittel priorisierten Testfälle auszuführen.
  • Es dürfen keine verhindernden und maximal 10% der gefundenen erschwerenden Mängel noch offen sein.

Auf Basis der Abnahmeempfehlung im Testbericht kann der Projektleiter nun über die Endabnahme und weitere Maßnahmen entscheiden.

Aus der Praxis

Als 2004 in Sachsen die E-Government-Plattform mit ihren ersten Komponenten ausgeschrieben wurde, war klar, dass hiermit ein Standard für nachfolgende Projekte geschaffen werden soll. Es wurde ein Testcenter eingerichtet, in dem Testspezialisten der Fa. ANECON gemeinsam mit Testern aus den Fachbereichen des Freistaates Sachsen funktionale Testfälle spezifizieren und durchführen. Zusätzlich werden Sicherheits- und Benutzbarkeitstests nach gängigen Standards durchgeführt, z.B. nach BITV, BSI, W3C oder OWASP. Auch Last- und Performanztests sind ein wesentlicher Bestandteil der Testprojekte, da sie auch der Bestimmung von Antwortzeiten für die Service Level Agreements mit dem Betrieb dienen.

Seit dem Beginn der Testaktivitäten im Freistaat Sachsen gilt für alle Projekte der Plattform, dass diese Testarten ebenso zu realisieren sind, wie eine Prüfung gegen die Vorgaben der Betriebsumgebung. Die Zusammenarbeit von Testspezialisten mit Testern aus dem Fachbereichen im Testcenter hat sich als einer der wesentlichen Erfolgsfaktoren bewährt, ebenso, wie die inzwischen selbstverständlich gewordenen Prozesse des Change-, Release- und Fehlermanagements. Der Aufwand lohnt, denn Hausforderungen wie die EU-Dienstleistungsrichtlinie und die steigenden Erwartungen der Anwender an E-Government erfordern einen immer größeren Funktionsumfang und eine immer stärkere Vernetzung der betroffenen IT-Systeme. Und deren Erfolg hängt stark an der Akzeptanz der Anwender, die ein fehlerfreies, sicheres und schnelles System erwarten.