RoboCon 2025 Helsinki Recap

Inhaltsverzeichnis

Die RoboCon 2025 liegt hinter mir – vier Tage voller spannender VortrĂ€ge, inspirierender GesprĂ€che und neuer Impulse.
Jetzt, zurĂŒck zu Hause, sortiere ich meine EindrĂŒcke – und davon gibt es reichlich!

Diese Konferenz ist fĂŒr mich jedes Jahr etwas Besonderes: Nirgendwo sonst erlebe ich eine Community, die so offen teilt, gemeinsam diskutiert und neue Ideen vorantreibt.

In diesem Artikel möchte ich meine persönlichen Highlights mit euch teilen – die VortrĂ€ge, die bei mir besonders nachgewirkt haben, und die Themen, die ich definitiv weiterverfolgen werde.

(Möge mir daher bitte niemand ĂŒbel nehmen, wenn ich einige Sessions auslasse oder unterschiedlich ausfĂŒhrlich behandle. Es sind einfach zu viele EindrĂŒcke fĂŒr einen Artikel!)

Und jetzt: BĂŒhne frei fĂŒr meine RoboCon-Highlights!


Make Automation Green Again - Experiments with AI supported self-healing

(Many Kasihira)

Many zeigte anhand einer simplen To-do-App einen Web-Test, den er nach dem ersten erfolgreichen Durchlauf „sabotierte“, indem er Selektoren verĂ€nderte – der Test schlug fehl.
Damit war der Bogen fĂŒr den Vortrag gespannt:

Wie kann Robot Framework mithilfe von AI selbststÀndig zu einer Lösung finden?

Dem voraus geht natĂŒrlich die Frage, warum man diesen Aufwand ĂŒberhaupt betreiben sollte.
Many hat das gut herausgearbeitet: Bereits das Lösen „einfacher“ Probleme kann viel Zeit kosten:

  • Den Test lokal ausfĂŒhren und debuggen
  • Herausfinden, warum ein Selektor nicht mehr matched
  • Einen neuen Selektor ermitteln
  • Änderungen committen und pushen
  • Den Test neu deployen

Solche repetitive Arbeit ist lÀstig. Warum also nicht Hilfe von einer AI holen?

Many Kasihira: 'Make Automation Green Again - Experiments with AI supported self-healing'

Er knĂŒpfte dabei an einen Talk von Pekka KlĂ€rck aus dem Jahr 2024 im Open Space an, in dem dieser die Änderungen im Robot Framework Listener vorstellte.

Info: Ein Listener ist vereinfacht gesagt ein StĂŒck Python-Code, das die AusfĂŒhrung von Robot-Framework-Tests „begleitet“ und an bestimmten „Hooks“ angesetzt werden kann. Immer wenn ein solcher „Hook“ passiert (z. B. start_test, end_keyword, end_suite), darf sich der Listener „dazwischenschalten“ und den fĂŒr diesen Hook geschriebenen Python-Code ausfĂŒhren.

Manys Idee: Den end_keyword-Hook fĂŒr fehlschlagende Keywords zu nutzen, um:

  • den Quellcode der aktuellen Seite auszulesen,
  • eine AI zu verwenden, um den defekten Selektor reparieren zu lassen,
  • das Keyword mit dem reparierten Selektor erneut auszufĂŒhren.

Klingt erst mal simpel – und Many hatte nach eigener Schilderung auch schnell einen ersten Prototypen.

Doch bald traten weitere Herausforderungen auf:

  • âšĄïž Shadow-DOM-Elemente: Diese sind im ursprĂŒnglichen Seitenquelltext nicht enthalten.
    Many schrieb einen JavaScript-Handler, der diese Elemente nachlÀdt und das vollstÀndige DOM rekonstruiert.
  • âšĄïž Relevanter Kontext fĂŒr die AI: Die AI gerĂ€t ins Schleudern, wenn der als Kontext ĂŒbergebene Seitenquelltext zu umfangreich ist.
    Many entwickelte eine Filterfunktion, um irrelevante Bestandteile wie Grafiken, JavaScript-Code, Header/Footer etc. herauszufiltern. (Seine Anekdote zu „Edgar mit den ScherenhĂ€nden“ brachte mich zum Lachen!)
  • âšĄïž QualitĂ€t der generierten Selektoren: Anfangs erzeugte die AI zwar funktionierende, aber extrem komplexe und fragile Selektoren. Der Mehrwert der Selbstheilung wĂ€re verloren, wenn stabile Selektoren wie div.summary > a#contact durch lange, fehleranfĂ€llige Konstrukte ersetzt wĂŒrden.

