Software und Performance Testing von SAP-Systemen
Richtiggehende Zweifel hatte das Testteam der FIS-ASP nicht, als es sich diese Frage stellte. Der besonderen Anforderungen an die Software war man sich durchaus bewusst.
Um es vorwegzunehmen: Zur Enttäuschung wurde der Versuch nicht, im Gegenteil. Die Aufgabenstellung Software- und Performance-Tests von SAP-Systemen sollte mit Open-Source-Mitteln durchgeführt werden. Das hierfür auserkorene Projekt OpenQa war ursprünglich von Suse entwickelt worden.
Viele Unternehmen setzen OpenQa für automatisierte Tests von Software ein und integrieren diese in die Continous-Integration-Prozesse der Quellcodeverwaltung. Vollautomatisiert werden auf diese Weise ganze Linux-Distributionen getestet.
Da OpenQa sowohl GUI-Eingaben mittels Bilderkennung durchführen und überprüfen als auch abgespielte Soundsamples analysieren kann, stand schnell fest: Die Aufgaben würden nicht unlösbar sein.
Die Tests selbst spielen sich hierbei in vorbereiteten Images ab, die eine komplette virtuelle Maschine darstellen. Erstellt werden die virtuellen Maschinen mit QEMU – in seiner Erweiterung KVM für das Testteam der FIS-ASP kein fremdes Produkt, da es ebenfalls für die Virtualisierung von SAP-Systemen zugelassen ist und auch in der OpenStack Cloud angewendet wird.
Ein ursprünglich sehr hoch geschätzter Aufwand für ein solches Projekt verringert sich deshalb enorm, wenn die dabei verwendeten Technologien bereits bekannt sind.
Bei den ersten Tests fiel auf, dass mit OpenQa nicht nur Software, sondern auch die Performance automatisiert getestet werden kann. Dazu entwickelte FIS-ASP verschiedene Szenarien: Zunächst wurde ein Test durchgeführt, der eine vordefinierte Anzahl von Benutzern im SAP-System anlegt.
Alle Interaktionen mit SAP fanden dabei durch das SAP GUI for Java statt, welches auf einer kleinen Linux VM läuft. Danach startete parallel eine Reihe weiterer „Tests“, die jeweils einen Benutzer darstellen.
Hierbei galt es lediglich die unternehmensspezifischen Use Cases zu berücksichtigen, um zuverlässig das zu testende SAP-System unter Lastsituationen zu vermessen und Performancedaten gezielt zu erfassen.
Die unterschiedlichen Tests werden in einfach zu bearbeitenden JSON-Dateien definiert und können so auch scriptgesteuert angepasst werden. Nachdem alle Tests gelaufen sind, lassen sich mit einem weiteren alle zuvor angelegten Benutzer in SAP wieder entfernen.
Tests von browserbasierten Oberflächen wie etwa Fiori Apps sind ebenso zu handhaben wie Tests durch das SAP GUI. Die Tester bei FIS-ASP nutzten hier sowohl Chrome als auch Firefox als von der SAP unterstützte Browser.
Was die Skalierbarkeit angeht, galt die Anforderung, im Bereich von mehr als 10.000 Benutzern Performancetests mit angemessenem Hardwareaufwand durchführen zu können.
Skalierbarkeit in Hardware war bereits durch OpenQa gegeben, Multinode konnte dort in der Oberfläche konfiguriert werden. Da allerdings jeder Test eine virtuelle Maschine auf dem OpenQa-Server darstellt, untersuchte FIS-ASP hier einige Optionen im Linux-Speicher-Management.
Die besten Ergebnisse erzielte dabei der Einsatz von KSM (Kernel Samepage Merging). Hierbei werden Speicherseiten, die sich nicht unterscheiden, nur einmal im Arbeitsspeicher abgelegt und allen Prozessen präsentiert, die sie benötigen.
Durch die Vielzahl an verschiedenen Aufgaben, die man mit OpenQa lösen kann, reduziert sich die Menge der unterschiedlichen Tools, die sonst eingesetzt werden müssten, erheblich.
Man kann mit der Lösung sinnvolle Ergänzungen von SAP und umgebenden Systemen schaffen und gleichzeitig den Arbeitsaufwand durch den hohen Grad der Automatisierung niedrig halten.
Beim Arbeiten mit OpenQa finden sich ferner immer wieder neue Ansätze zur Verwendung, sei es das Durchführen standardisierter Nacharbeiten nach Systemkopien oder auch einfache Tätigkeiten wie Passwortänderungen.
Durch die integrierte Kontrolle aller durchgeführten Schritte in den jeweiligen Tests kann der Erfolg der Tätigkeiten kontrolliert und auch dokumentiert werden.