Unterziehen Sie Ihre SAP Supply Chain Execution Lösung regelmäßige Checks
"Durch Testen kann man stets nur die Anwesenheit, nie aber die Abwesenheit von Fehlern beweisen".
Edsger Wybe Dijkstar (1972)
Dieses Zitat kann wohl jeder unterschreiben, der sich regelmäßig mit dem Testen von Software beschäftigt. Möglichkeiten, die Wahrscheinlichkeit von Fehlern zu minimieren, gibt es trotzdem: Dazu gehören die Verwendung umfangreicher Testpläne, die Erhöhung des Testvolumens sowie der Einsatz einer ausgeklügelten Testsoftware.
Die Herausforderungen einer fehlerfrei laufenden Applikation liegen nicht nur im reinen Coding – Sie werden auch durch den definierten Prozess, die Konfiguration und die Spezifikation beeinflusst. Damit keine Seiteneffekte auftreten, muss neben einer lückenlosen Dokumentation des Systemverhaltens auch sichergestellt werden, dass dieses bei Veränderungen weiterhin funktioniert.
Im Folgenden untersuchen wir die Bedeutung von automatisiertem Testen im SAP-Umfeld. Welche Tools gibt es? Wie können Sie Ihre individuell konfigurierte Logistik-Software im Falle von Upgrades mit möglichst geringem Aufwand überprüfen?
Setzen Sie von Beginn an auf nachhaltige Qualitätssicherung
Unsere Erfahrung aus Kundenprojekten zeigt, dass aufgrund stetig wechselnder Anforderungen, extern vorgegebener Releasezyklen und immer kürzer werdenden Entwicklungsphasen die Forderung nach nachhaltigen Methoden zur Qualitätssicherung laut wird. Fehler, die beispielsweise durch Seiteneffekte nach dem Einspielen von Upgrades oder durch das Deployen weiterer Softwareartefakte auftreten, sind Fehler, die nur selten vorherzusehen sind. Im laufenden Betrieb verursachen Fehler dieser Art einen großen Schaden. Aus diesem Grund sollten die spezifizierten Softwareeigenschaften durch kontinuierliches Testen bereits während der Entwicklung und einer automatisierten Infrastruktur sichergestellt werden, um frühzeitig ein Fehlverhalten zu erkennen. Die Bedeutung des Themas der Automatisierung spiegelte sich auch in der diesjährigen Keynote der DSAG Technologietage 2019 als Hauptthema wider.
Wann sprechen wir von einem Softwaretest?
Möchte man definieren, was einen kompletten Softwaretest ausmacht, trifft folgende Beschreibung von Pol, Koomen & Spillner am besten zu: Ein Softwaretest ist ein
- „Prozess des Planens,
- der Vorbereitung und
- der Messung, mit dem Ziel,
- die Eigenschaften eines IT-Systems festzustellen und
- den Unterschied zwischen dem tatsächlichen und dem erforderlichen Zustand aufzuzeigen.“
Prozess des Planens
In der leogistics Integrated Test Suite (ITS) wird der Prozess – hier Szenario genannt – zusammengestellt, indem man die einzelnen Schritte in die gewünschte Reihenfolge bringt, damit der zu testende Geschäftsprozess durchlaufen werden kann.
Vorbereitung
Sind die Schritte in die entsprechende Reihenfolge gebracht, werden diese mit den notwendigen Parametern befüllt. Die Parameter bestehen entweder aus Festwerten oder Variablen.
Messung
Nachdem alle Schritte mit den passenden Parametern befüllt wurden, wird das Szenario ausgeführt. Dabei simuliert das leogistics ITS alle Schritte, die ein User ausführen würde (Testschritt) und gleicht den Zustand des Systems mit den Erwartungen (Verifikationsschritte) des Testers ab.
Eigenschaften eines IT-Systems
Wurde das Szenario durchlaufen, gibt das Anwendungslog das Ergebnis des Tests aus. Gleich in der obersten Zeile erkennt der Anwender auf einen Blick, ob der Test erfolgreich war oder nicht und ob das System somit den Erwartungen entspricht.
Zustandsabweichungen
Gibt der Test eine Fehlermeldung aus, können einzelne Schritte genauer beleuchtet werden, um ein zukünftig fehlerfreies Szenario umzusetzen.
Automatisierung schafft Freiraum für Digitalisierung
Kontinuierliches Testen führt besonders dann zum Erfolg, wenn es ein wesentlicher Bestandteil des Entwicklungsprozesses ist.
Gestützt durch den gezielten Einsatz von Testmethoden oder Testframeworks inklusive der Testautomatisierung, lässt sich der dafür notwendige Aufwand geringhalten. Obligatorisch dabei ist die flexible Erstellung und Pflege von Testszenarien.
Der Softwarelebenszyklus lässt sich verbessern durch:
- die Abbildung von Geschäftsprozesse als modulare und wiederverwendbare Komponenten
- Best Practices
- Werkzeuge wie Monitoring-Lösungen, Konfigurationsmanagement oder Tools für Continuous Integration/Delivery
Überblick – Testsoftware am Markt
Was macht die SAP? | SAP selbst stellt seit Jahren mit eCATT (Extended Computer Aided Test Tool) ein mächtiges Werkzeug zum Erstellen und Durchführen von Funktionstest zur Verfügung. Mit diesem Tool können SAP Geschäftsprozesse automatisiert getestet werden, sofern das SAP System entsprechend konfiguriert ist. Die Erstellung von Testskripts kann über eine einfache Aufnahme der Benutzeraktionen (SAP GUI oder WebDynpro) bis zur komplexen Variante mit zusätzlichen ABAP Skripten reichen. Im SAP Solution Manager ist eine umfangreiche Test Suite vorhanden, mit der die Kunden ein Testmanagement etablieren können. Angefangen mit der Dokumentation des Systems sowie der Planung und Erstellung eines Testkonzeptes können manuelle und automatisierte Tests verwaltet werden. Ab SAP Solution Manager 7.1 SP7 steht das Component-based Test Automation (CBTA) zur Verfügung. Mit diesem Add-On können neben klassischen SAP UI-Technologien neuerdings auch UI5 basierte Anwendungen komponentenbasiert getestet werden. |
Welche weiteren Lösungen gibt es auf dem Markt? | Mittlerweile gibt es eine Vielzahl von Testframeworks auf dem Markt, die bei der Umsetzung automatisierter Tests unterstützen. Die große Mehrheit setzt dabei auf das Aufrufen von Funktionen über die Oberfläche, womit in der Regel die Anwendertests automatisiert werden können. Bekannte Vertreter aus dem SAP Umfeld sind zum Beispiel Selenium oder die Toska Test Suite. |
Welche Möglichkeiten bietet leogistics? | Aufgrund des wachsenden Produktportfolios und der immer größer werdenden Komplexität hat die Qualitätssicherung bei leogistics einen sehr hohen Stellenwert. Neben dem Einsatz von Best Practices werden plattformspezifische Testframeworks eingesetzt, damit die jeweiligen Spezifika optimal abgedeckt werden können. Unterstützt wird das Ganze durch Monitoring und CI/CD. Für geschäftskritische Prozesse der leogistics d.s.c. wird zudem die leogistics Integrated Test Suite (ITS) verwendet. Mit dieser Testsuite kann ohne eine sonst notwendige Systemkonfiguration und mit Hilfe einer intuitiv und leicht nutzbaren Oberfläche ein automatisiertes Testmanagement auf SAP Basis aufgesetzt werden. Bereits vor der eigentlichen Implementierung und Konfiguration des Systems können mit Hilfe der ITS Geschäftsprozesse abgebildet werden, um bereits von Anfang an die Qualitätssicherung zu etablieren. |
Wie stellen wir fest, ob es in der Software Fehler gibt?
Aufgrund der kontinuierlichen Weiterentwicklung der leogistics d.s.c. und der Bereitstellung neuer Releases, ist stets darauf zu achten, dass alle Funktionalitäten einwandfrei funktionieren. Um dies zu gewährleisten, werden regelmäßig automatisierte Regressionstests durchgeführt. Treten dabei nicht erwartete Ergebnisse auf (z. B. falsche Rückgabewerte oder inkonsistente Systemzustände), resultiert der Test in einen Fehler. Mit dem Einsatz der leogistics Integrated Test Suite (ITS) ist die Konfiguration von Regressionstests innerhalb der leogistics d.s.c. ein leichtes Unterfangen, da auf Basis modellierter Geschäftsprozesse das zu erwartende Verhalten abgeleitet und in der Testsuite abgebildet wird. Durch die Integration in den ABAP Test Cockpit (ATC) können die Testläufe nach Belieben eingeplant werden.
Die Vorteile der leogistics ITS
- Qualitätssicherung bereits ab Projektbeginn
- Kein zusätzliches „externes“ Programm notwendig – alles innerhalb des bestehenden SAP-Systems ohne zusätzliche Systemkonfiguration
- Modulare, frei kombinierbare Schritte mit dem Fokus auf leogistics d.s.c. Lösungen
- Hohe Erweiterbarkeit im Falle von individuellen Kundenerweiterungen
- Integration der Tests in das ABAP Test Cockpit (ATC) für umfangreichere Testautomatisierung
Haben Sie sich bereits mit Testszenarien für Ihre neue Software beschäftigt? Konnten wir Ihr Interesse wecken? Dann sprechen Sie uns an. Gemeinsam untersuchen wir Ihre Testprozesse und bieten Ihnen Unterstützung durch unsere maßgeschneiderte leogistics Integrated Test Suite (ITS) an.
Bei Fragen zu diese oder anderen Themen im Blog wenden Sie sich bitte an blog@leogistics.com.
Thomas Pasberg
Ann-Kathrin Brückner
Entwicklung & Qualitätsmanagement