Search

SAP Testing

Acht Fragen bei der Wahl der richtigen SAP-Testlösung

Ich hatte Glück. In den letzten ein oder zwei Jahrzehnten hatte ich Gelegenheit, einen Großteil der heute auf dem Markt befindlichen Testlösungen kennenzulernen. Na gut, ob es wirklich „Glück“ war, darüber lässt sich streiten. In meinem Fall haben jedenfalls andere die Entscheidungen getroffen. Ich hatte den Vorteil, beobachten und verstehen zu können, welche Auswirkungen der Einsatz eines bestimmten Tools auf das jeweilige Unternehmen hatte, für das ich tätig war. Ich fand das sehr lehrreich.

Gestützt auf diese Erkenntnisse habe ich eine Reihe von Schlüsselfragen formuliert, die Unternehmen bei der Auswahl der richtigen Testtools für SAP unterstützen sollen. Diese Fragen habe ich in zwei Kategorien unterteilt:  die wirtschaftlichen Aspekte und Anforderungen im Hinblick auf die gewünschten Ergebnisse und die technischen Aspekte zum Erreichen dieser Ziele. Ich gehe auf jede dieser Fragen einzeln ein und untersuche, wie man eine Lösung im Kontext bewerten kann.

Wirtschaftliche Aspekte:

  • Müssen wir die Tests automatisieren oder reichen manuelle Tests und die entsprechende Dokumentation?
  • Deckt die Lösung beim Testen genug Geschäftsprozesse ab?
  • Können wir uns die Lösung und den Support dafür leisten?  

Technische Aspekte:

  • Lässt sich die Lösung skalieren?
  • Wie können wir die Testbibliothek pflegen?
  • Wie lösen wir das Problem der Testdaten?
  • Hilft die Lösung bei der Ursachenanalyse und Fehlerbehebung?
  • Unterstützt die Lösung den „Shift-Left“-Ansatz oder frühzeitige Tests?

Brauchen wir Automatisierung?

Testautomatisierung bietet enorme Vorteile. Sie ist jedoch nicht umsonst zu haben, und für kleinere Unternehmen kann es schwierig sein, entsprechende Prioritäten zu setzen. Einige Unternehmen halten die Anforderungen an die Testautomatisierung verglichen mit dem Nutzen, den sie für ihre Lösung daraus ziehen, vielleicht für übertrieben. Diese Unternehmen nutzen statt dessen hauptsächlich manuelle Tests und ein ALM-Tool (Application Lifecycle Management), um die Praxis und Wirksamkeit der Tests zu verfolgen und zu dokumentieren.

Größere Unternehmen oder Teams mit hohen Volumina und regulatorischen Anforderungen haben wahrscheinlich keine andere Wahl. Nur die Automatisierung bietet bei jedem Testlauf die Konsistenz, Skalierbarkeit und Gründlichkeit, um die Anforderungen dieser Unternehmen zu erfüllen. 

Wenn Ihre Organisation kleiner ist, keine formelle interne Testpraxis hat, und vor allem gelegentliche Ausfälle verkraften kann, ist es u. U. praktischer, keine Testautomatisierung zu verwenden. In diesem Fall nutzen Sie stattdessen eine einfache Testmanagement- und Berichtslösung (ALM).  Der Wert der Beobachtung von Trends im Laufe der Zeit sollte nicht unterschätzt werden:  Die Gesamtqualität wird häufig insgesamt gemessen, und es kann eine Weile dauern, bis sich Änderungen wie die Entwicklungsmethodik im gesamten System bemerkbar machen.

Testabdeckung

Dies ist der wichtigste Aspekt:  Wie viele Geschäftsprozesse und Einzelaktivitäten bilden die kritische Masse Ihres Unternehmens? Was muss „immer“ funktionieren und sollte daher immer getestet werden?  Wie viele Variationen von Kernprozessen sind wesentlich?

Einige Automatisierungslösungen unterstützen oder automatisieren die Erkennung von Geschäftsprozessen vollständig oder generieren die Testbibliothek automatisch. Für Unternehmen mit hohen Testanforderungen sind dies wichtige Vorteile, die bei einer Lösung berücksichtigt werden müssen.

Ich warne vor dem verführerischen Reiz risikobasierter Tests und anderer Methoden, die weniger Tests befürworten. Der Reiz ist offensichtlich, aber unter dem Strich bedeutet das oft nur eine geringere Testabdeckung. Statt dessen sollten Sie analysieren, was Ihr Unternehmen wirklich braucht, und Ihre Lösungen so auswählen, als gäbe es solche hoffnungsvollen Versprechen gar nicht.

