AutoRestTest at the SBFT 2026 Tool Competition
AutoRestTest, ein Werkzeug, das semantische Abhängigkeitsgraphen, Multi-Agenten-Reinforcement-Learning und große Sprachmodelle kombiniert, sicherte sich den ersten Platz in allen drei Bewertungskategorien der SBFT 2026 REST League, indem es innerhalb eines einstündigen Testbudgets effektiv Fehler erkannte und Operationen über 11 APIs hinweg verarbeitete.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen, einen riesigen, automatisierten Verkaufsautomaten zu testen, der tausende verschiedene Artikel verkauft. Der Automat hat ein komplexes Menü (die API), und Sie haben weder die Baupläne noch die Schlüssel, um ihn zu öffnen (Black-Box-Testing). Ihr Ziel ist es, Tasten in verschiedenen Kombinationen zu drücken, um zu sehen, ob der Automat kaputtgeht, den falschen Artikel ausspuckt oder abstürzt.
Genau das macht AutoRestTest, aber für Computersysteme, die REST-APIs genannt werden. In einem kürzlich stattgefundenen Wettbewerb namens „REST League“ bei der SBFT 2026 fungierte dieses Tool wie ein superintelligenter, unermüdlicher Roboter-Tester und gewann den ersten Platz in jeder einzelnen Kategorie.
Hier ist die Funktionsweise, unterteilt in einfache Konzepte:
1. Die Karte: Der „Semantic Property Dependency Graph“
Betrachten Sie das API-Menü als ein riesiges, verheddertes Netz aus Fäden. Einige Knöpfe sind miteinander verbunden; wenn Sie auf „In den Warenkorb legen“ drücken, müssen Sie zuvor bereits „Artikel auswählen“ gedrückt haben. Wenn Sie sie in der falschen Reihenfolge drücken, könnte der Automat verwirrt werden.
AutoRestTest erstellt eine Karte dieser Verbindungen. Es nutzt ein intelligentes System, um das Menü zu lesen und herauszufinden, welche Knöpfe basierend auf ihren Namen und Bedeutungen „Freunde“ miteinander sind. Während es testet, aktualisiert es diese Karte in Echtzeit und lernt neue Verbindungen, die es unterwegs entdeckt. Dies stellt sicher, dass es keine Zeit damit verschwendet, Knöpfe in Kombinationen zu drücken, die keinen Sinn ergeben.
2. Das Team: Vier spezialisierte Agenten
Anstatt eines Roboters, der versucht, alles allein zu machen, nutzt AutoRestTest ein Team aus vier spezialisierten Agenten (wie eine Sportmannschaft mit verschiedenen Positionen):
- Der Operations-Agent: Entscheidet, welchen Knopf auf dem Menü als Nächstes gedrückt wird.
- Der Parameter-Agent: Entscheidet, welche Einstellungen ein- oder ausgeschaltet werden (wie die Wahl zwischen „groß“ oder „klein“).
- Der Value-Agent: Überlegt sich die tatsulichen Daten, die in die Schlitze eingegeben werden sollen (wie das Eintippen eines Namens oder einer Zahl).
- Der Dependency-Agent: Behält die Karte im Auge und stellt sicher, dass das Team den Regeln des Netzes aus Verbindungen folgt.
Diese Agenten nutzen eine Lernmethode namens Reinforcement Learning (Bestärkendes Lernen). Denken Sie an das Training eines Hundes:
- Wenn der Automat eine „Erfolgs“-Meldung (2xx) gibt, bekommt das Team eine Belohnung (ein Leckerli).
- Wenn der Automat abstürzt oder eine Fehlermeldung (5xx) ausgibt, bekommt das Team ebenfalls ein Leckerli, denn das Finden eines Absturzes ist ja gerade das Ziel!
- Wenn der Automat nur sagt: „Ich verstehe nicht“, bekommt das Team ein sanftes „Nein“.
Im Laufe der Zeit lernt das Team, welche Tastenkombinationen am wahrscheinlichsten Fehler finden oder dazu führen, dass die Dinge funktionieren.
3. Das Gehirn: Das Large Language Model (LLM)
Um die Lücken zu füllen (wie etwa was ein Name oder ein Datum sein sollte), nutzt das Tool ein Large Language Model (LLM). Stellen Sie sich dies wie einen sehr belesenen Assistenten vor, der den Kontext des Geschäfts versteht.
Anstatt wahllos herumzurahten, schaut der Assistent auf das Menü und sagt: „Da dies ein Flugbuchungssystem ist, sollte das Datum so aussehen: '2026-04-12'.“ Er generiert diese realistischen Werte, bevor das Testen beginnt, damit das Team während des eigentlichen Rennens keine Zeit damit verschwendet, den Computer nachdenken zu lassen. Dies macht das Testen unglaublich schnell und effizient.
4. Die Ergebnisse: Das Rennen gewinnen
Im Wettbewerb trat AutoRestTest gegen fünf andere erstklassige Testing-Tools an. Diesen wurden eine Stunde Zeit gegeben, um 11 verschiedene reale Systeme mit 317 verschiedenen Operationen (Knöpfen) zu testen.
- Fehlererkennung: AutoRestTest fand pro System durchschnittlich 67 einzigartige Fehler. Das nächstbeste Tool fand nur etwa 25. Das ist mehr als das 2,5-fache.
- Effizienz: Es fand diese Fehler viel schneller als die anderen.
- Kosten: Es war überraschend günstig in der Ausführung und kostete pro System nur etwa 0,02 $ pro Test.
Der eine Fehler
Das Paper gibt zu, dass es nicht perfekt war. Bei einem speziellen Test, der Flugbuchungen betraf, stürzte das Tool ab, weil es davon ausging, dass alle Texte in einem bestimmten Format (UTF-8) geschrieben sind. Es ist wie ein Übersetzer, der perfekt Englisch spricht, aber verwirrt ist, wenn jemand mit einem anderen Akzent spricht. Die Autoren planen, dies in zukünftigen Versionen zu beheben.
Zusammenfassung
AutorestTest ist wie ein hochorganisiertes, selbstlernendes Detektiv-Team. Es zeichnet eine Karte der Regeln, teilt die Arbeit unter vier Experten auf, nutzt einen smarten Assistenten, um realistische Szenarien zu erraten, und lernt aus jedem Erfolg und jedem Misserfolg. Das Ergebnis? Es fand deutlich mehr Bugs, schneller und kostengünstiger als jedes andere Tool im Wettbewerb.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.