Tricentis, Verkäufer der «Tosca Testsuite» für Testautomatisierung, führt jedes Jahr eine Roadshow durch, um dem interessierten Publikum zu zeigen, was man so in nächster Zeit plant.
Im Mai 2019 war diese Roadshow in Zürich, nähe Bellevue. Über 100 Tosca Anwender und Engineers waren anwesend und man war beim letzten Vortrag angekommen. Eine quasi Weltsensation wurde angekündigt. Erst kurz vorher habe es die Freigabe vom Board gegeben, um diese nun zum ersten Mal öffentlich zeigen zu dürfen.
Der verantwortliche Manager, sichtlich aufgeregt, betrat das Podium und präsentierte dem staunenden Publikum eine Revolution: «Tricentis Robot Process Automation (RPA)». Am Ende seines Vortrages schaute er ins Publikum und erwartete scheinbar mindestens Standing Ovation. Wir im Publikum schauten uns dagegen alle nur recht verdutzt an. Da hatte gerade jemand einen rosa Elefanten präsentiert und keiner von uns konnte ihn sehen.
Endlich fasste jemand seinen ganzen Mut zusammen und sagte: «Das, was Sie uns eben als RPA gezeigt haben, ist doch unsere alte Tosca Testautomatisierung. Wo soll der Unterschied sein?», und alle im Publikum nickten beifällig ...
Gibt es überhaupt einen Unterschied?
Wo ist der Unterschied? Gibt es überhaupt einen? RPA ist eine der führenden Technologien, wenn es um die aktuelle Digitalisierung in den Unternehmen geht. Eine RPA-Software führt Arbeitsschritte aus, die vorher manuell gemacht wurden. Auf der anderen Seite führt, im Rahmen von Software-Projekten oder bei Regressionstests, eine Testautomatisierungs-Software per Script Arbeitsschritte aus, die vorher manuell gemacht wurden. RPA = Testautomatisierung? In dem nachfolgenden Artikel werde ich dieser Frage nachgehen.
Auch heute gilt für den Menschen der alte Spruch: «Wer arbeitet, macht Fehler». Wenn der Roboter (oft einfach nur als «Bot» bezeichnet), fehlerhaft arbeitet, dann nur, weil ein Mensch etwas übersehen oder falsch gemacht hat. Ansonsten führt er eine definierte Abfolge von Schritten immer identisch durch, und das 24/7. Und auch noch dann, wenn die menschlichen Kollegen Weihnachten in der Kirche sitzen.
Daher sind die Ziele von Automatisierung generell die Entlastung des Menschen von stupiden, repetitiven Aufgaben und der Einsatz von (Software)-Robotern dort, wo qualifizierte und bezahlbare Menschen fehlen und ersetzbar sind. Dieses führt zur Erhöhung der Prozessgeschwindigkeit, Steigerung der Ergebnisqualität und Kundenzufriedenheit. Was wiederum zu Produktivitäts- und Effizienzsteigerung bei gleichzeitiger Senkung der Prozesskosten führt - das ist zumindest der Plan.
Testautomatisierung
Definition Testautomatisierung: «Einsatz von Softwarewerkzeugen zur Durchführung oder Unterstützung von Testaktivitäten, z. B. Testmanagement, Testentwurf, Testausführung und Soll/Ist-Vergleich.» (Swiss Testing Board, aufgerufen am 12.11.2021)
Testautomatisierung wird in Einführungs- und Entwicklungsprojekten vor allem für System- und System-Integration-Tests eingesetzt, in der Produktion für Regressionstests und die Generierung von Testdaten. Im Zeitalter von DevOps und «Continous Integration», im Zweifel rund-um-die-Uhr, wären die grossen Web-Portale und -Shops ohne Testautomatisierung überhaupt nicht möglich.
Der maschinelle Tester hält sich exakt an die definierten Testschritte, auch wenn er diese jeden Tag mit zehn verschiedenen Datensätzen durchführen muss. Er kann Zwischen- und Endergebnisse über verschiedene Systeme vergleichen, z. B. die Anzeige des Einkaufswagens im Browser, mit dem Datenbestand in der Logistiksoftware. «Pass» wird dokumentiert und bei «Fail» wird ein Error-Log ausgelesen und ein Bug-Ticket mit den technischen Details erstellt. Die Ergebnisse kommen in einen Report für den Testmanager.
Um diesen gesamten «Automatismus» aufzubauen, braucht es einen technischen Fachmann (oftmals Programmierer), der nicht nur die ganze Test-Software grundsätzlich einrichtet, sondern auch jeden neuen Testfall. Je nach Software und Aufgabe kann er vermutlich auf einige Bibliotheken und Wizards zugreifen, die seine Arbeit erleichtern. Stand heute ist aber alles unterhalb der direkten Nutzung noch sehr technisch.
Ein Fachtester und die Maschine können durchaus in der Anwendung einen Test gemeinsam durchführen, für die Erstellung und Anpassung von Testfällen braucht es jedoch mindestens einen Fachmann, der auf die Testautomatisierungssoftware spezialisiert ist und im Zweifel weitere Techniker, die sich mit dem «System-under-Test» (SuT) oder den Umsystemen auskennen.
Robot Process Automation
Definition RPA: «Robotic Process Automation (RPA, deutsch: Robotergestützte Prozessautomatisierung) ist ein Ansatz zur Prozessautomatisierung, bei dem repetitive, manuelle, zeitintensive oder fehleranfällige Tätigkeiten durch sogenannte Softwareroboter (Bots) erlernt und automatisiert ausgeführt werden. Softwareroboter verwenden dabei nicht nur technische APIs von Systemkomponenten, sondern können Anwendungssoftware auch über die Präsentationsschicht steuern, vergleichbar mit der Durchführung durch einen Menschen. Je nach verwendeter RPA-Plattform können notwendige Schritte mit modellgetriebenen oder selbstlernenden Ansätzen aufgezeichnet werden. RPA vereint die Modellierung von Abläufen, Skripting und Job-Scheduling.» (Wikipedia, aufgerufen am 12.11.2021
Robot Process Automation ist viel älter als der Name selber. Viele von uns haben damit vermutlich schon im letzten Jahrhundert gearbeitet, ohne dass es ihnen bewusst ist. Hast Du schon mal ein Excel-Macro benutzt, welches Dir einige Arbeitsschritte abgenommen hat?
War es vielleicht ein Makro, welches sich Daten aus verschiedenen Excels geholt hat, um damit eine Zusammenfassung aller Abteilungen, Verkaufsgebiete, Monate o.ä. zu erstellen? Ein simpler RPA Anwendungsfall könnte sein: «Kopiere das Blatt ‹Sales› aus allen Excels in einem definierten Folder, in die Datei Regionaler ‹Verkauf› und die Felder A1 (Name) und B1 (Summe) in die nächste freie Zeile im Blatt ‹Zusammenfassung›.»
Moderne «Bots» können natürlich noch viel mehr. Sie holen die Daten aus verschiedenen Systemen heraus, kopieren sie in Dein Excel oder Word, formatieren die Auswertung, um dann bestimmte Werte in andere Systeme einzupflegen, das Word als PDF im DMS abzulegen und als E-Mail zu verschicken.
Einige Leser verstehen jetzt vielleicht nicht, wozu man den ganzen Aufwand treiben soll, schliesslich hat man doch alles im SAP. Den anderen ist klar: RPA ist unter anderem eine Lösung für Alt-Systeme («Legacy») und all die Problem, die diese mit sich bringen – angefangen bei Medienbrüchen, manueller Erfassung und Exporte in Exceldateien.
Dass Legacy-Systeme einen grossen Extraaufwand bedeuten, war schon immer klar, wieviel wurde meist nicht quantifiziert. Und dann kam Corona und es war niemand mehr im Büro der Daten an dem Stand-alone-PC in der Ecke eingeben und in Excel exportieren konnte. Plötzlich standen all die Prozesse, die man mal vor Jahren «nur für einige Wochen» als Notlösung nach einem Systemwechsel etabliert hatte oder wo die Ablösung des Altsystems immer zu teuer war.
Arbeitserleichterung und Zeitersparnis durch RPA sind offensichtlich. Spätestens aber, wenn man Daten aus anderen Systemen braucht, reicht allein das Wissen, dieses zu bedienen nicht. Es braucht auch die Berechtigung, dort hingehen zu dürfen. Robots plappern nicht (wenn sie mit Security im Sinn programmiert wurden). Dank RPA ist es möglich, dass eine Sachbearbeiterin Daten aus einem System holt, für das er selber keinen Zugriff hat oder gar Daten über Systeme kopiert und verarbeiten lässt, die sie gar nicht sehen darf, um dann ihre eigene Aufgabe mit dem Ergebnis dieser Verarbeitung durchzuführen.
Ein Robot ist ein automatisierter Prozessablauf. Ein einfacher Robot hat nur einen Startknopf, mit dem eine Ausführung gestartet wird. Viele Robots haben aber eine Maske mit z.B. Auswahlmenüs, um den generisch programmierten Prozess mit Parametern zu spezifizieren. Marketing kann so zum Beispiel eine Vertriebs-Datei pro spezifiziertes Land erstellen lassen.Der Anwender sieht rechte-gesteuert all die Robots, die er ausführen darf. Die Erstellung und Pflege der Robots wird auch bei RPA durch einen Programmierer durchgeführt. Sollte sich der Prozess oder eine technische Komponente ändern (zum Beispiel der Pfad zur Dateiablage), dann mussten früher alle Anwender mindestens informiert werden, vielleicht aber auch nachgeschult oder auf einem neuen Server berechtigt werden. Mit RPA muss nur der Programmierer informiert werden, der den Robot anpasst. Der Anwender bekommt von der ganzen Aktion nichts mit.
Weitere Punkte
Testautomatisierung | RPA |
---|---|
Ziel: Es geht um die Analyse des Ergebnisses und um das Finden von Fehlern | Ziel: Es geht um das Ergebnis, um die Steigerung der Produktivität und Risikominimierung |
Einsatz: Auf Projekt- und Produktivsystemen | Einsatz: In der Produktion |
Arbeitet mit: 1. Testdaten auf Projektsystemen.2. Bei Regressiontests auf der Produktion wird mit produktiven Daten gearbeitet, die nicht verändert werden. | Arbeitet mit: Produktivdaten, auf Produktivsystemen. |
Ständige Änderungen an der zu testenden Software und dem fachlichen Umfeld ist ein Teil der «Jobbeschreibung». | Muss in den fachlichen Änderungsprozess eingebunden sein. |
Eine TA muss in der Lage sein den Knopf «OK» selbständig in einem definierten Bildschirmquadranten zu finden, da sich dessen Position regelmässig ändern kann. | Die RPA arbeitet mit klar definierten Anwendungen, auf klar definierten Rechnern, wo die genaue Position des Knopfes «OK» bekannt ist. |
Muss in den technischen Update- und Wartungsprozess des TA-Rechners und des SuT eingebunden sein. | Muss in den technischen Update- und Wartungsprozess -Prozess des RPA-Rechners und aller angesprochenen Systeme eingebunden sein. |
Es gibt umfangreiche Testmanagement Suiten, aber auch die Aufgabe spezialisierte Tools. | Die RPA muss andere Systeme über Schnittstellen und die grafische Bedienoberfläche ansprechen können. |
Führende Produkte: Tosca von Tricentis, SoapUI von SmartBear, Eggplant, Selenium, Ranorex | Führende Produkte: UIPath, Automation Anywhere, Blue Prism |
Fazit:
RPA ist die Lösung: Automation von standardisierten Business-Prozessen, die auf die Interaktion mit Endanwendern ausgerichtet sind. Dagegen ist Testautomatisierung «Robot Process Automation», die auf einen Aufgaben-Bereich spezialisiert und Teil der Lösung für die Aufgabe «Test» ist.
Testautomatisierung dient dazu, das Unternehmen aufzubauen. RPA dient dessen Betrieb.
P.S. Tricentis hat den Vertrieb von «Tricentis RPA» Ende 2020 letztendlich eingestellt. Begründung: Man will seine Ressourcen auf die Kernkompetenz «Testautomatisierung» fokussieren.