Im ĂŒberarbeiteten Ansatz ergĂ€nzte Many die von der AI ermittelten Selektoren um zusĂ€tzliche VorschlĂ€ge, die er lokal mit BeautifulSoup (einem Python-Paket zum Parsen von HTML) erzeugt.
Diese alternativen Selektoren reichert er mit hilfreichen Kontextinformationen wie Parent-Tags oder dem Text des nÀchsten Sibling-Elements an.

Der an die AI ĂŒbergebene Kontext ist dadurch prĂ€ziser auf das Problem zugeschnitten:

  • Name des fehlgeschlagenen Keywords
  • Fehlermeldung des Keywords
  • Fehlerhafter Selektor
  • Liste der per AI und BeautifulSoup ermittelten alternativen Selektoren

Die Aufgabe der AI ist es dann “nur noch”, diese VorschlĂ€ge gegeneinander abzuwĂ€gen und den besten Selektor zurĂŒckzuliefern, mit dem das Keyword erneut ausgefĂŒhrt wird.

Manys Library robotframework-heal befindet sich zwar noch in einem frĂŒhen Stadium, wirkt aber bereits vielversprechend.

Wichtig zu erwÀhnen: Die Selbstheilung ist derzeit nicht persistent.
Das bedeutet, dass der fehlerhafte Selektor zwar zur Laufzeit korrigiert wird, aber nicht im Testfall gespeichert wird. Bei jedem Testlauf wĂŒrde das Keyword also erneut fehlschlagen und von der AI repariert werden.

Trotzdem bin ich sicher, dass Many mit diesem Proof of Concept einen Funken gezĂŒndet hat, der weitere Innovationen im Bereich „Selbstheilung mit AI“ auslösen wird.

Manys VortrÀge sind praxisnah und extrem lehrreich. Am Ende des Artikels findet sich eine Liste mit Links zu weiteren seiner VortrÀge.

Links:


Appium Self-healing for RobotFramework AppiumLibrary

Eslam Elmishtawy/Mohamed Sedky

Direkt im Anschluss an Manys Vortrag prĂ€sentierten Eslam Elmishtawy und Mohamed Sedky einen Ă€hnlichen Ansatz, um AI-gestĂŒtzte Selbstheilung im Bereich des mobilen Testens zu implementieren.

Im Gegensatz zu Manys Lösung handelt es sich hierbei nicht um eine separate Library, sondern um eine Erweiterung der AppiumLibrary.
(Unklar blieb mir die Rolle der Datenbank, in der die von der AI reparierten Selektoren gespeichert werden. Falls jemand hierzu mehr Informationen hat, freue ich mich ĂŒber Hinweise in den Kommentaren.)

Eslam Elmishtawy/Mohamed Sedky: 'Appium Self-healing for RobotFramework AppiumLibrary'

Am Ende ihres Vortrages betonten die beiden, dass ihre Implementierung derzeit noch nicht offiziell verfĂŒgbar ist. Sie existiert momentan als Pull Request (PR) fĂŒr die AppiumLibrary.

Ich wĂŒnsche den beiden, dass ihr PR in die AppiumLibrary integriert werden kann.


Optimizing Mobile Testing using AppiumLibrary

Gabriela Simion / Felix Doppel

Felix Doppel und Gabriela Simion prĂ€sentierten ihren Weg zur erfolgreichen Implementierung einer Testpipeline fĂŒr die „Telematik App“ der HUK-Coburg.
Sie gaben einen spannenden Einblick in die Herausforderungen und LösungsansÀtze aus ihrer Praxis.

Dazu zÀhlten:

  • Die stetig steigende Anzahl unterschiedlicher Mobile-Devices:
    • ❓ Wie bleibt die Testinfrastruktur skalierbar, um Android- und iOS-GerĂ€te gleichermaßen abzudecken?
    • ❓ Wie verhindert man, dass Regressionstests unkontrolliert anwachsen?
  • Die Kombination fachlicher und technischer Tests in einer einheitlichen Pipeline.
  • Die Integration komplexer Testanforderungen in einen agilen Entwicklungsprozess.
