Das sich selbst testende System
Erst vor Kurzem bin ich wiederholt auf die Themen Testmanagement und Testdatengenerierung angesprochen worden. Konkret haben mich Kunden danach gefragt, ob der Solution Manager auch das Konzept der Testdatengenerierung unterstützt. Im gesamten Kontext aller vom SolMan bereitgestellten Funktionen ist diese Frage eine sehr fortgeschrittene.
Bevor man sich darüber Gedanken macht, sind einige Vorarbeiten zu leisten. Eine automatische Bereitstellung der Daten ist zwar sinnvoll, sollte aber von einem Gesamtpaket begleitet werden.
Am Anfang stehen die Aufnahme der Geschäftsprozesse und die Dokumentation und Erfassung in der Lösungsdokumentation. Mit dem SAP-Hinweis zum Blueprint Generator können die einzelnen im Produktivsystem genutzten Transaktionen inventarisiert werden.
Die Zuordnung einer Transaktion zu einer Gliederungsebene erfolgt anhand ihres Pakets. Jedem Paket ist eine eindeutige SAP-Komponente zugeordnet.
Kunden, die alle ihre Z-Transaktionen modulübergreifend in ein Paket gepackt haben, müssen dies überarbeiten. Die erstellte Gliederung mit ihren einzelnen Transaktionen ist für das Testvorgehen zu mehreren End-to-End-Prozessketten mittels Verknüpfungen zusammenzufassen.
Der nächste sinnvolle Schritt ist der Einsatz des Business Process Change Analyzer. Hierfür müssen von allen relevanten Geschäftsprozessen Stücklisten aufgezeichnet werden. Anhand dieser Stücklisten, die die durchlaufenden Programme und genutzten Customizing-Einträge darstellen, kann bei jedem Produktivimport festgestellt werden, auf welche Geschäftsprozesse sich ein Transportauftrag bezieht. So kann eine erste Tendenz gegeben werden, ob ein Test sinnvoll ist.
Da sich diese Stücklisten mit jedem Import in das Produktivsystem ändern, ist eine kontinuierliche Aktualisierung erforderlich. Sind diese Prozesse etabliert, kann man nun zum nächsten Thema, der Automatisierung der Testfälle, übergehen. Das etwas in die Jahre gekommene ECatt, im Grunde nichts anderes als eine Batch-Input-Aufzeichnung, sollte nicht mehr genutzt werden.
Mit der Component-based Test Automation stellt SAP für Kunden mit Enterprise-Support-Vertrag ein Werkzeug zur Verfügung, das deutlich einfacher in der Handhabung, Aufzeichnung und Reparatur von Testfällen ist.
Neben der klassischen SAP Gui werden auch alle modernen Oberflächentechnologien unterstützt. In das Tool sind bereits die bekannten Programmabläufe aller von SAP ausgelieferten Transaktionen eingebettet, sodass damit einfach auf einer grafischen Oberfläche ein Testfall mit einem anderen verknüpft werden kann.
Tiefergehendes Programmierwissen ist somit nicht mehr notwendig. Sicherlich werden professionell orientierte Anwender sich überlegen, alternativ zum CBTA ein Testwerkzeug wie Worksoft Verify oder HP Quick Test Pro beziehungsweise HP Quality Center zu lizenzieren. Im nächsten Schritt steht dann die automatische Generierung der Testdaten an.
Viele Kunden erstellen gerne eine Systemkopie des Produktivsystems, entweder klassisch oder mit Werkzeugen, um den Datenbankinhalt einzugrenzen. Ich bin kein Freund der Kopien in regulierten Umfeldern, da damit auch relevante, geschäftskritische Daten in das Qualitätssicherungssystem gelangen.
Meist ist das Berechtigungskonzept auf dem Qualitätssicherungssystem etwas freizügiger als auf dem Produktivsystem, sodass dies ein relevantes Problem darstellt. Eine Generierung von relevanten Test- und Stammdaten kann nun nur dadurch sichergestellt werden, dass Testfälle zum Aufbau dieser Daten erstellt werden, die dann jeweils vor einer Testkette ablaufen und die Daten generieren. Der Aufbau dieser Daten kann natürlich beliebig kompliziert werden.
Mit dem CBTA stellt SAP ein sehr gutes und fortgeschrittenes Werkzeug zur Verfügung, um Testfälle einfach und schnell aufzeichnen zu können. Es muss definitiv einiges an Vorarbeit geleistet werden, um in den Genuss von automatischen Testfällen zu kommen.
Sicherlich lohnt sich dieser Ansatz nicht für alle Prozesse, sondern nur für die besonders relevanten oder die, die manuell nur mit viel Aufwand zu testen sind. Ein Gesamtkonzept besteht immer aus einem verstärkten Einsatz von Unit-Tests, automatisierten Tests sowie einer kontinuierlichen Nachpflege der bestehenden Prozessdokumentation.