Das Testen von neu entwickelter Software ist ein wichtiger Schritt im Softwareentwicklungsprozess. Mittlerweile wird Software immer häufiger mithilfe von Testautomatisierungstools getestet, anstatt durch manuelles Testing. Testautomatisierung zielt darauf ab unterschiedlichste Anforderungen an eine Software unter Verwendung von Testdaten zu testen. Wir möchten euch in diesem Beitrag genauer erklären, was Testautomatisierung ist und euch zeigen, warum Robotic Process Automation (RPA) eine gute Alternative zu klassischen Testautomatisierungstools ist.

Was ist Testautomatisierung?

Testautomatisierung ist das automatisierte Durchführen von Software Tests. Das Software Testing überprüft, ob die entwickelte Software den definierten Anforderungen entspricht. Diese Anforderungen lassen sich in vier Kategorien einordnen:

  • Sicherheit
  • Funktion
  • Leistung
  • Robustheit bzw. Zuverlässigkeit

Beim Software Testing, ob manuell oder automatisiert durchgeführt, unterscheiden wir drei Phasen:

  • Unit Tests werden in der früheren Phase der Softwareentwicklung durchgeführt. Sie dienen dazu, die einzeln entwickelten Komponenten separat voneinander zu testen.
  • Integrationstests überprüfen, wie die einzelnen Komponenten zusammen funktionieren. Hier testet ihr auch die Schnittstellen zwischen unterschiedlichen Systemen und Anwendungen.
  • Bei den sog. Akzeptanztests testet ihr die gesamte neue Anwendung End-2-End. Dabei geht es vor allem darum zu überprüfen, ob eure entwickelte Lösung die Anforderungen und Wünsche der zukünftigen Nutzer*innen erfüllt.  Akzeptanztests werden UI-basiert durchgeführt. Das bedeutet, dass das Verhalten eurer zukünftigen Nutzer*innen auf der Benutzeroberfläche der Anwendung imitiert wird.

Testautomatisierungspyramide

 

Vorteile von Testautomatisierung

Seitdem die Softwareentwicklung agil, wie beispielsweise durch Scrum, organisiert wird, kommt dem Testing eine größere Bedeutung zu. Mit dem Ansatz der kontinuierlichen Entwicklung (Continuous Development) wird Software in Bausteinen entwickelt und kontinuierlich getestet. So könnt ihr Fehler frühzeitig erkennen und beheben.
Continuous-Development Testautomatisierung

Manuelles Testen ist zeitaufwendig, fehleranfällig und teuer. In einigen Fällen ist der Wartungsaufwand der Testsoftware schlichtweg höher als der Aufwand der manuellen Durchführung der Tests. Den großen Teil der Testaktivitäten könnt und solltet ihr aber automatisiert durchführen. Gerade vor dem Hintergrund des agilen, kontinuierlichen Testens verringert ihr so den Aufwand deutlich. Automatisiertes Testen schont die zeitlichen und finanziellen Ressourcen und ist weniger fehleranfällig als manuelles Testen. Außerdem könnt ihr beim automatisierten Testen ein Set an Tests aufbauen, das bei jedem neuen Release durchlaufen wird, um beispielweise definierte Standards zum Datenschutz einzuhalten. Mithilfe der Testautomatisierung könnt ihr große Mengen an Testdaten schnell testen. Große Testdatensätze sind wichtig, um alle möglichen Szenarien zu testen. Das manuelle Testen dieser großen Datenmengen ist sehr aufwendig.

Testautomatisierung mit RPA

Robotic Process Automation wird für die Automatisierung manueller, regelbasierter Prozesse mithilfe von Software Robotern eingesetzt. In den meisten Anwendungsfällen handelt es sich dabei um operative Geschäftsprozesse, beispielsweise im Bereich Finance oder Customer Service. Im Kern tut ein sogenannter RPA Roboter nichts anderes als eine Testsoftware. Beide werden eingesetzt, um manuelle Aufgaben, die immer gleich und in hohem Volumen durchgeführt werden, effizienter und weniger fehleranfällig umzusetzen. Die Idee RPA für die Testautomatisierung zu nutzen, liegt also gar nicht so fern.