Gabriela Simion / Felix Doppel: 'Optimizing Mobile Testing using AppiumLibrary'

ZunĂ€chst setzten die beiden auf Cucumber und Gherkin, da diese Tools bei der HUK bereits im Einsatz waren. Doch schnell zeigte sich, dass dieser Ansatz ihre speziellen Anforderungen nicht erfĂŒllte.

Durch ihr „erfolgreiches Scheitern“ lernten sie, ihre eigenen Erwartungen klarer zu definieren und zu priorisieren.
Diese Erfahrungen fĂŒhrten schließlich zur Entscheidung fĂŒr Robot Framework, das sich deutlich gegen die anderen geprĂŒften Tools durchsetzte.

Die HUK entschied sich fĂŒr Robot Framework, weil:

  • Der Keyword-Driven-Ansatz eine saubere Trennung zwischen plattformspezifischen Funktionen und Testlogik ermöglicht.
  • Die flexible API eine einfache Integration in andere Tools erlaubt. Konkret werden die Testergebnisse bei der HUK-Coburg an das cloudbasierte Testreporting-Tool Sauce Labs ĂŒbermittelt.

Besonders wertvoll waren die folgenden Erkenntnisse der beiden aus dem Projekt:

  • Stakeholder frĂŒhzeitig einbinden: Eine breite Abstimmung von Anfang an erleichtert die reibungslose EinfĂŒhrung.
  • Grenzen der Testautomatisierung kennen: Manuelle Tests bleiben wichtig, wenn der Aufwand fĂŒr eine Automatisierung unverhĂ€ltnismĂ€ĂŸig hoch wĂ€re.
  • Testautomatisierung ist ein Marathon, kein Sprint: Erfolgreiche Testautomatisierung erfordert langfristige Pflege und kontinuierliche Weiterentwicklung.
  • Wartung ist entscheidend: Der Erfolg von Testautomatisierung steht und fĂ€llt mit der konsequenten Pflege und Anpassung der TestfĂ€lle ĂŒber die gesamte Laufzeit hinweg.

Dear AI, Which Tests should Robot Framework Execute Now?

(Elmar JĂŒrgens)

Elmar JĂŒrgens stellte in seinem Vortrag einen spannenden Ansatz vor, um Testzeiten zu verkĂŒrzen und schneller neue Bugs zu finden.

Das Problem: Zu viele redundante Tests fĂŒhren zu langen Laufzeiten, ohne die Fehlersuche effizienter zu machen.
Gerade in großen Test-Suites wĂ€chst die Zahl der TestfĂ€lle oft schneller als ihr tatsĂ€chlicher Mehrwert fĂŒr die QualitĂ€tssicherung.

Elmar JĂŒrgens: 'Dear AI, Which Tests should Robot Framework Execute Now?'

Sein Ansatz basiert auf dem Dissimilarity-Prinzip, einer Methode zur gezielten Auswahl von Tests, die möglichst viele unterschiedliche Bereiche des Codes abdecken.
Anstatt immer alle Tests auszufĂŒhren, werden nur diejenigen ausgefĂŒhrt, die den grĂ¶ĂŸten potenziellen Erkenntnisgewinn bringen.

Konkret werden die Tests in einem Vektorraum angeordnet, der ihre Testabdeckung reprÀsentiert.
Jeder Test wird durch einen Vektor dargestellt, der beschreibt, welche Codebereiche er abdeckt.
Nach jedem ausgefĂŒhrten Test wird der nĂ€chste Test anhand der maximalen Distanz zum bisher getesteten Vektor ausgewĂ€hlt. So entsteht ein breites Abdeckungsmuster, das sich von Durchlauf zu Durchlauf systematisch ausdehnt – und das, ohne alle Tests ausfĂŒhren zu mĂŒssen.

Das Verfahren bringt gleich mehrere Vorteile:

  • Reduzierte Laufzeiten: Die Gesamtzahl der ausgefĂŒhrten Tests sinkt, ohne die Fehlersuche zu beeintrĂ€chtigen.
  • Effizienzgewinn: Die Testabdeckung steigt, da Tests gezielt auf unterschiedliche Bereiche des Codes abzielen.
  • Schnellere RĂŒckmeldungen: Gerade in Continuous-Integration-Pipelines liefert das Verfahren schnellere Ergebnisse.