Können wir uns das leisten?

Die schwierige Frage bei jeder Automatisierung ist die Erschwinglichkeit. Die Kosten entstehen sowohl beim Humankapital als auch in der Infrastruktur. In der Regel lässt sich mit einer gut geführten Automatisierungsstrategie und -lösung eine höhere Testabdeckung erreichen, als dies bei manuellen Tests möglich ist. Anders ist auch, wer die Arbeit ausführt.

Für manuelle Funktionstests werden häufig Mitarbeiter eingesetzt, die sonst mit produktiven Geschäftsprozessen befasst sind.  Bei Automatisierung werden eher technische Kompetenzen benötigt, um die Herausforderungen der Skripttestarchitektur zu bewältigen, die mit diesen Tools einhergehen. In beiden Fällen werden die erkannten Fehler häufig zur Analyse an ein Fachexperten-Team weitergeleitet.

Automatisierungslösungen erfordern in der Regel Investitionen in die Infrastruktur. Bei einem DevOps-Ansatz zum Testen von SAP werden beispielsweise eine Testumgebung und Bereitstellungstools benötigt, die sich für die Ausführung der Testbibliothek in der entsprechenden Größenordnung eignen. Daher müssen die technischen Anforderungen für den vorgesehenen Einsatz der ausgewählten Lösung und die Anschaffungs- und Betriebskosten, die mit einem bestimmten Ansatz einhergehen, berücksichtigt werden.

Skalierung

Der Zweck der Testautomatisierung besteht darin, in kürzerer Zeit und mit geringeren Kosten mehr zu testen, als es bei einem manuellen Ansatz möglich wäre. Das ist das klassische „Kompromissdreieck“ zwischen Qualität, Zeit und Kosten – doch die Automatisierung kann alle drei Aspekte gleichzeitig verbessern.  Dazu ist eine Skalierung der Lösung und Ihres Unternehmens erforderlich.

Führt die Testlösung den Test eigenständig durch, oder muss ein Automatisierungstechniker am Desktop jeden Testvorgang beaufsichtigen?  Ist die Lösung in der Lage, die Tests in der Größenordnung durchzuführen, die für eine ausreichende Abdeckung der vorhandenen SAP-Funktionen erforderlich ist? Um diese Ziele zu erreichen, suchen Sie nach Lösungen mit vollautomatischer Erfassung und Aufzeichnung sowie unbeaufsichtigter Testausführung mit Playback-Funktion.  

Testbibliothek

Die meisten Testautomatisierungslösungen erfordern bestimmtes Maß an Skriptwartung, damit die Lösung fortlaufenden Nutzen bietet. Der Umfang der Skriptpflege kann von angemessen (bei eleganteren Lösungen) bis unzumutbar reichen.  Wenn die Testbibliothek nicht ständig aktualisiert und gewartet wird, erleiden die Testskripte Schaden. Dies bedeutet, dass sie nicht mehr ordnungsgemäß funktionieren und Fehler melden, die in Wirklichkeit keine sind.

Mit der Zeit wird die Wartung sehr zeitaufwändig und schränkt die Fähigkeit der Automatisierungslösung ein, den Abdeckungsgrad weiter zu erhöhen. Der Erfolg hängt in erster Linie vom Talent und von den Kapazitäten ab –  von den technischen Fähigkeiten des Testautomatisierungsteams und der Anzahl der Personen, die sich dieser Aufgabe widmen.  Es ist wichtig, Talente zu finden und zu halten, die mit der ausgewählten Lösung vertraut sind, insbesondere für Lösungen, die auf Desktop-Benutzeroberflächen basieren.

Testdaten

Testdaten sind die Werte und Eingaben, die während der Testausführung verwendet werden. Sie können eng an die vorhandenen Informationen im System gebunden sein.  Um z. B. einen Order-to-Cash-Prozess vernünftig testen zu können, benötigen Sie möglicherweise die Daten für einen Kunden, einen Vertriebskanal, die Art der Bestellung und die Materialien sowie weitere Details. Die Bestellung erfordert dann den zugrunde liegenden Materialbestand, ein Rechnungskonto usw. Diese Daten müssen vorhanden sein, damit ein Order-to-Cash-Testskript ordnungsgemäß ausgeführt werden kann. Doch ironischerweise ist die Testausführung häufig schon so ressourcenintensiv, dass das QA-System kaum noch in der Lage ist, diese Daten zu liefern.

