Was wir bisher gelernt haben, ist, dass die Impaktanalyse unerlässlich ist, um zu jedem Zeitpunkt die richtigen Dinge zu testen, von kleinen Patches bis hin zu ganzen Umstellungsszenarien. Jedes Release bringt spezifische Änderungen mit sich, und wenn du die genauen Auswirkungen auf deine Geschäftsvorgänge verstehst, verschwendest du keine Zeit mit dem Testen unveränderter Bereiche.
Deine Rettung - Testautomatisierung, aber sei vorsichtig damit
Gut, jetzt wissen deine Businessvertreter, WAS sie testen müssen (was ein großer Vorteil gegenüber dem "Alles testen"-Ansatz ist). Aber ist das Testen wirklich die Aufgabe der Businessvertreter? Sollten sie sich nicht besser auf ihre Kernaufgaben konzentrieren? Testen JA, wenn es um Akzeptanztests geht und um die Bestätigung, dass die Änderungen ihren geschäftlichen Anforderungen entsprechen. NEIN, wenn es um sich wiederholende Tests geht, die so genannten Regressionstests (um sicherzustellen, dass keine bestehenden Funktionen ausfallen). Regressionstests sind absolut wichtig, aber langweilig. Warum also nicht die Maschine das für dich erledigen lassen? Das macht die Testautomatisierung Sinn. Aber sei dir bewusst, dass sie einige Fallen für dich bereithält.
- Testautomatisierung ohne angemessene Risikobewertung führt zu höheren Kosten bei der Implementierung und Wartung.
- Vermeide automatisierte UI-Tests, wenn du die Funktionalität auch auf der API-Ebene testen kannst. Empfehlenswert ist ein breit angelegter Test der API-Kombinationen in Kombination mit den häufigsten Szenarien auf der Benutzeroberfläche.
- Die Implementierung der Testautomatisierung kann auf viele falsche Arten erfolgen, so dass die Wartung später zu einer Belastung wird. Es ist dasselbe wie beim Schreiben von Code. Du brauchst Experten, die das tun; du brauchst das richtige Design! Ein Crashkurs in Testautomatisierung wird das Problem nicht lösen. Neben der Frage, WAS automatisiert werden soll, geht es auch darum, WIE die Testautomatisierung durchgeführt wird.
Wo soll ich mit der Testautomation beginnen?
Deine Business-Leute wissen ziemlich genau, was zu testen ist. Indem du sie befragst, bewertest du das Risiko aus der Sicht der SAP-Anwendung und gehst dann bis zu den Transaktionen und Funktionalitäten innerhalb der Anwendung vor. Außerdem darfst du das gesamte Ökosystem um dich herum nicht vergessen und musst die wichtigsten Schnittstellen und Anwendungen ermitteln, die mit deinem SAP-System interferieren. Sieh dir deine End-to-end Use Cases an und strukturiere sie. Das Risiko muss jedoch anhand dieser Dimensionen bewertet werden:
- Schaden: Welchen monetären oder Reputationsverlust hast du zu befürchten, wenn die Funktionalität ausfällt?
- Häufigkeit: Es geht vielleicht nicht um den finanziellen Verlust, aber tausendmal am Tag gestoppt zu werden und einen Workaround einzuschlagen, ist auch keine Option.
- Komplexität der Testautomatisierung: Automatisierung um jeden Preis ist nicht sinnvoll. In manchen Fällen können manuelle Regressionstests immer noch ausreichen.
Diese Strukturierungsübung ist wichtig, um deine Testfälle möglichst effektiv zu automatisieren. Das Ziel ist es, die meisten deiner Risiken durch automatisierte Tests abzudecken. Das ist die Grundlage, um agil zu werden.
Welche Spezialisten brauchst du?
In erster Linie erfordert Testing Neugierde. Du brauchst Leute, die gleichzeitig genau und neugierig sind, um das Unerwartete aufzudecken. Businessvertreter werden immer versuchen, ihre eigenen Anforderungen gut zu testen, aber sobald der Testbedarf durch SAP-Updates oder störende Änderungen anderer Teams entsteht, sinkt das Interesse am Testen. Die Key-User haben einfach nicht die Zeit für umfassende Tests.
Du brauchst erfahrene und engagierte Spezialisten, um die Kluft zwischen verschiedenen Teams und zwischengeschalteten SAP-Anwendungen zu überbrücken, eine nachhaltige Teststrategie zu entwickeln und die Testautomatisierung in Gang zu setzen oder zu optimieren. Das erfordert nicht nur technisches Verständnis, sondern auch ein gutes Verständnis des Business, in dem du tätig bist. Das empfohlene Setup ist eine Kombination aus Embedded Testers und einem Team für Testautomatisierung. Der eingebettete Tester ist derjenige, der nahe an den Anforderungen des Business UND der Entwicklung ist und daher die Risiken von beiden Seiten her kennt. Er stellt die Verbindung zum Testautomationsteam her. Innerhalb des Testautomatisierungsteams sind die Fähigkeiten unterschiedlich, was zu verschiedenen Rollen führt: Der Methodikexperte entwirft die logischen Testfälle und ermittelt die erforderlichen Testdaten, der Testautomatisierungsexperte überwindet die Fallen der Automatisierung und der Ausführungsexperte konzentriert sich auf die Wartbarkeit der Testfälle, damit die Ausführung der automatisierten Tests reibungslos verläuft und die Integration in deine zukünftige Continuous Deployment Pipeline gut gemanagt wird. Es geht also nicht nur um DEN Tester!
Die gute Nachricht
Die SAP-Welt ist technisch gut auf die Testautomatisierung und die Impaktanalyse vorbereitet! Im Jahr 2020 beschloss SAP, die Entwicklung von SAP Component-based Testautomation einzufrieren und stattdessen eine Partnerschaft mit Tricentis einzugehen, um deren Toolpalette in die SAP-Welt einzubringen und die Testautomatisierung abzudecken.
Diese besteht aus den folgenden Teilen:
- SAP Enterprise Continuous Testing (ECT)
- SAP Change Impact Analysis (CIA)
- SAP Enterprise Load Testing (ELT)
- Tricentis Testautomation für SAP (TTA)
SAP Enterprise Continuous Testing ermöglicht es nicht nur, die notwendigen Maßnahmen zur Automatisierung von SAP-Tests zu ergreifen, sondern ist auch das Werkzeug zur Automatisierung aller End-to-end-Szenarien innerhalb und außerhalb von SAP. Es ist eine modellbasierte Lösung, d.h. es sind keine speziellen Programmier- oder Skriptkenntnisse erforderlich. Wenn du einen SAP-Test oder z.B. das CRM-System, das mit deinem SAP-Use Case verbunden ist, automatisierst, wird derselbe Mechanismus und dieselbe Methodik verwendet, um automatisierte Tests bereitzustellen. Mit der Unterstützung von über 160+ Technologien kannst du fast jedes End-to-end-Testszenario mit derselben Plattform und Methodik automatisieren.
TTA ist die kostenlose Version für die Testautomatisierung, allerdings mit Einschränkungen im Vergleich zu ECT. Sie ist nur auf SAP-Technologien fokussiert, ermöglicht aber einen schnellen Einstieg in die Testautomatisierung.
SAP Change Impact Analysis ist die Lösung, wenn es darum geht, die Auswirkungen von geplanten SAP-Änderungen zu verstehen. Zwei wichtige Vorteile werden genannt:
Erstens kannst du mit der SAP Change Impact Analysis dein aktuelles SAP ECC-System mit einer S/4HANA-Umgebung vergleichen und so die im Artikel "Die Auswirkungen von SAP-Änderungen verstehen" genannten Fragen beantworten. Erinnere dich an die ankommenden Asteroiden: Mit der Analyse lassen sich die großen Felsen, die sich auf dem Weg zu S/4 befinden, schon früh im Transformationsprozess zerstören.
Zweitens werden so die Objekte identifiziert, die von der Änderung betroffen sind und die am meisten getestet werden müssen. Alles zu testen ist keine Option, es geht darum, die richtigen (d.h. die relevantesten) Dinge zu testen UND die richtigen Entscheidungen für die Testautomatisierung zu treffen! Dies wird durch Folgendes erreicht:
- SAP-Objektstruktur und ihrer Abhängigkeiten verstehen (einschließlich kundenspezifischen Codes)
- Nutzungsdaten aus einem Produktionssystem erhalten
- Kombinieren von beidem mithilfe eines KI-basierten Algorithmus, der die Anzahl der zu testenden Objekte um 85% reduziert.
SAP Enterprise Load Testing bereitet dich auf die Skalierung deines SAP-Systems vor, wenn Lasttests erforderlich sind.
Schlussbemerkung
Egal, ob du SAP CIA während der S/4HANA-Transformationsphase, früher in der aktuellen SAP ECC-Umgebung oder später nach der Transformation einsetzt, bei jedem Deployment generierst Du einen Nutzen damit. Egal, ob du deinen kundenspezifischen Code oder SAP-Standardänderungen implementierst, du weißt genau, welche Transaktionen am meisten gefährdet sind. Kombinierst du diese Informationen mit der richtigen Testautomatisierungsstrategie, die die Vorteile von SAP ECT nutzt, geht das Risiko beim Deployment und in der Hypercare Phase (der Phase, in der kritische Fehler in der Produktion behoben werden) gegen Null. Und das mit dem geringsten Testaufwand für Business User!
Wir hoffen, dass dieser Bericht dir zum Verständnis der Impaktanalyse und der Gründe, warum Testautomatisierung deine Agilität unterstützen kann, auf Interesse gestoßen ist.
Die Zeit für SAP Testautomation ist gekommen.