Elmar betonte, dass dieser Ansatz vor allem dann seine StĂ€rken ausspielt, wenn Test-Suites sehr groß werden und lange Laufzeiten die Entwicklungszyklen ausbremsen.
Sein Fazit: Durch die clevere Auswahl von Tests nach dem Dissimilarity-Prinzip lassen sich Testzeiten spĂŒrbar verkĂŒrzen, ohne an QualitĂ€t in der Fehlersuche zu verlieren.


Utilizing RF Swarm to Execute Performance Testing on PostgreSQL Database Upgrade

(Omoghomion Oredia)

Im Vortrag von Omoghomion ging es darum, wie eine reibungslose Datenbankmigration auf PostgreSQL 15.4 gelingen kann, ohne Performance-Einbußen oder unerwartete Probleme.

Die zentrale Frage lautete: Wie stellt man sicher, dass sich eine PostgreSQL-Datenbank nach dem Update von Version 11 auf 14 mindestens so performant verhÀlt wie zuvor?

Diese Herausforderung musste Omoghomion angehen, als Amazon ankĂŒndigte, die UnterstĂŒtzung fĂŒr PostgreSQL 11 ab dem 29. Februar 2024 einzustellen.
Ein Weiterbetrieb hÀtte hohe Sicherheitsrisiken und mögliche Compliance-Probleme bedeutet.

Omoghomion Oredia: 'Utilizing RF Swarm to Execute Performance Testing on PostgreSQL Database Upgrade'

Zur DurchfĂŒhrung der Performance-Tests kam RFSwarm zum Einsatz.
Dieses Tool dient der parallelen AusfĂŒhrung von Robot-Framework-Suites und eignet sich daher hervorragend, um eine definierte Last – die im Suite-File festgelegten Aktionen – x-fach gleichzeitig auf das System zu bringen.

ZunÀchst wurden unter Version 11 mit realistischer Last die Basiswerte (Baseline) ermittelt:

  • CPU-Auslastung
  • Lese-Latenz
  • Freier Arbeitsspeicher

Nach dem Upgrade auf Version 14 wurden die Tests erneut ausgefĂŒhrt – mit einem erfreulichen Ergebnis:

  • Verbesserte Abfrageeffizienz bei komplexen Abfragen
  • Leichter RĂŒckgang der CPU-Auslastung
  • Stabile Lese-Latenz („Konsistenz ist entscheidend“)
  • Keine nennenswerten Speicherprobleme

Trotz des „Happy Ends“ zeigt diese Erfolgsgeschichte, wie wichtig dieses Vorgehen war: Ohne das vorab durchgefĂŒhrte Baselining wĂ€re es unmöglich gewesen, die Performance nach dem Update zu bewerten.

Zur Rolle von Robot Framework: Dank RFSwarm konnte das gesamte Anwendungsspektrum von Robot Framework genutzt werden, um durch parallele TestausfĂŒhrung eine realitĂ€tsnahe Lastsimulation zu erreichen. Genau diese Kombination aus Lasttests und Baseline-Analyse machte die Migration messbar – und damit bewertbar.


Robot Framework to the Rescue: Replacing EggPlant with a Custom UI-Test Library

(Rico Feist / Lisa Böttinger)

In diesem Vortrag stellten Rico Feist (Testautomation Team Lead bei der Deutschen Bahn) und Lisa Böttinger (imbus AG) die brandneue – noch nicht offiziell veröffentlichte – PlatynUI-Library zur Automatisierung von Desktop-Anwendungen vor.

Bisher setzte das Team fĂŒr Desktop-Tests auf eine Library, die das kommerzielle (und extrem teure!) Tool EggPlant ĂŒber eine Wrapper-Lösung in Robot Framework integrierte.

Lisa Böttinger, Rico Feist: PlatynUI Library

Vorteile und Nachteile des bildpattern-basierten Testens

Rico hob zunÀchst die Vorteile des bildpattern-basierten Testens hervor. Hierbei werden die zu klickenden Bereiche durch einen Bildvergleich zuvor aufgenommener Screenshots mit dem Desktop ermittelt:

  • Non-invasive: Die Anwendung muss nicht modifiziert werden.
  • TechnologieunabhĂ€ngig: Funktioniert auch mit Legacy-Software (laut Rico hatte er noch keinen Fall, bei dem dieser Ansatz nicht möglich gewesen wĂ€re).
  • PlattformĂŒbergreifend: Windows, Mac, Linux – alles möglich.

