willyam - stock.adobe.com
Ist RPA die Zukunft von Softwareentwicklung und Tests?
Für Entwicklung und Testautomatisierung wird zunehmend Robotic Process Automation eingesetzt. Zusammen mit Low Code Tools und KI lässt sich die Entwicklung damit optimieren.
Die Fähigkeiten für das Testen von Software lassen sich auch auf andere Bereiche der IT übertragen. Zum Beispiel auf Anwendungsdesign, Analyse und Programmierung – und sogar auf fortgeschrittene intelligente Automatisierung. Technologien wie Robotic Process Automation ähneln modernen Softwaretests ziemlich stark.
Robotic Process Automation (RPA), also robotergesteuerte Prozessautomatisierung, führt wiederholbare Vorgänge automatisch immer wieder aus.
Ein Großteil dessen, was automatisiert werden kann, liegt jedoch in der Anwendung selbst. Eine Möglichkeit, einen Prozess zu verbessern, liegt insbesondere in der Automatisierung der Integrationspunkte: Bei der Übergabe zwischen Teams und anderen Systemen. In diesem Paradigma weist RPA viele Merkmale auf, die auch die Testautomatisierung hat. Dies betrifft insbesondere Tests, die echte Benutzeraktionen imitieren.
Die Zukunft der Testautomatisierung und der dafür notwendigen Fachleute kann deshalb im Bereich menschlicher Handlungen und den Verbindungen zwischen den Systemen liegen. End-to-End-Tests simulieren in einer Software die erwarteten Aktionen eines Kunden. Das ist alles andere als trivial. Eine Benutzeraktivität kann ein komplexer Prozess sein, der auf vielen Komponenten der Software beruht.
Record-and-Playback-Software ermöglicht die Testautomatisierung für solche Sequenzen ohne Programmierung. Der Tester führt eine Benutzeraktion aus, und das Tool zeichnet die Aktion auf und kopiert sie. Wenn man diese Sequenz so einstellt, dass sie wiederholt ausgeführt wird, wird ein synthetisches Testprogramm erstellt.
Einige Unternehmen verwenden in der Produktion synthetische Transaktionen, insbesondere schreibgeschützte. Synthetische Testverfahren ermöglichen es, die tatsächliche Benutzererfahrung zu überwachen und nicht nur die Funktionalität isoliert zu prüfen.
Der Versuch, eine wiederholbare, automatisierte End-to-End-Interaktion mit einem System zu erstellen, ähnelt Robotic Process Automation (RPA) auf bemerkenswerte Weise. Deshalb ist es nicht anmaßend zu sagen: RPA ist die logische Zukunftstechnologie für Testautomatisierung.
Im Folgenden betrachten wir einige Beispiele für Testautomatisierung und RPA, um zu sehen, wie sie sich überschneiden und worin sie sich unterscheiden. Wir analysieren auch die beruflichen Fähigkeiten, die für diese Automatisierungsbereiche erforderlich sind. Und wir werden sehen, wie ein weiterer Trend in der Softwareentwicklung – Low Code Development – eine ganze Welle von RPA-Implementierungen ermöglichen kann.
Was RPA zur Anwendungsautomatisierung beiträgt
Robotic Process Automation wandelt komplexe, mehrstufige und systemübergreifende Aufgaben in wiederholbare, skriptgesteuerte Prozesse um.
Die meisten Leser sind wahrscheinlich mit Tastaturmakros vertraut: Automatisierte Sequenzen von Ereignissen wie Tastaturanschlägen oder Mausklicks, die automatisch wiedergegeben werden. Solche und andere Makros ahmen menschliche Handlungen nach. RPA hebt diese Idee auf eine neue Stufe: die Technologie speichert einige Werte in Variablen und verwendet sie erneut, um Aktionen zu automatisieren. Diese Funktionalität ähnelt der datengesteuerten Testautomatisierung und synthetischen Transaktionen.
Low-Code-Entwicklung verändert RPA
RPA und Testautomatisierung simulieren die Aktionen einer Person und verknüpfen Teile eines Systems miteinander. Low-Code-Entwicklungsplattformen erstellen hingegen ein Produkt, das von Menschen und anderen Systemen verwendet werden kann.
Low-Code-Plattformen sind im Wesentlichen visuell spezifizierte Datenbanken zum Erstellen von Web- und Mobile-Anwendungen. Diese Anwendungen erfordern normalerweise Feldversuche und eine Datenlogik, um Apps zum Laufen zu bringen. Sie bieten Prozessautomatisierung zum Generieren und Verknüpfen von Vorlagen für gängige Geschäftsfunktionen.
Wenn ein Unternehmen zum Beispiel eine Benutzerkonferenz starten möchte, braucht es für die Konferenz bestimmte Funktionen: den Zeitplan, die Gesprächsdetails, die Referentenliste, die Informationen zum Veranstaltungsort und das Registrierungsformular. Diese Elemente sind so verbreitet, dass es für sie Vorlagen gibt: Die Veranstalter füllen einfach die Lücken aus, um schnell eine eigene Konferenz-Website und eine eigene App zu erstellen. Die Benutzer folgen vorgegebenen Pfaden durch die Anwendung, um sich anzumelden, ein Hotel zu buchen und ihren Sitzungsplan auszuwählen. Da das Low Code Tool die Integrationen von einer Komponente zur nächsten erstellt hat, eliminiert es bei diesen Übergaben Fehler, Inkompatibilitäten und Komplexität.
RPA kann viele Funktionen automatisieren, zum Beispiel Funktionen, die von einem Buchhalter ausgeführt werden. Ein wesentlicher Teil seiner Arbeit besteht darin, das Buchhaltungssystem zu überprüfen und Kunden per E-Mail zu benachrichtigen, wenn die Begleichung ihrer Rechnung aussteht. Dieser manuelle Vorgang beansprucht die Zeit des Sachbearbeiters und kann zu Fehlern führen. Wenn er einen Termin verpasst oder vergisst, eine einmal erstellte E-Mail abzuschicken, hat das negative Konsequenzen.
Ein RPA-System kann dieselben E-Mails automatisch senden. Dazu braucht es nur einen Auslöser – wie zum Beispiel den Saldo des Kontos und die damit verknüpften Rechnungen. In diesem Beispiel können Tester ihr eigenes System erstellen, um überfällige Konten aufzulisten, Werte zu vergleichen und E-Mails zu senden. Dies demonstriert die Ähnlichkeit von Testautomatisierung und RPA-Fertigkeiten.
Ein weiteres Beispiel ist die Verbesserung der Helpdesk- und Support-Systeme mit Hilfe von RPA. In Kombination mit künstlicher Intelligenz (KI) kann RPA eingehende Tickets überwachen und zugleich speichern, was die Mitarbeiter als Reaktion darauf tun. Während das theoretisch mögliche Potenzial von KI die derzeitige praktische Anwendbarkeit übersteigt, sind die einfachen Wenn-Dann-Integrationen von RPA reif für den praktischen Einsatz.
Besser gemeinsam
Testautomatisierung ist eine Nische in der Softwarequalitätssicherung und ihre Zukunft ist alles andere als sicher. Einige Organisationen verzichten auf Tools für End-to-End-Systemtests, während andere die Automatisierungsarbeit von Testern auf Programmierer verlagern. Während die Verwendung von RPA und Low-Code-Anwendungen zunimmt, sind sie noch weit entfernt von etablierten Technologien. Es ist möglich, einen Job für eine dieser Aufgaben zu bekommen, aber es ist schwierig, diese Fähigkeiten auf andere Jobs zu übertragen.
Um die mit diesen Trends verbundenen Fähigkeiten wirklich zu entfalten, sollte man Testautomatisierung, RPA und Low Code mit dem Fokus auf Return on Investment (ROI) kombinieren. Wenn man zum Beispiel Testautomatisierung in der Qualitätssicherung einsetzt, findet man auch in der Produktion Bereiche, in denen sich diese anwenden lassen. Sobald die synthetischen Transaktionen funktionieren, hat man eine Form von RPA, mit der sich Aufgaben in der Produktion ausführen lassen.
Man sollte aber auch die interne Arbeitsweise eines Unternehmens untersuchen, um herauszufinden, wo RPA noch eingesetzt werden sollte (und wo nicht). Ineffiziente, mühsame und lästige Aufgaben sind reif für die intelligente Automatisierung, die für die Abwicklung mehrerer Transaktionen ausgelegt ist.
Der nächste Schritt von Testautomatisierung und RPA ist die Entwicklung von kundenspezifischer Software, um Geschäftsprobleme und andere Herausforderungen zu lösen. Low Code Tools bieten die Technologie, um diese Anwendungen ohne großen Zeit- und Ressourcenaufwand seitens der IT zu erstellen.
Allen drei Trends gemeinsam ist die Art und Weise, sowohl abstrakt zu denken als auch eine Benutzeroberfläche zu schaffen. Während Testwerkzeuge nachweisen, dass ein System wie geplant funktionieren wird, führt RPA Änderungen an den Systemen durch, und Low-Code-Anwendungen erstellen die Systeme selbstständig.