Automatisiertes Entwickeln und Testen: Schnell & sicher zu neuer Mainframe-Software

 

Groß, schwerfällig und veraltet: So lauten gängige Vorurteile gegenüber dem Mainframe. Doch der Klassiker unter den Computern erfreut sich sogar steigender Beliebtheit. Mit neuen Technologien für das automatisierte Entwickeln und Testen von Mainframe-Software können Unternehmen die Anzahl der programmierten Code-Zeilen mit dem gleichen Team mehr als verdoppeln und gleichzeitig die Fehler um 83 Prozent reduzieren.

 

Autor – Thomas Keisel, Vice President Central Europe, Eastern Europe bei Compuware

 

Laut einer Studie von Forrester Research aus dem Jahr 2018 nutzen mehr als die Hälfte der Unternehmen in Deutschland einen Großrechner [1]. Weltweit sagen fast drei Viertel der Firmen, die Mainframes einsetzen, dass ihre kundenorientierten Anwendungen vollständig oder stark davon abhängig sind. Während 2018 noch 57 Prozent über die Hälfte ihrer geschäftskritischen Workloads auf der Plattform ausführten, waren es 2019 schon 64 Prozent.

Die Gründe für die steigende Beliebtheit der scheinbar veralteten Großrechner sind einfach: Nach wie vor ist diese Plattform gegenüber modernen Systemen leistungsfähiger, sicherer, skalierbarer und stabiler. Die hohe Zuverlässigkeit zeigt sich darin, dass der Mainframe fast keine Ausfallzeiten kennt. So kommt er vor allem bei wichtigen Geschäftstransaktionen zum Einsatz. Insbesondere die Finanzbranche verlässt sich auf den Mainframe bei der Durchführung von Kontoüberweisungen und anderen Bezahlvorgängen. Aber auch große Unternehmen aus den Bereichen Fertigung, Automobil, Luftfahrt, Einzelhandel, Pharma oder Gesundheit nutzen ihn für die Verarbeitung von Massendaten und die Abwicklung von Geschäftstransaktionen.

Hoher Aufwand für Software-Innovationen

Da die Systeme oft bereits seit Jahrzehnten im Einsatz sind, laufen einige Anwendungen ebenfalls entsprechend lange. Doch das immer dynamischere Wirtschaftsumfeld erfordert das schnelle Entwickeln, Testen und Ausrollen neuer Apps. Gerade hier gibt es beim Mainframe in drei Bereichen große Herausforderungen:

Organisation: Viele Mainframe-Apps sind geschäftskritisch. Störungen oder Ausfälle beeinträchtigen daher die Geschäftsprozesse und den Umsatz. Entsprechend zögern Unternehmen häufig mit einer Veränderung oder Erneuerung der Anwendungen, um keine Fehler einzuführen. Bei der Erstellung neuer Software sollen umfassende Prozesse die Qualitätssicherung gewährleisten. Dies führt zu langen Entwicklungs- und Testzyklen, so dass nur zwei- bis viermal im Jahr Änderungen an der Software durchgeführt werden. Dies ist natürlich deutlich langsamer als die heutige agile Software-Entwicklung.

Entwicklung: Aber auch die Entwicklungsprozesse selbst verzögern Innovationen. So sind im Laufe der Jahre große monolithische Programme entstanden, die oft eine halbe Million Code-Zeilen umfassen. Zusätzlich verabschieden sich immer mehr Mainframe-Experten in den Ruhestand, so dass deren undokumentiertes Wissen verloren geht. Fehlendes Know-how und mangelnde Transparenz erschweren nicht nur das Programmieren neuer Funktionen, sondern auch das Testen.

Tools: Mainframe-Software wurde bislang meist mit klassischen textbasierten Tools (Green Screen) programmiert. Diese Art ist nur mit viel Erfahrung effizient durchzuführen, da der Entwickler immer nur einen kleinen Ausschnitt des Codes sieht. Zusätzlich mussten die Tests weitgehend manuell abgewickelt werden. Viele sich wiederholende Aufgaben fressen dabei unnötig Zeit. So sind Mainframe-Entwickler bis zu 80 Prozent des Tages mit Testen beschäftigt – statt mit Programmieren.

