Herausforderung
Das verteilte Team von Testingenieuren des Unternehmens muss die Tests in einem Umfeld planen, in dem die Anzahl und der Umfang der Releases in einem bestimmten Zeitraum nicht nur von technischen Aspekten, sondern auch von kommerziellen Vereinbarungen mit Kunden und dem Geschäftsmodell der Kunden selbst abhängen.
Komplizierte Einrichtung der Testumgebung
Agiles Umfeld
Mit dem Ziel, einen agileren Prozess einzuführen, ist das Team gerade dabei, eine Jenkins CI/CD-Pipeline aufzubauen. Außerdem wurde eine interne virtuelle Umgebung zur Reproduktion der Kundenumgebungen geschaffen, die auf kundenspezifischer Hardware mit VMware als Virtualisierungsumgebung aufgebaut ist.
Hoher Grad an Individualisierung
Das Unternehmen bietet seinen Kunden eine breite Basis von allgemein anwendbaren Lösungen, die es an die individuellen Anforderungen jedes Kunden anpasst. Dazu gehören Anpassungen an die vorhandenen Räumlichkeiten, die Umgebung und die Produktionsanforderungen des Kunden, die von geringfügigen Änderungen am Kernverhalten der Software bis hin zu umfangreicheren Modifikationen reichen.
Ergebnis
Das verteilte Team kann nun Tests für mehrere Konfigurationen parallel durchführen und auch mehrere Softwareversionen auf derselben Konfiguration testen.
Vor der Einführung von Ranorex Studio bestand die größte Herausforderung für das Team darin, eine Testumgebung einzurichten und zu reproduzieren, die die echte Produktionsumgebung simuliert. Zu einem bestimmten Zeitpunkt kann ein Kunde mehrere Versionen seiner Software an verschiedenen Produktionsstandorten installiert haben, z. B. aufgrund der Zeit, die für die Implementierung einer neuen Version oder für behördliche Genehmigungen erforderlich ist. Die Tests auf physischen Maschinen schränkten jedoch die möglichen Konfigurationen und die Anzahl der zu testenden Produktionsszenarien ein.
Jetzt kann das Team mehrere Konfigurationen parallel ausführen und auch mehrere Softwareversionen auf derselben Konfiguration testen. Beide Ansätze sparen Zeit und verteilen die Testabdeckung auf mehrere mögliche Plattformen.
Das Team hat auch seine Testabdeckung erheblich erweitert. "Wir sind in der Lage, alle Anwendungen gleichzeitig zu kontrollieren und zu testen, weil wir Ranorex Studio damit beauftragen", erklärt der Leiter des Teams, anstatt dass "vier oder fünf Personen an verschiedenen Orten manuell klicken".
Die Durchführung von Tests in einer virtuellen Umgebung bringt viele Vorteile mit sich: Die Testingenieure können die Testumgebung aus der Ferne anschließen, ohne Einschränkungen bei der Verfügbarkeit von Hardware; und das System wird durch eine simulierte Produktionsumgebung qualifiziert, wobei Testdaten verwendet werden, die den echten Produktionsdaten ähneln.
Infolgedessen konnte das Team die Produktivität der Tests um 30 % steigern.

Empfehlungen
Das unmittelbare Ziel des Teams ist die vollständige Einführung einer CI/CD-Pipeline dank des Vertrauens, das sie in ihren Testansatz haben. Das Team testet die Benutzeroberfläche in erster Linie durch im Code geschriebene Tests und nicht durch Aufzeichnungsmodule. Wie der Manager erklärt, "haben wir die Aufzeichnung ganz am Anfang verwendet, als wir anfingen, das Tool selbst zu testen. Wir waren uns nicht sicher, inwieweit wir die Anwendung und die UI.... kontrollieren konnten. Die Aufzeichnung ist eine gute Grundlage, wenn man Probleme bei der Erfassung von Objekten hat oder die genaue Syntax einiger Befehle nicht kennt usw., so dass es hilfreich sein kann, die Aufzeichnung durchzugehen und in Code umzuwandeln. Andererseits haben wir eine ganze Reihe von Bibliotheken entwickelt, um die Objekt-Repository-Schicht vom Code zu abstrahieren. Dadurch können wir einen Test unverändert beibehalten, auch wenn sich der XPath oder das Objekt selbst ändert. Wir sind jetzt in einer Situation, in der derselbe Test von einer Desktop-Anwendung zu einer Web-Anwendung oder umgekehrt portabel ist."