Allerdings gibt es auch gravierende Nachteile:

  • Agnostisches Verhalten: Da die Library den Anwendungszustand nicht kennt, entstehen “Zombie-Klicks” auf inaktive Komponenten.
  • Fokusprobleme: Fenster werden inaktiv, Eingaben gehen ins Nirvana, ĂŒberlagerte Fenster bleiben unerkannt.
  • Schwierigkeiten bei RDP- und Citrix-Verbindungen: Bildartefakte können die Erkennung massiv stören.
  • Aufwendiges Fehler-Handling: Lange Wartezeiten erfordern Sleeps, Schleifen und manuelle Assertions.

Features: Robot Framework First

Dank Daniel Biehl (imbus AG) konnte das Team eine komplett neue Library entwickeln: PlatynUI.
Im Gegensatz zu Lösungen wie Sikuli, EggPlant oder Ranorex wurde PlatynUI von Anfang an mit einem “Robot Framework First"-Ansatz geschrieben.
Ein großartiger Schritt!

Die wichtigsten Ziele und Funktionen von PlatynUI zusammengefasst:

  • Cross-Platform: UnterstĂŒtzung fĂŒr Windows, Mac und Linux.
  • Keine „Zombie-Klicks“: Klicks erfolgen nur, wenn das Element tatsĂ€chlich anklickbar ist – Ă€hnlich den Precondition-Checks der BrowserLibrary.
  • State Awareness: PlatynUI prĂŒft mit internen Assertions, ob z. B. eine Klick-Aktion auf einer Komponente ĂŒberhaupt möglich ist.
  • Universell: Möglichst universell einsetzbare Keywords, ohne Bindung an bestimmte Komponententypen.
  • Gezielte Komponentenansprache: Nutzung der Windows UI Automation API – unabhĂ€ngig vom visuellen Erscheinungsbild der Anwendung.
  • Spy-Tool: PlatynUI bringt ein eigenes Tool mit, um XPath-Selektoren schnell und einfach zu erstellen.
  • Open Source: Die Library wird frei verfĂŒgbar sein.

Objektorientierung First

Ein besonderes Feature möchte ich hervorheben: PlatynUI ermöglicht es, Applikationsfenster und deren Inhalte mit Python-Klassen zu beschreiben.
Das bietet gleich zwei Vorteile:

  • Bessere Lesbarkeit: Der Zugriff wird intuitiver (“Ciao, XPath!”).
  • Bessere Performance: Windows muss nur noch einen Teilbaum der Fensterhandles durchsuchen. Das beschleunigt besonders den Fensterwechsel.

Erweiterbarkeit

Die Architektur von PlatynUI ist so aufgebaut, dass sie zukĂŒnftig um weitere Erkennungsmechanismen ergĂ€nzt werden kann – beispielsweise:

  • Bilderkennung (Ă€hnlich Sikuli oder ImageHorizonLibrary) als Fallback, wenn die UI Automation API versagt.
  • (Vielleicht?) Edge-Detection: Eine Technik, die ich 2023 selbst auf der RoboCon im Zusammenhang mit ImageHorizonLibrary vorgestellt habe.

Warum ist das wichtig? Weil reine API-basierte AnsÀtze ihre Grenzen haben:

  • Ältere Applikationen bieten oft keine vollstĂ€ndige Abdeckung mit Automation-IDs.
  • Manche Legacy-Systeme unterstĂŒtzen *ĂŒberhaupt keine Erkennung ĂŒber UIA.
  • Citrix- oder RDP-Sitzungen: Hier bleibt Bildmustererkennung die einzige zuverlĂ€ssige Lösung.

Mein Fazit: PlatynUI hat enormes Potenzial 🧹

PlatynUI verfolgt genau den richtigen Ansatz: “Robot Framework First”, erweiterbar und offen fĂŒr verschiedene Testmethoden.
Besonders gefĂ€llt mir die offene Architektur, die Raum fĂŒr zukĂŒnftige Erweiterungen wie Bilderkennung lĂ€sst – ein echtes Alleinstellungsmerkmal gegenĂŒber bestehenden Lösungen.