Ihr könnt RPA im oberen Bereich der oben dargestellten Test Pyramide einsetzen. Vor allem für Akzeptanztests, also UI- und End-2-End Testings, eignen sich virtuelle Roboter oft hervorragend. Mit einem Roboter lässt sich das Verhalten von Menschen sehr gut imitieren. Softwareroboter können problemlos auf grafische Elemente zugreifen und dort z.B. wie ein Mensch klicken oder Text eingeben. Auch bei den Integrationstests kann es sinnvolle Anwendungsbereiche für RPA geben. Ein Roboter kann beispielsweise schnell und mit einem hohen Volumen an Testdaten überprüfen, ob der Datentransfer zwischen zwei Systemen oder Anwendungen funktioniert. Beim Unit Testing, also dem Testen der Einzelkomponenten, lässt sich RPA ebenfalls einsetzen.

Testautomatisierungstools: RPA vs. Test Software

Der große Vorteil von RPA gegenüber der klassischen Software für Testautomatisierung ist, dass es sich bei RPA um eine Low-Code-Lösung handelt. Mit einer RPA Software könnt ihr Tests bausteinbasiert und mit wenig Coding-Aufwand erstellen. In einer Software für Testautomatisierung müssen die Tests dagegen als Zeilencode geschrieben werden. Dafür benötigt ihr wesentlich mehr Know How. Das macht die Testautomatisierung teuer und abhängig von einzelnen Personen. Gerade in Unternehmen, deren Kerngeschäft nicht die Softwareentwicklung ist, muss das Software Testing daher häufig teuer als Dienstleistung eingekauft werden.

Mit RPA Tools, wie z.B. UiPath, könnt ihr wie mit einer reinen Testautomatisierungssoftware Test-Sets erstellen. Ihr könnt ihre Ausführung zeitlich festlegen und sie mit verschiedenen Testdaten belegen. Das Testing in der UiPath Test Suite könnt ihr dabei wie gewohnt in Test Management Tools, wie beispielsweise Jira, Azure DevOps oder SAP Solution Manager, integrieren.

Automatisierte Testfälle ändern sich häufig durch die Veränderung der entwickelten Anwendung. In einer RPA Software arbeitet ihr mit Bausteinen, die sich mit wenigen Klicks anpassen lassen.

Vorteile Testautomatisierung mit RPA

Testautomatisierung mit RPA lohnt sich

Aus unserer Sicht kann es sich sehr für euch lohnen euer Testing mit RPA zu automatisieren. In der Softwareentwicklung können Testroboter einen großen Mehrwert leisten. RPA ist darauf ausgelegt, Prozesse End-2-End zu automatisieren. Die Technologie ist somit prädestiniert dafür, eure neu entwickelte oder neu aufgesetzte Anwendung in ihrer Gesamtheit mit allen Schnittstellen und Integrationen zu testen. Der Roboter testet die Funktionalitäten genau wie ein Mensch, nur schneller und robuster. Er kann eine Vielzahl an Testdaten fehlerfrei verarbeiten und die Testergebnisse dokumentieren, sodass ihr am Ende nur die Auswertung analysieren müsst.

Testautomatisierung mit RPA kann vor allem eine gute Alternative für euch sein, wenn ihr fehlendes oder begrenztes Know How für das Testen eurer Software im Unternehmen habt. Aufgrund des Low-Code-Prinzips können auch Mitarbeiter*innen mit geringerer IT-Expertise die Tests entwickeln. So könnt ihr die Kosten eures Entwicklungsprojekts senken. Der Einsatz von RPA zur Testautomatisierung ist besonders sinnvoll, wenn ihr RPA bereits nutzt, um eure Prozesse in anderen Bereichen zu automatisieren oder dies plant. Somit könnt ihr dasselbe Tool in verschiedenen Anwendungsbereichen nutzen und Zeit und Kosten für die Einführung eines zweiten Tools sparen.

Zum weiterlesen: