Batchabläufe automatisiert testen – vTF meets Mainframe

Donnerstag, 2.8.2018

Batchabläufe automatisiert testen

Das Testen von Batchabläufen kann eine mühselige Arbeit sein: Viele Tools sind notwendig und die Fehleranfälligkeit ist wegen monotoner Arbeiten und vielen händischen Arbeitsschritten recht hoch. Dem kann durch Testautomatisierung begegnet werden. Daher hat das viadee Testframework (vTF) Feature-Zuwachs erhalten.

Mit dem vTF ist ab sofort das Automatisieren von Jobausführungen auf einem Mainframe, die durch das Hochladen einer JCL-Datei angestoßen werden, möglich. Zusätzlich werden auch die Datenbankveränderungen getrackt und geprüft sowie erzeugte Ausgabedateien validiert.

Batchabläufe händisch testen?

Die Notwendigkeit entstand durch das Testen von Batchabläufen eines Finanzdienstleisters durch das Testcenter der viadee. Der Testablauf ohne vTF sah wie folgt aus:
  1. Ausführen von SQL-Dateien zum Herstellen des gewünschten Datenbankausgangszustandes
  2. Sicherung des Datenbankzustandes vor Jobausführung
  3. Anpassung der JCL-Datei an den jeweiligen Testfall und die Testumgebung
  4. Hochladen der JCL-Datei via FTP – Befehle auf der Kommandozeile
  5. Überprüfung des Returncodes des durchgelaufenen Jobs auf dem Host
  6. Sicherung des Testdatenbestandes nach Jobausführung
  7. Herunterladen und Überprüfung der erstellten Dateien wie z. B. Nachweislisten und Protokolle
Zur Durchführung dieser Arbeitsschritte ist eine Reihe verschiedener Tools zum Einsatz gekommen: Ein FTP Client, ein Texteditor, ein Emulator für den Zugang zum Mainframe bzw. Host zum Überprüfen des Returncodes sowie die Kommandozeile.
Hinzu kam der monotone händische Aufwand, der für jeden Testfall auf ähnliche Art und Weise durchgeführt werden musste: Das Anpassen der JCL-Datei, das Nachschauen des Jobstatus‘ auf dem Host und das Validieren der generierten Ausgabedateien. Es verwundert nicht, dass dies mit einer erhöhten Fehleranfälligkeit einherging.
Dies galt insbesondere für den Datenbankvergleich: Hierbei wurden nicht nur die Datenbankeinträge geprüft, bei denen ein Update erwartet wird, sondern auch solche, die sich nicht verändern sollen. Das war mit wachsendem Datenbestand eine zeitintensive und fehleranfällige Aufgabe.

Ein Testautomatisierungstool, das Host spricht

Durch die Erweiterung des vTF können diese Arbeitsschritte nun automatisiert, und die Anzahl der händischen Tätigkeiten auf einen initialen Aufwand minimiert werden.

Kosten-Nutzen-Betrachtung von Testautomatisierung Kostenloses Whitepaper - hier downloaden

Das vTF übernimmt das Ausführen der SQL-Dateien, die Sicherung des Testdatenbestandes vor und nach der Jobausführung als CSV-Dateien sowie das Herunterladen der erzeugten Ausgabedateien. Besonders hervorzuheben sind das Anpassen der JCL-Datei, das Hochladen dieser sowie das Prüfen des Returncodes. Dazu werden die testumgebungsabhängigen Parameter wie High-Level-Qualifier, Datenbank und Schema im Testset definiert und durch das vTF in die JCL-Datei eingefügt. Diese wird dann per FTP an den Mainframe gesendet. Durch die Angabe erlaubter Returncodes wird der Blick auf den Host obsolet, da das vTF auf die Fertigstellung der Jobausführung wartet, den Returncode prüft und sowie die Job ID sichert. Ebenso wird die Durchführungsdokumentation des Hosts heruntergeladen, sodass eine Analyse ohne weitere Systeme durchgeführt werden kann.