Ich werde die Entwicklung von PlatynUI genau verfolgen und meine Erfahrungen und Testergebnisse hier mit euch teilen.

Live-Demo: PlatynUI bei der Steuerung von KeePass

Deep Dive into Robot Framework Core: Updates and Future Directions

(Pekka KlÀrck)

Pekka KlĂ€rck (Erfinder und Hauptentwickler von Robot Framework) stellte in seinem Vortrag die neuesten Entwicklungen in Version 7.2 vor und gab einen Ausblick auf die zukĂŒnftigen PlĂ€ne.

Ein wichtiger Meilenstein ist die EinfĂŒhrung des JSON-Outputs, der ab Version 7.2 zusĂ€tzlich zum bisherigen XML-Format zur VerfĂŒgung steht.
(Entgegen seiner Erwartung ist JSON in der Regel nicht wirklich kompakter. Aber es kann Vorteile bieten fĂŒr Integrationen, die dieses Format bevorzugen bzw. voraussetzen.)

Ebenfalls neu ist die GROUP-Syntax, mit der sich Keywords – nun ja – zu Gruppen zusammenfassen lassen.
Gruppen verhalten sich Ă€hnlich wie User Keywords und sind vor allem fĂŒr die programmgesteuerte Erstellung von TestfĂ€llen interessant.
Gruppen können benannt werden und lassen sich somit mit semantischen Bedeutungen versehen, was sie fĂŒr spezielle AnwendungsfĂ€lle nĂŒtzlich macht.

Pekka KlÀrck: 'Robot Framework Core: Updates and Future Directions'

FĂŒr die kommende Version 7.3 befindet sich Pekka bereits in der Planungsphase. Einige Punkte wurden bereits im Rahmen des Community Days am Dienstag besprochen.

Ein zentrales Projekt ist die vollstĂ€ndige Überarbeitung des User Guides.
Dieser wird kĂŒnftig in einer neu strukturierten Form als “Robot Framework Manual” veröffentlicht. Ein Glossar sowie die Integration der API-Dokumentation sollen das Manual abrunden.

Pekka schließt seinen Talk traditionell immer mit der Vorstellung von Entwicklungen rund um das Robot-Framework-Ökosystem – hier nur einige davon:

  • RobotCode hat nun den Ritterschlag als offizielle Robot-Framework-Extension fĂŒr VS Code erhalten – und ist seit neuestem auch fĂŒr PyCharm verfĂŒgbar.
  • Construct, eine Entwicklung von Franz Haas, erleichtert das Arbeiten mit BinĂ€rdaten.
  • RobotDashboard, geschrieben von Tim de Groot, ermöglicht es, Testergebnisse ĂŒbersichtlich in Dashboards darzustellen.
  • und viele mehr.

Mein Takeaway: Hier zeigt sich einmal mehr, wie stark die Community zusammenarbeitet, welche kreativen Ideen entstehen und wie Projekte durch die UnterstĂŒtzung der Foundation gefördert werden.

Auch wenn mein Beitrag als Mitglied der Foundation nur ein kleiner Baustein ist, freue ich mich zu sehen, dass durch die MitgliedsbeitrĂ€ge Projekte wie diese eine Anschubfinanzierung erhalten und so Innovationen im Robot-Framework-Ökosystem vorangetrieben werden.


Redefining Automation with Robot F/W: Harnessing AI, LLMs, and Custom Libraries for Next-Gen Testing

(Siddhant Sunil Wadhwani)

Siddhant Sunil Wadhwani feierte mit seinem Vortrag sein 100. BĂŒhnen- und VortragsjubilĂ€um. Er ist auf AI-Themen spezialisiert und widmete sich in seinem Vortrag den vielfĂ€ltigen Möglichkeiten und AnsĂ€tzen zur Anwendung von AI in Robot Framework.

Siddhant Sunil Wadhwani: 'Harnessing AI, LLMs, and Custom Libraries for Next-Gen Testing'

