UI-Tests von SAP Manufacturing mit QF-Test Integration in Microsoft Azure Pipelines

Über die Systema GmbH

Die Integration von Fertigungssystemen, Erweiterungen, Beratung und kundenspezifische Softwarelösungen für vertikale Branchen der diskreten Fertigung sind die Kernkompetenz der Systema GmbH. Systema hat über 200 Mitarbeiter an 8 Standorten weltweit. Der gute Ruf unserer Marke beruht auf mehr als einem Vierteljahrhundert Geschäftstätigkeit mit einer Ethik, die von gegenseitigem Respekt und Vertrauen geprägt ist – bei unserem Team, unseren Kunden, Partnern und Wettbewerbern.

Ausgangssituation

Für unseren Kunden, ein namhaftes Unternehmen der feinmechanisch-optischen Industrie, entwickeln wir Erweiterungen für das SAP Manufacturing System.

Diese Plugins ergänzen den Funktionsumfang und bieten den Nutzern individuell angepasste Oberflächen je nach deren spezifischen Anforderungen.

Um die Qualität und die Stabilität unserer Entwicklung sicher zu stellen, suchten wir eine Möglichkeit, diese Plugins direkt im SAP Manufacturing System zu testen.

Da wir bereits in anderen Projekten erfolgreich mit QF-Test gearbeitet hatten, war es unsere erste Wahl als Testtool.

Zielsetzung

Unser Ziel war es die Handlungen des Nutzers in den Tests nachzustellen, um eine möglichst nahe Reproduktion der Abläufe in der Produktion zu erarbeiten.

Die Durchführung der Tests muss automatisiert erfolgen, um manuelle Aufwände zu reduzieren.

Umsetzung

Eine Anforderung an die Tests ist, dass diese die Realität möglichst nahe abbilden.

GUI-Testtools wie QF-Test, welche tatsächlich mit der Benutzeroberfläche interagieren, stellen hier die beste Lösung dar.

Zur Vorbereitung wurden anhand der spezifizierten Anforderungen Test Cases erstellt, welche dann in Szenarien zusammengefasst wurden. Das Ergebnis war ein detaillierter Testplan, welcher vom Automatisierungsteam mit QF-Test umgesetzt wurde.

Technische Realisierung

Die Erstellung der Tests mit QF-Test erfolgte zum Großteil anhand der Aufzeichnungsfunktion.

Probleme ergaben sich durch die Verwendung von generierten Komponenten-IDs, welche die eineindeutige Identifizierung verhinderten und somit die Reproduzierbarkeit der Tests verhinderten.

Zur Lösung dieses Problems wurden generische Komponenten erstellt, welche anhand von regulären Ausdrücken und einem entsprechend konfigurierten CustomWebResolver die reproduzierbare Auflösung der Zielkomponenten ermöglichten. Hierbei ist auch der hervorragende Support von QFS zu erwähnen, der diese Lösung mit erarbeitet hat.

Im Verlauf der Testentwicklung zeigte sich eine weitere Herausforderung. Das SAP Manufacturing System besteht aus mehreren Komponenten, welche im Zusammenspiel komplexe Daten bereitstellen. Unser Zielsystem ist das ME als Frontend mit dem MII als eine Erweiterung des Backend. Daneben gibt es noch das ERP-System.

Abhängigkeiten im Produktivsystem

Abhängigkeiten im Produktivsystem

Um die Komplexität zu reduzieren und reproduzierbare Ergebnisse zu erhalten, entschieden wir uns das ERP zu simulieren (Mockup).

Systema Testystem

Abhängigkeiten im Testsystem

Unter Verwendung des MockServer Frameworks entwickelten wir diesen Mock, welcher vorhersehbaren Daten bereitstellt.

MockServer ist ein eigenes Softwareprojekt und beinhaltet verschiedene Templates, welche für die unterschiedlichen Funktionalitäten vorkonfiguriert sind. Um neue Anforderungen umzusetzen, muss lediglich ein dazu passendes Template erstellt werden.

Nach Abschluss der Testentwicklung und der erfolgreichen manuellen Erprobung wurde als nächster Schritt die Automatisierung angegangen. Dazu wurden eine Microsoft Azure Pipeline verwendet.

Die Pipeline ermöglicht es uns automatisiert die Testdaten vorzubereiten, der Testsuite Nutzerdaten und Variablen zu übergeben die Ergebnisse auszuwerten und im Anschluss alle Systeme aufzuräumen.

Ablauf der Azure Pipeline

Ablauf der Azure Pipeline

Da sowohl der Mock Server als auch die QF-Test Testsuite in GIT gepflegt werden, ist bei jeder Ausführung sichergestellt das immer die neueste Version verwendet wird.

Fazit und Ausblick

Durch die Verwendung von MockServers und QF-Test wurde eine Kombination aus Backend- (Logiken-) Tests und GUI-Tests erreicht. So konnten wir effizient eine realitätsnahe und verlässliche Testumgebung aufbauen, um für unseren Kunden entwickelte Plugins direkt im SAP Manufacturing System automatisiert zu testen. Durch Einbindung in eine Azure Pipeline wurde das Prinzip des Continuous Testings umgesetzt. Dadurch wird ein schnelles Test-Feedback erreicht und somit früh Regression wirksam verhindert als auch der manuelle Testaufwand minimiert.

Im weiteren Projektverlauf werden die Tests kontinuierlich gepflegt, verbessert und ausgebaut, um auch neu hinzukommende Funktionalität entsprechend abzusichern.

Wir verwenden Cookies zur anonymisierten Auswertung Ihres Besuchs auf unserer Webseite durch "Matomo". Dafür benötigen wir Ihr Einverständnis, welches für zwölf Monate gilt.

Cookie-Konfiguration

Funktionale Cookies

Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.

Performance- und Statistik-Cookies

Wir verwenden Matomo zur Analyse und Optimierung unserer Webseite. Cookies erlauben eine anonyme Erfassung der Informationen und helfen uns, Ihnen einen benutzerfreundlichen Besuch unserer Webseite zu bieten.

Cookie-Details
Bezeichnung Anbieter Gültigkeitsdauer Typ Verwendung
_pk_id Matomo 13 Monate HTTP Enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
_pk_ref Matomo 6 Monate HTTP Wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
_pk_ses Matomo 1 Tag HTTP Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
_pk_testcookie Matomo Session HTTP Zur Prüfung, ob der Browser des Besuchers Cookies unterstützt.
_pk_cvar Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.
_pk_hsr Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.