So kann die Handhabung der Testdaten zu einem der größeren Hindernisse für den Erfolg der Automatisierung werden. Gute Testlösungen mindern oder beseitigen dieses Problem wirksam mit verschiedenen technischen und methodischen Ansätzen. Die Nutzung einer Kopie der Produktionsumgebung ist dafür eine Möglichkeit – die es übrigens nur in SAP-Umgebungen gibt.

Ursachen und Fehlerbehebung

Wenn ein Fehler identifiziert wurde, welcher Prozess validiert den Fehler und behebt das Problem? An der Untersuchung und Behandlung kann eine Reihe von Personen beteiligt sein: vom Funktionsexperten, der den möglichen Fehler bewertet, bis hin zum Entwickler, der die Codekorrektur vornimmt.  Die besten Lösungen sorgen für die Koordination des Teams und verstehen beide Seiten des Systems:  den Prüfungs- und Berichterstattungsbedarf für den Prozess, der Fehler aus Sicht der Benutzererfahrung und sogar die Frage, welche technischen Änderungen an Objekten und Programmen die wahrscheinliche Ursache sind.

Die Automatisierung wird in diesem Bereich mit zunehmender Testgröße und -häufigkeit besonders wichtig. Fehlalarme und unnötige Diagnosearbeiten können bei steigendem Testtempo die besten Absichten konterkarieren. Schauen Sie sich nach einer Lösung um, mit der das Team mehr testen und Testergebnisse effizienter verwalten kann. 

Shift-Left-Ansatz

Der Shift-Left-Ansatz (Linksverschiebung) ist ein Grundprinzip für die Anwendung von DevOps bei regelmäßigen Release-Tests. Einfach gesagt heißt das, dass so früh wie möglich getestet werden muss, um die Fehler so schnell wie möglich zu finden. Das Problem für SAP-Tester ist dabei die Verfügbarkeit einer funktionierenden Testumgebung:  Oft bedeutete das eine vollständig integrierte QA-Umgebung mit externen Systemen und anderen komplexen Gegebenheiten der Produktionsumgebung.  Das heißt, dass grundlegende Regressionstests erst zu einem sehr späten Zeitpunkt im Testzyklus ausgeführt werden können – wenn dieses Gesamtsystem einsatzbereit ist. 

Wenn eine Automatisierung bereits vor dieser Phase des einsatzbereiten „Gesamtsystems“ Regressionstests ermöglicht, kann daraus ein erheblicher Mehrwert erwachsen. In der SAP-Praxis kann ein Entwicklungsteam auf diese Weise schon vor der Freigabe der Transporte an die QA erkennen, dass die vorhandene Geschäftsfunktion nicht durch Änderungen beeinträchtigt wird. Die frühzeitige Erkennung von Fehlern spart Ressourcen bei QA und Entwicklung und verhindert unproduktive Nacharbeitszyklen im Release-Prozess.

Ein Teil dieser Aufgaben wird außerhalb von SAP von einer Technologie übernommen, die als Service Virtualization (SV) bezeichnet wird. Mit SV können die Komponenten einer ansonsten größeren Infrastruktur zum Zweck frühzeitiger Tests unabhängig voneinander betrieben werden – durch das Entfernen (Emulieren) externer Abhängigkeiten. Lösungen für SAP, die derartige Funktionen bieten, helfen dabei, mit den Regressionstests nicht mehr bis zur Pre-Prod-Phase warten zu müssen.

Eine umfassende Testlösung für SAP sollte einen sinnvollen Beitrag zum Shift-Left-Ansatz leisten, entweder über direkte Funktionen oder durch Integration in externe Tools. 

Abschließende Überlegungen

Hoffentlich helfen Ihnen diese Fragen bei der Auswahl Ihrer Automatisierungslösung zum Testen von SAP. Möglicherweise sind nicht alle für Ihr Unternehmen relevant, aber sie helfen Ihnen bestimmt, die Vorgaben beim Kauf Ihrer Lösungen genauer zu formulieren.

Wenn Sie eine Frage zu diesem Thema haben, können Sie sich gern an mich wenden! Ich bin immer offen für neue Anregungen, die die Suche nach der besten Testlösung unterstützen.  

Teile diesen Beitrag

Kürzliche Posts

Eine Demo anfordern

Learn More About Our DevOps and Testing Platform

Suchen

Mehr lesen