In seiner Live-Demo zeigte Siddhant eine Auswahl wichtiger Tools und Technologien, die den Einsatz von AI in Robot Framework konkret machen:

  • Healenium: Ein Projekt zur Implementierung selbstheilender TestfĂ€lle
  • GitHub Copilot: UnterstĂŒtzung bei der Skripterstellung durch KI-gestĂŒtzte VorschlĂ€ge
  • Gemini Code Assist: Optimierung und Verbesserung bestehender Tests
  • OpenAI API / LLMs: Dynamische Generierung von TestfĂ€llen und Testdaten
  • Eigene AI-Bibliotheken: Erweiterung von Robot Framework um AI-FunktionalitĂ€ten

Zum Abschluss ging Siddhant auf die Herausforderungen ein, die bei der Integration von AI in Testautomatisierungsprozesse entstehen – von der KomplexitĂ€t der Implementierung bis hin zur QualitĂ€t und StabilitĂ€t der generierten Tests.

Sein Vortrag bot einen umfassenden Einblick in die Potenziale von AI fĂŒr die Testautomatisierung mit Robot Framework und zeigte praxisnah, wie diese Technologien die Effizienz und QualitĂ€t automatisierter Tests steigern können.


Infrastructure as code - Yet another super power for your test automation

(Nils Balkow-Tychsen)

Nils Balkow-Tychsen stellte in seinem Vortrag vor, wie sich mit Infrastructure as Code (IaC) Testumgebungen direkt aus Testautomatisierungsskripten verwalten lassen.

Im Fokus stand seine neue Robot Framework Terraform Library (Lnk siehe unten), die sowohl Terraform als auch dessen Open-Source-Fork OpenTofu in Robot Framework integriert.

Hintergrund: Terraform ist seit der Übernahme durch IBM nicht mehr Open Source. Dies fĂŒhrte zur Entstehung des Open-Source-Forks OpenTofu.

Wozu ist das gut?

Seine Library eröffnet neue Möglichkeiten fĂŒr das Testmanagement: Ein hĂ€ufiges Problem bei Testinfrastrukturen ist, dass sie einmalig eingerichtet werden und sich dann allmĂ€hlich vom Sollzustand entfernen.
Mit einem Infrastructure-as-Code-Ansatz kann die gleiche Testumgebung immer wieder identisch aufgebaut werden – und das ohne manuellen Aufwand.

Dies erhöht die VerlÀsslichkeit der Testergebnisse enorm, gleichzeitig werden erhebliche Kosten gespart, da keine langlaufenden, ungenutzten Umgebungen bestehen bleiben.

(EinschrĂ€nkend muss man natĂŒrlich erwĂ€hnen, dass das Erstellen einer komplexen Infrastruktur, wie etwa eines Kubernetes-Clusters, nicht in einer Minute erledigt ist – eher in 10 bis 15 Minuten. Doch wenn die resultierenden Testergebnisse aussagekrĂ€ftiger, reproduzierbarer und belastbarer sind, ist dieser Aufwand mehr als gerechtfertigt.)

Link: robotframework-terraformlibrary


Perfbot - Integrated performance analysis of robot tests

(Lennart Potthoff)

Lennart Potthoff stellte in seinem Vortrag die Ergebnisse seiner Bachelor-Arbeit vor, in der er sich mit der Vergleichbarkeit vergangener TestlÀufe im Hinblick auf Laufzeiten und Performance-Regressionen beschÀftigte.
WĂ€hrend im Testumfeld meist das Testergebnis im Vordergrund steht, können auch schleichende VerĂ€nderungen der Testlaufzeiten oder Ausreißer wichtige Hinweise auf Probleme liefern.

Seine Lösung, Perfbot, erweitert Robot Framework um die Möglichkeit, Testlaufzeiten zu archivieren und statistisch auszuwerten.
Perfbot arbeitet als sogenannter prerebotmodifier und speichert die AusfĂŒhrungszeiten von Tests und Keywords in einer lokalen SQLite-Datenbank.

Info: IM Publikum kam auch die Frage auf, warum Lennart nicht einen Listener verwendet hatte: Listener arbeiten parallel zur TestausfĂŒhrung und können theoretisch auch einen negativen Einfluss auf die Performance des Tests haben. Prerebotmodifier hingegen haben den Charnme, dass sie erst nach der TetsausfĂŒhrung arbeiten (wenn output.xml geschrieben ist), aber immer noch, bevor die Logs/Reports erzeugt werden.

Lennart Pothoff: 'Perfbot - Integrated performance analysis of robot tests'

