In vielen Unternehmen ist durch die digitale Transformation der Druck gestiegen, Softwareentwicklung auf allen Stufen stärker zu automatisieren. Ziel ist es, neue Technologien schneller bereitzustellen, ohne die Geschäftskontinuität zu beeinträchtigen.
Einer der Schritte, bei dem zuallererst gespart wird, ist das Testen von Software. Nach unserer Erfahrung bestehen bei traditioneller Entwicklung einer neuen Funktion etwa 32 Prozent der Zeit vom Design bis zum Produktionsstart aus Tests. Es ist also dringend notwendig, diesen Schritt so weit wie möglich zu automatisieren.
Selbst große Softwareentwickler wie SAP können diese Tatsache nicht leugnen. Deshalb kommt der Testautomatisierung auch eine Schlüsselrolle bei der Bereitstellung von agiler Entwicklung (CI/CD) und DevOps zu, um neue Funktionen in kürzester Zeit in der Produktion zur Verfügung zu stellen.
Allerdings gibt es einige Herausforderungen bei der Umsetzung umfangreicher Automatisierungslösungen:
SAP Fachwissen
Da es fast immer an den nötigen Analysten für die Testdurchführung fehlt, ist die Testabdeckung meist nicht optimal. Einzelne Geschäftsprozesse werden nicht getestet, weil das nötige Fachwissen zu funktionalen Modulen und Geschäftsprozessen fehlt.
Datenmenge
Auch die Erstellung von Massendaten zum Testen spezifischer Szenarien bedeutet oft eine große Herausforderung. Zwar gibt es mehrere Lösungen zum Kopieren und Unterteilen von Produktionsdaten, doch das Zusammenstellen der massenhaften Testdaten und die Pflege der Datenbibliothek ist weiterhin eine der größten Herausforderungen bei Tests auf der SAP Plattform.
Integration in Legacy-Systeme
Die Integration in andere Systeme ist für die überwiegende Mehrheit der angebotenen SAP Implementierungen eine der Hauptfehlerquellen. Neuimplementierungen erfordern umfangreiche Tests auf der Plattform, um den korrekten Betrieb einer Funktionalität sicherzustellen.
Wartung der Testautomatisierungsskripte
Da eine Testautomatisierung auch Systemkomponenten verwendet, müssen bei jeder Änderung dieser Komponenten auch die Automatisierungsskripte aktualisiert werden. Systeme mit zahlreichen Aktualisierungen oder Änderungen erfordern daher deutlich mehr Aufwand bei der Wartung der Skripte – und eine höhere Testabdeckung.
In einem solchen Szenario lautet das Hauptproblem:
Wie können wir für SAP ein Framework für kontinuierliches Testen implementieren?
Die Lösung für dieses Problem ist ein Tool von Basis Technologies und es heißt Testimony.
Ein Paradigmenwechsel
Anstatt nur auf automatisierten Skripten aufzubauen, erstellt Testimony realistische Testszenarien durch das Erfassen echter Produktionstransaktionen. Diese Technologie ermöglicht zu 100 Prozent automatisierte und kontinuierliche Regressionstests.
Tatsächlich? Und wie funktioniert das?
- Erfassungsphase: Zum Start wird ein Erfassungs-Tool im Produktionssystem installiert. Es nutzt das SAP-eigene Technologie-Framework zur Erfassung der Transaktionen.
- Lernphase: Sämtliche Transaktionen, Daten und Integrationen, die in einem bestimmten Zeitraum von SAP durchgeführt werden, werden erfasst und zum Schutz der Produktionsdaten maskiert. In dieser Phase stehen Dutzende von Filtern zur Verfügung, um je nach Bedarf einzelne Transaktionen auszuschließen.
- Setup-Phase: Wenn dann ein Test starten soll, wird dafür eine eigene virtualisierte Umgebung erstellt. Die im Produktionssystem erfassten und bereits maskierten Daten werden nun in dieses Testsystem kopiert. Dabei werden Legacy-Systemintegrationen als erfasste Inputs und Outputs virtualisiert. Schließlich werden alle vom Entwicklungsteam vorgenommenen Änderungen mit der jeweiligen Version der Anwendung zusammengeführt, die sich aktuell in der Produktion befindet.
- Validierungsphase: Um das System zu testen, werden alle ausgewählten Transaktionen (etwa 10 bis 15 Prozent der Produktionslaufzeit) in der Testumgebung mit allen für den Test erforderlichen Daten und virtualisierten Integrationen ausgeführt. Anschließend werden die Ergebnisse aus der Testumgebung mit denen aus der Produktion verglichen.
Wow! Das klingt wirklich super! Wofür könnenwir dies nutzen?
- Upgrades/Updates: SAP Updates bieten das perfekte Szenario, um das Paradigma kontinuierlicher Tests auszuprobieren und um zu prüfen, ob Geschäftsmodule und -prozesse weiterhin einwandfrei funktionieren.
- Migrationen (in die Cloud oder nach Hana): Auch Migrationen erfordern umfangreiche Regressionstests und sind ein Paradebeispiel für den effektiven Einsatz von Testimony.
- Entwicklung neuer Funktionen: Neuentwicklungen erfordern ebenso ein hohes Maß an Regressionstests. Jede Änderung muss nach den herkömmlichen Methoden gründlich getestet werden. Doch um die tatsächlichen Auswirkungen einer Änderung zu simulieren, kann mit Testimony getestet werden. Nach der Auslieferung in die Produktion stehen diese Änderungen dann für Regressionstests zukünftiger Auslieferungen bereit.
- Produktionssupport: Testimony kann auch zur Untersuchung von Problemen in der Produktion eingesetzt werden: Sie können in der kontrollierten Testumgebung Fehler risikolos für eine Problemanalyse reproduzieren und Korrekturmaßnahmen auf ihre Wirksamkeit prüfen.
Interessant! Gibt es noch weitere Vorteile?
- Kostensenkung: Die Kosten für Änderungen werden bis zu 50 Prozent reduziert.
- Mehr Auslieferungen: Projekte werden bis zu 50 Prozent schneller ausgeliefert.
- Weniger manueller Aufwand: Manuelle Arbeiten werden um bis zu 95 Prozent reduziert.
- Höhere Qualität: Störungen werden um bis zu 50 Prozent vermieden.
Verfasst von: Rafael Nóbrega
Verfasst von: Rafael Nóbrega
Head, Digital Products – Inmetrics
MSc in Computer Science der Staatlichen
Universität von Pernambuco (Brasilien).
Technical Management
Program der University of California (USA) und
Leading Product Innovation der Harvard Business School (USA).