Der Funktionstest

Funktionstest

Programme transformieren Daten gemäß einer definierten Vorschrift. Ob das Programm auf Testdaten und Parameter korrekt reagiert, ist eine für den Test und das Release entscheidende Frage. Die Kombinatorik zulässiger Testdaten und Parameter kann trotz der Verfahren zur systematischen Testfallermittlung zu sehr vielen Testfällen führen, was bei manueller Auswertung eine risikobehaftete Priorisierung erforderlich macht. Eine Testautomatisierung hat das Potential, sehr viele Testfälle zu konstant niedrigen Kosten maschinell auswerten zu können. Dadurch verringern sich die Kosten und es werden schnellere Releasezyklen erreicht.

Dazu sind drei Dinge erforderlich:

  1. Das Ergebnis der IT-Umsetzung muss beobachtbar und aktuell sein („Ist-Ergebnis“)
  2. Die Testautomatisierung muss das erwartete Ergebnis kennen oder berechnen können („Soll-Ergebnis“)
  3. Alle Beteiligten können sich auf das Ergebnis der Testautomatisierung verlassen („Vertrauen“)

Testautomatisierung mit RapidRep

Ermittlung der Ist-Ergebnisse

RapidRep muss für jeden Test das aktuelle, zum jeweiligen Lauf gehörige Ist-Ergebnis kennen. In der Regel speichern Programme in der Datenverarbeitung die Ergebnisse in Tabellen ab. Auf das Ist-Ergebnis kann RapidRep daher oft in Form von SQL-Abfragen zugreifen. Da RapidRep neben sämtlichen Datenbanken auch die wichtigsten Dateiformate  unterstützt (z.B. XML oder CSV), kann dieser Schritt sehr einfach umgesetzt werden. In der dezentralen Datenverarbeitung kann RapidRep das SuT (System under Test) mit den geforderten Parametern aufrufen. Falls das SuT den Aufruf ohne Fehler erledigt und die Ergebnisse synchron abgelegt hat, ist das Ergebnis direkt für den Vergleich verwendbar. Anders sieht es aus, wenn der Aufruf mit einem Fehler abgebrochen wurde oder die Ergebnisse erst zu einem späteren Zeitpunkt vorliegen (asynchrone Verarbeitung). RapidRep kann dazu vor dem Soll-Ist-Vergleich prüfen, ob die Voraussetzungen für einen Test erfüllt sind oder nicht.

Ermittlung der Soll-Ergebnisse

Das für jeden Testfall erwartete Ergebnis kann von zahlreichen Faktoren abhängen. Auch die Art und Weise wie RapidRep das erwartete Ergebnis ermittelt ist je nach Anwendungsfall und Testvorgehen unterschiedlich. Für den Test mit RapidRep wird stets eine sogenannte Reportdefinition benötigt, die ein Testanalyst mit dem RapidRep Designer erstellt. In einer Reportdefinition ist die Testauswertungslogik inklusive einer eingebetteten Excel-Vorlage hinterlegt. Der "Baukasten" in einer Reportdefinition unterstützt unterschiedliche Methoden, um das Soll-Ergebnis ermitteln zu können:

  • Erzeugung von SQL und Zugriff auf Daten in über 50 unterschiedlichen Datenquellen
  • Nutzung von Parametern, die den Testfall konkretisieren, z.B. Kundennummer, Auftrag etc.
  • Definition, Einbindung und Auswertung von Regeln für das modellbasierte Testen („Testorakel“)
  • Verwendung der eingebauten Skriptsprache, um Berechnungen durchzuführen oder um SQL-Anweisungen zu erzeugen
  • Verwendung von vordefinierten Ergebnissen oder Teilergebnissen, die pro Testfall z.B. im Testmanagementsystem vorliegen
  • Formeln und VBA-Skripte, die in der eingebetteten Excel-Vorlage einen Teil der Testauswertungslogik bilden können

Soll-Ist-Abgleich

Die in der Reportdefinition eingebettete Excel-Vorlage wird zum Zeitpunkt der Auswertung mit den Daten der Testdurchführung (Soll/Ist) befüllt. Als „Best Practice“ hat es sich bewährt, auf einem Arbeitsblatt den Soll-/Ist-Abgleich auszuweisen und auf weiteren Sheets Informationen auszugeben, die die Business-Analyse und Nachvollziehbarkeit unterstützen. Beispielsweise macht es Sinn, die verwendeten Parameter und Regeln auszugeben. Im Falle eines Defektes erleichtern detaillierte Geschäftsdaten die Nachvollziehbarkeit zusätzlich.

Einbettung der Testautomatisierung in den Testprozess

Viele Unternehmen setzen Test- und Fehlermanagementsysteme ein, um Testfälle anzulegen, Defekte zu verwalten und einen Überblick über den Stand der Testdurchführung zu bekommen. Die RapidRep Test Suite unterstützt zahlreiche Test- und Fehlermanagementsysteme (siehe hier) und tauscht die Ergebnisse der Testautomatisierung mit ihnen aus. Ein mit der RapidRep Test Suite durchgeführter Test legt im Testmanagementsystem einen Testnachweis inklusive der erzeugten Excel-Arbeitsmappe an und erzeugt bzw. aktualisiert im Fehlerfall einen Defekt.

Vertrauen

RapidRep kann also Kosten sparen und die Testdauer reduzieren. Aber sind die Ergebnisse auch verlässlich? Ja, denn jedes erzeugte Testfallergebnis ist vollständig transparent und jederzeit reproduzierbar. Die Excel-Arbeitsmappen, die den gesamten Test vollständig und gemäß IEEE 829 dokumentieren, stehen im Testmanagementsystem zur Verfügung. Im Falle einer regelbasierten Soll-Ermittlung wird die IT- und Fachabteilung frühzeitig in die Ermittlung der Testlogik einbezogen und kann sich auf die Berücksichtigung dieser Regeln verlassen, da diese in den Arbeitsmappen ebenfalls ausgegeben werden. Ergebnisse oder Teilergebnisse, die statisch oder als Formeln zu jedem Testfall existieren, fließen direkt und nachvollziehbar in die Testlogik ein.

Fazit

Es funktioniert!