Questions? Feedback? powered by Olark live chat software

SAP Testing

End-to-End-Tests – nicht ideal für SAP Regressionstests, aber alles, was uns bislang zur Verfügung stand. Bis jetzt.

Wer hat noch nicht von End-to-End-Tests gehört? Seit Jahrzehnten sind sie der Standard für erfolgreiches Testing. Es gibt unendlich viele Informationen zu diesem Thema und jeder, der mit Tests von Geschäftsprozessen arbeitet, kennt den Begriff oder die zugrundeliegende Methodik.

Ich persönlich bin kein Freund davon. End-to-End-Tests waren noch nie das Nonplusultra; jedoch waren sie besser als alles, was es sonst gab.

Während meiner Arbeit als Software-Entwickler und -Tester, sowie später bei der Optimierung von Geschäftsprozessen hatte ich ständig mit End-to-End-Tests zu tun. Die Logik des Ansatzes ist denkbar einfach: Zuerst werden die Geschäftsprozesse erstellt und anschließend geprüft, ob ihre Ausführung bei der Weitergabe an Automatisierungs-Tools wie ERP-Systeme wie gewünscht funktioniert. Sobald Änderungen des Systems geplant sind, werden die Tests wiederholt, um zu vermeiden, dass unerwünschte Ergebnisse auftreten. Das klingt zunächst nicht problematisch.

Also verstehen Sie mich bitte nicht falsch. Ich habe keine Einwände gegen das Erfassen von Geschäftsprozessen, Wertstromanalysen oder gegen jede andere Aktivität, um die Organisation von Mitarbeitern, Prozessen und Technologien zu optimieren. Ich habe mich viele Jahre diesen Aktivitäten gewidmet und befürworte sie absolut. In Bezug auf SAP Regressionstests muss ich diesen Ansatz jedoch ablehnen. End-to-End ist ein wichtiger Ansatz für UAT, Rauchtests und ähnliche Prozesse; doch für SAP Regressionstests sind neue Technologien viel effektiver – ein Festhalten an End-to-End wäre sogar kontraproduktiv.

End-to-End-Tests sind jedoch nur deshalb so allgegenwärtig, weil einfach keine andere Form von Tests für die Branche vorstellbar war. Standard waren ausgelagerte manuelle Tests, welche gut dokumentierte, lineare Prozesse benötigen. Durch die Nutzung der Automatisierung gab es nur wenige Möglichkeiten, Testdaten und andere funktionale Voraussetzungen (Szenarien) für die Durchführung von Tests verfügbar zu machen. Es ist also keine Überraschung, dass Lösungen für das Datenmanagement oft teurer sind als Lösungen zur Testautomatisierung, weil gerade diese den Testbedarf deutlich zu reduzieren beabsichtigen.

Doch End-to-End-Tests haben noch weitere Nachteile. Sie führen dazu, dass jeder Testdurchlauf umfangreicher und zeitraubender wird. Außerdem treten zahlreiche Wiederholungen auf, um bedingte Aktivitäten und andere Elemente ohne jeden Mehrwert zu berücksichtigen. Die Abdeckung zum Ende eines Tests wird geradezu „ausgehungert“, da erkannte Probleme während des Testdurchlaufs eine volle Performance des End-to-End-Prozesses verhindern. Entwickler müssen sich schon früh im Geschäftsprozess Fehler für Fehler voranarbeiten, bis sich das Zeitfenster für die Testdurchläufe schließt oder aber eine verspätete Auslieferung in Kauf genommen werden muss.

Eine vollständige Testabdeckung ist ohnehin schwierig zu erreichen. Änderungen an einem einzelnen Schritt, von dem zahlreiche Abhängigkeiten in einem komplexen Geschäftsprozess ausgehen, können ungeahnte Folgen für die gesamte Testdokumentation und die Automatisierungsbibliothek haben. Die Arbeit ganzer Jahre kann somit zunichte gemacht werden. Und vergessen wir auch nicht, dass End-to-End-Tests eine allumfassend entwickelte QA-Umgebung mit wirklich allen Komponenten des Geschäftsprozesses erfordern. Auch darum finden Regressionstests und Fehlererkennung erst sehr spät im Entwicklungszyklus statt.

Wie können wir diesen Herausforderungen begegnen?

Zumindest für SAP hat aktuell eine Innovation namens Robotic Test Automation (RTA) die Karten für Regressionstests neu gemischt. RTA erstellt eine Teststruktur, indem es die tatsächliche Nutzung eines Produktionssystems erfasst und diese Aufzeichnung in eine Kopie des Systems einspielt. Die resultierende Testbibliothek ist nicht durch bedingte Testdaten und Geschäftstätigkeiten eingeschränkt; stattdessen wird eine produktionsähnliche Testumgebung geschaffen und spezifische Tests auf Basis der realen Systemnutzung durchgeführt.

RTA nutzt den Umstand, dass die meisten Geschäftsprozesse nicht nur einmal sondern mehrmals in einem bestimmten Zeitraum ausgeführt werden. Zu jedem Zeitpunkt können Tests desselben Prozesses simultan ausgeführt werden, wobei sich jeder Prozess an einem anderen Punkt im Workflow befindet. RTA erfasst alle Aspekte dieser Ausführungen und nutzt diese Daten zum Test von Geschäftsaktivitäten, zu denen ein einziger End-to-End-Test aufgrund von vorherigen Ausfällen erst gar nicht gelangen würde.

Im Endeffekt wird jede einzelne Geschäftstätigkeit in einem Testfragment getestet, statt einen umfassenden End-to-End-Test durchzuführen. So wird die stetige Abnahme der Testabdeckung gegen Ende langer End-to-End-Tests umgangen und die für einen End-to-End-Ansatz typischen Datenprobleme vermieden.

Und während End-to-End-Tests es erfordern, für jede Variante eines Prozesses einen Test zu definieren und auszuführen, validiert RTA bei der Erstellung der Teststruktur automatisch alle im Produktionssystem vorkommenden Varianten – ein immenser Vorteil bei umfangreichen Aktivitäten wie dem Vertrieb oder der Materialwirtschaft mit ihrer Vielzahl an Prozessvarianten.

Auch das Management der Testdaten wird einfacher, da bei der Erstellung der Umgebung für den Regressionstest der Zustand des Produktionssystems und die Aufzeichnung der Aktivitäten zusammen erfasst werden. Bereits dieser Vorteil rechtfertigt oft eine Investition in RTA, da größere Upgrades und Migrationen umfangreiche Regressionstests erfordern, die weit über den Rahmen eines Einzel-Release oder einer planmäßigen Änderung hinausgehen.

Wenn Ihnen SAP Tests unmittelbar bevorstehen, lassen Sie die Einschränkungen durch End-to-End-Tests hinter sich. Geben Sie sich nicht mit weniger als einem stabilen, vollautomatischen und umfassenderen Ansatz zufrieden. Verlangen Sie Regressionstests ohne Skripte, ohne Datenmanagement und verzichten Sie auf Aktivitäten, die keinen Mehrwert schaffen.
Kontaktieren Sie uns und erfahren Sie mehr über Robotic Test Automation – dem Ansatz für Regressionstests mit geringstem Aufwand und höchster Abdeckung.

Teile diesen Beitrag

Kürzliche Posts

Eine Demo anfordern

Learn More About Our DevOps and Testing Platform

Suchen

Mehr lesen