Testautomatisierung sichert transparente Entwicklung

Seit wenigen Jahren stehen jedoch neue Tools zur Verfügung, die sowohl das Entwickeln als auch das Testen neuer Mainframe-Software deutlich beschleunigen. Moderne Werkzeuge für die Entwicklung ersetzen den klassischen Green Screen durch grafische Nutzeroberflächen. Diese können auch Programmierer ohne Mainframe-Erfahrung nutzen, da sie auf bekannte Funktionen zugreifen können. Zudem beschleunigt sich der Entwicklungsprozess. Denn die Nutzer erhalten durch verschiedene Ansichten mehr Transparenz und die eigentliche Codierung verläuft automatisch im Hintergrund.

Noch mehr Zeit lässt sich durch automatisches Testen sparen. Im ersten Schritt können die bisherigen repetitiven manuellen Testroutinen durch automatische Abläufe ersetzt werden. Diese virtualisierten Tests nutzen die gleichen Prozesse, werden aber durch einen einzigen Klick gestartet. Im zweiten Schritt lässt sich auch die Ausführung der Tests automatisieren. So wird die Testroutine nach einer Code-Änderung selbstständig ausgelöst und der Entwickler erhält das Ergebnis.

Bis vor kurzem konnten Unternehmen durch fehlende Möglichkeiten zur Test-automatisierung oder schwierigem Zugang zu guten Testdaten nicht die Geschwindigkeit und Effizienz der Mainframe-Software-Entwicklung erhöhen. Doch inzwischen gibt es Tools, die automatisches Testen sowie das Management von Mainframe- und Nicht-Mainframe-Daten integrieren. So lässt sich die Testdateneinrichtung direkt in automatisierte Tests einbetten.

Shift Left Testing identifiziert Fehler frühzeitig

Dabei ist es aber wichtig, die automatischen Testroutinen möglichst frühzeitig im Entwicklungszyklus durchzuführen. Der Fachbegriff dafür lautet „Shift Left Testing“. Er bezeichnet die Verschiebung der Tests nach vorne und damit nach links in der Zeitachse. Denn je früher ein neu erstellter Code überprüft wird, desto eher fallen mögliche Probleme auf – und desto effizienter ist ihre Behebung. Falls der Fehler erst spät entdeckt wird, müssen Entwickler eventuell sogar kurz vor dem geplanten Ausrollen völlig neuen Code programmieren und erneut aufwändig testen. Dies kostet unnötig Zeit.

Automatisierung und Shift Left Testing werden immer wichtiger. Denn die steigende Nachfrage der Fachabteilungen nach schnelleren Innovationen führt zu einem zunehmenden Druck für die IT-Abteilung. So halten es gemäß einer Umfrage von Vanson Bourne im Auftrag von Compuware 85 Prozent der IT-Führungskräfte für schwierig, schnellere Innovationen ohne Einbußen bei Qualität, Sicherheit, Kundenerfahrung und betriebliche Effizienz zu entwickeln [3]. Entsprechend sehen sie die Automatisierung von Tests als wichtigsten Faktor zur Erfüllung dieser Anforderungen.

Gleichzeitig sagen 82 Prozent der Teilnehmer, dass sie mehr Testfälle automatisieren müssen, um die von ihrem Unternehmen geforderte Geschwindigkeit zu liefern. Dabei können Mainframe-Teams nur durch die Kombination aus Automatisierung und Shift Left Testing qualitativ hochwertige Software schneller bereitstellen. Zudem können Entwickler durch schnelles Feedback zu ihrem Code mögliche Performance-Probleme frühzeitig erkennen und beheben.

Neue Sicherheit und Genauigkeit für die Programmierung