Darüber hinaus ist die Validierung der erzeugten Dateien vereinfacht worden. Nachdem diese durch das vTF heruntergeladen wurden, können sie gegen Sollwerte geprüft werden. Dazu gibt es aktuell zwei Optionen:

  • Entweder wird eine Solldatei erstellt, gegen die dann geprüft wird. Dies hat sich im Testcenter insbesondere bei Protokolldateien durchgesetzt: Das Ignorieren bestimmter Zeilen (z. B. in solchen, die Laufzeiten und Zeitstempel enthalten) machen dies zum Best Practice.
  • Die zweite Möglichkeit ist das Konvertieren der in EBCDIC-Kodierung gespeicherten Dateien in XML-Dateien durch das vTF und das anschließende Auslesen bestimmter Werte mit XPath. Diese können dann gegen Sollwerte geprüft werden, die durch den Tester im Testset definiert wurden. Somit müssen nicht alle Werte in einer erstellten Datei geprüft werden und die Validierung kann sich auf die relevanten Werte beschränken.
Dies gilt auch für den Datenbankvergleich: Hier werden die Tabellen angegeben, die verglichen werden sollen. Dabei kann der Tester festlegen, ob eine Veränderung der Tabellen erwartet wird oder nicht. Dies erhöht die Testabdeckung und ist deutlich weniger fehleranfällig als händisches Prüfen für Tabellen, in denen keine Änderung passieren darf.

Ferner ist es möglich, bestimmte Datenbankeinträge via SQL zu prüfen und das Ergebnis in CSV-Dateien zu speichern. Dies eignet sich insbesondere für Regressionstests, da neue Ergebnisse mit bereits bestehenden über einen Textvergleich einfach geprüft werden können.

Ein Testautomatisierungstool, das in Ihre Prozesse passt

Am Ende des Testdurchlaufs wird ein Report erstellt, der die Durchführung dokumentiert, die Sollwerte und erhaltenen Ergebnisse sowie auch die Durchlaufzeiten der verschiedenen Testschritte enthält. Dieser kann dann zusammen mit den CSV-Dateien, die den Datenbankzustand vor und nach Jobausführung sowie den Vergleich enthalten, in das Testmanagementtool der Wahl geladen werden.

Insgesamt haben sich so die händisch durchzuführenden Tätigkeiten auf das Definieren der Testschritte mitsamt Sollergebnissen, die Erstellung von Solldateien und eventuell die Vorbereitung eines JCL-Templates minimiert, die mit Ausnahme des Einstellens der Dokumentation in das Testmanagementtool nur bei der Erstellung des Testsets einmalig ausgeführt werden müssen.

Mit den Möglichkeiten, die das vTF mit seinen stetig wachsenden Fähigkeiten und Funktionen mitbringt, werden die Arbeitsaufwände im Testcenter auf einen initialen Aufwand je Testfall heruntergebrochen. So werden Wege geschaffen, reproduzierbare Ergebnisse – ohne Einfluss der menschlichen Fehlbarkeit bei monotonen Aufgaben – herzustellen, die insbesondere für Applikationen mit langen Wartungs- und Erweiterungszyklen ein schnelles Feedback über die Qualität der Applikation liefern.

viadee Testframework - jetzt kostenlos als Freeware testen!

 

Von der Test- zur Prozessautomatisierung: aus vtf wird mateo

Das ehemalige viadee Testframework (vTF) hat sich weiterentwickelt. Um dem Leistungsumfang des gewachsenen Produktportfolios gerecht zu werden, erscheint es unter neuem Namen. Erfahren Sie mehr über Testautomatisierung mit mateo core, das Testen von Weboberflächen mit mateo web und robotergesteuerte Prozessautomatisierung mit mateo rpa.


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Ben Lohrengel

Ben Lohrengel

Ben Lohrengel ist bei der viadee als Business Analyst tätig. Ebenso engagiert er sich in den Kompetenzbereichen Organisationsentwicklung sowie Qualitätssicherung, Testautomatisierung und RPA.

Ben Lohrengel bei Xing