FĂŒr die Visualisierung der Ergebnisse nutzt Perfbot die Boxplot-Library und integriert die erstellten Diagramme direkt in die log.html und report.html. Die gezeigten Diagramme fand ich sehr ansprechend!

log.html /boxplot (Source: https://github.com/perfroboter/robotframework-perfbot)

Besonders interessant ist das Feature “Testbreaker”: Es setzt einen Testfall auf “FAIL”, wenn die Abweichung der aktuellen Laufzeit vom Median vergangener TestlĂ€ufe einen definierten Schwellenwert ĂŒberschreitet. So werden potenzielle Performance-Probleme unmittelbar sichtbar. Tolle Idee!

In Zukunft wird Perfbot nicht nur die Laufzeiten von TestfÀllen, sondern auch die Laufzeiten einzelner Keywords auswerten, was tiefere Analysen ermöglicht.
HierfĂŒr hat Lennart ein ergĂ€nzendes Tool namens Perfmetrics entwickelt. (Dieses befindet sich derzeit noch im Prototyp-Stadium und wurde bisher nicht veröffentlicht.)

Mein Fazit: Mit Perfbot bietet Lennart eine praxisnahe Lösung, um Performance-Regressionen in bestehenden UI-Tests systematisch zu erkennen und direkt in die Robot Framework Reports zu integrieren.

Link: robotframework-perfbot


Behavior-Tree-Based Test-Case Specification

(Noubar Akopian)

Noubar Akopian stellte in seinem Vortrag RobotBT vor, eine Behavior-Tree-Library fĂŒr Robot Framework.

Info: Behavior Trees sind eine strukturierte Methode zur Darstellung komplexer AblÀufe und Entscheidungen.
Sie zerlegen Automatisierungslogik in kleine, wiederverwendbare Aufgaben (Nodes), die in einer baumartigen Struktur organisiert sind.
Jede Node beschreibt dabei eine Aktion, Bedingung oder Entscheidung – und der Baum steuert, welche Schritte in welcher Reihenfolge ausgefĂŒhrt werden.

Noubars Ziel war es, die Machbarkeit und den Nutzen solcher Behavior Trees fĂŒr die Spezifikation von TestfĂ€llen zu demonstrieren.
Der Vortrag basierte auf seiner Arbeit “RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework”, die 2023 auf der ISSTA-Konferenz veröffentlicht wurde (Link siehe unten).

Noubar Akopian: 'Behavior-Tree-Based Test-Case Specification'

Warum ist das fĂŒr Robot Framework relevant?

Testfall-Spezifikationen in Robot Framework können mit zunehmender GrĂ¶ĂŸe und KomplexitĂ€t schnell unĂŒbersichtlich werden.
Hier setzt die von Noubar entwickelte BehaviorTreeLibrary an, die Behavior-Tree-Knoten als Robot-Keywords zur VerfĂŒgung stellt.

In einer Fallstudie mit einer Test-Suite der G DATA CyberDefense AG untersuchte Noubar die praktische Anwendbarkeit von Behavior Trees.
Die Entwickler, die mit RobotBT arbeiteten, bestÀtigten eine verbesserte Lesbarkeit und Wartbarkeit der TestfÀlle.

Mein Fazit: Behavior Trees waren bisher noch gar nicht in meinem Scope. Die PrÀsentation war nachvollziehbar und sehr praxisnah.
Besonders gut gefallen haben mir die Vorher-Nachher-Vergleiche!

Links:


Fazit

Die RoboCon-Woche in Helsinki vergeht jedes Jahr wie im Flug!

Ich hatte viele interessante GesprÀche, lernte neue Leute und Use Cases kennen und konnte wertvolle Impulse mitnehmen.

Was diese Veranstaltung so besonders macht: die einzigartige Community. Hier treffen Leidenschaft, Fachwissen und Hilfsbereitschaft đŸ€ aufeinander – eine AtmosphĂ€re, die einfach inspiriert.

Die abwechslungsreiche Mischung aus Community Day, Workshop-Tag und zwei Konferenztagen sorgt dafĂŒr, dass es nie langweilig wird – jede Menge Input, Austausch und neue Perspektiven sind garantiert.

Jetzt bin ich neugierig: Warst Du auch auf der RoboCon? Was waren Deine persönlichen Highlights? Schreib es gerne in die Kommentare! 👇