Durch die weitere Automatisierung von Shift Left Tests erhalten Unternehmen eine noch höhere Konsistenz, Genauigkeit und Sicherheit der Testdaten. Zunächst profitieren sie von:

  • Höherer Testkonsistenz. Kontinuierliche automatisierte Tests benötigen konsistente Testdaten, um inkonsistente oder falsche Ergebnisse, aufwändige Fehlerbehebung und die Einführung neuer Fehler zu vermeiden. Integrierte Tools gewährleisten Testkonsistenz, da sie den Datenladeprozess als Teil des Testfalls aufrufen und automatisch eine Teilmenge von Daten in eine Testumgebung laden. Da Probleme somit nicht an den Daten liegen können, wissen Entwickler und Tester, dass sie Fehler im Code suchen müssen.
  • Weniger Reibungsverlusten. Entwickler benötigen oft einen Datenbankadministrator oder ein spezialisiertes Team, um Daten zu erstellen und in eine Testumgebung zu laden. Dieser Vorgang umfasst zahlreiche manuelle Prozesse, Wartezeiten und Übergaben. Mit Hilfe aktueller Lösungen können Entwickler die richtigen Testdaten selbst einrichten und nutzen. Dies erhöht deutlich die Effizienz und Geschwindigkeit.
  • Schrittweiser Automatisierung. Unternehmen können manuelle Prozesse nach und nach automatisieren und damit Tempo und Umfang der Transformation steuern. Wenn ein wiederholbarer Prozess zum Extrahieren und Laden von Daten Teil einer automatisierten Test-Toolchain ist, verringert dies die Komplexität und erhöht die Datenkonsistenz.
  • Geschützten sensiblen Daten. Die Testdaten lassen sich automatisch anonymisieren, sobald sie geladen sind. Dies schützt persönlich identifizierbare Informationen (PII), so dass das Risiko für einen Sicherheitsvorfall sinkt.

Im Ergebnis können Unternehmen mit neuen Technologien für das automatisierte Entwickeln und Testen von Mainframe-Software die Anzahl der programmierten Code-Zeilen mit dem gleichen Team mehr als verdoppeln und gleichzeitig die Fehler erheblich reduzieren.

Fazit

Mit modernen Tools ist das Programmieren und Testen von neuer Mainframe-Software genauso schnell, kostengünstig und risikoarm wie bei anderen Plattformen. Doch die größte Herausforderung für Unternehmen liegt oft nicht in der technischen, sondern der organisatorischen Umstellung. Daher sollte der CEO oder CIO eingebunden sein und die Einführung unterstützen, zum Beispiel durch festgelegte Richtlinien zum Testen von neuem Code. Doch gleichzeitig muss die Transformation von unten nach oben erfolgen: durch kleine Schritte, Sammeln von Erfahrungen, Training von Teams und Ermutigung der Anwender. Dabei sollten Unternehmen erfahrene Partner einbinden und die Maßnahmen an ihre Kultur anpassen. Dann können sie optimal von Automatisierung und Shift Left Testing profitieren.

www.compuware.com

Compuware  ist ein BMC-Unternehmen, das die weltweit größten Unternehmen bei ihrer Digitalisierung durch die Bereitstellung innovativer Software unterstützt. Damit können IT-Experten auch ohne spezialisierte Kenntnisse Mainframe-Anwendungen einfach und flexibel entwickeln, bereitstellen und verwalten.

Referenzen:

[1] https://www.it-daily.net/it-management/data-center/23550-der-mainframe-gehoert-noch-lange-nicht-zum-alten-eisen

[2] https://www.datacenter-insider.de/7-auf-einen-streich–mainframe-maerchen-enttarnt-a-845176/

[3] https://resources.compuware.com/automated-testing-survey-vanson-bourne-en?utm_campaign=FY20Q3_Vanson%20Bourne%20Automated%20Testing%20Survey&utm_source=website&utm_term=automated%20testing