← Neueste Arbeiten
💻 computer science

LLM-Based Robustness Testing of Microservice Applications: An Empirical Study

Diese empirische Studie zeigt, dass die Prompt-Strategie die Vielfalt und Abdeckung von von LLMs generierten Robustheitstests für Microservice-APIs erheblich beeinflusst und offenbart, dass ein taxonomiegeleiteter Few-Shot-Ansatz sowohl größere Modellensembles als auch feste Prompts darin übertrifft, unterschiedliche Fehlermodi aufzudecken.

Ursprüngliche Autoren: Hrushitha Goud Tigulla, Marco Vieira

Veröffentlicht 2026-05-15
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Hrushitha Goud Tigulla, Marco Vieira

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 besitzen ein belebtes Restaurant mit einer Küche (der Hauptanwendung) und mehreren spezialisierten Stationen: einer Salatbar, einem Grill, einer Getränkestation und einer Kasse. Jede Station ist ein „Mikrodienst". Sie kommunizieren miteinander, um Ihre Bestellung abzuarbeiten.

Stellen Sie sich nun vor, Sie möchten sicherstellen, dass Ihr Restaurant nicht abstürzt, wenn ein Kunde etwas Seltsames tut. Vielleicht versucht er, einen Salat mit einer negativen Anzahl von Artikeln zu bestellen, oder er versucht, ohne Kreditkarte zu bezahlen, oder er sendet eine Nachricht, die zu lang ist, um sie zu lesen. Dies nennt man Robustheitstests: Das systematische Versuch, das System mit „schlechten" Eingaben zu brechen, um zu sehen, wo es versagt.

Das Problem ist, dass Menschen müde sind. Wir können nicht an jedes seltsame Ding denken, das ein Kunde tun könnte. Daher fragten die Forscher in dieser Arbeit: Können wir KI (speziell Large Language Models oder LLMs) nutzen, um diese seltsamen Tests für uns zu entwickeln?

Hier ist das, was sie fanden, einfach erklärt:

1. Das Setup: Die KI-Köche

Die Forscher stellten drei verschiedene „KI-Köche" (KI-Modelle unterschiedlicher Größe und Spezialisierung) ein, um diese Tests zu schreiben. Sie gaben ihnen die Speisekarte des Restaurants (die API-Spezifikationen) und baten sie, Tests zu generieren.

Sie probierten 7 verschiedene Arten der Anfrage aus (genannt „Prompt-Strategien"):

  • Der leere Zustand: Einfach nur zu sagen „Schreiben Sie einige Tests."
  • Der strenge Manager: Eine Checkliste mit genau dem, was getestet werden soll, zu geben.
  • Der Lehrer: Ihnen zuerst Beispiele für schlechte Tests zu zeigen.
  • Der Denker: Sie zu bitten, Schritt für Schritt nachzudenken, bevor sie schreiben.
  • Der Experte: Ihnen ein Regelbuch darüber zu geben, wie Dinge kaputtgehen können, sowie Beispiele für spezifische knifflige Situationen.

2. Die große Entdeckung: Wie Sie fragen, ist wichtiger als wen Sie fragen

Das überraschendste Ergebnis war, dass die Art und Weise, wie Sie die Frage stellen, wichtiger ist als welche KI Sie verwenden.

  • Die „Strenge Manager"-Falle: Wenn sie der KI eine strenge Checkliste gaben (der „Strukturierte" Prompt), schrieben alle drei KIs exakt dieselben Tests. Es war, als gäbe man drei verschiedenen Köchen exakt dieselbe Rezeptkarte; sie alle machten exakt dasselbe Gericht. Das ist schlecht, denn wenn die Rezeptkarte eine Blindstelle hat, verpassen Sie diese.
  • Der Erfolg des „Experten": Wenn sie der KI ein Regelbuch plus klare Beispiele für knifflige Situationen gaben (wie den Unterschied zwischen „ein Schlüssel fehlt" und „ein Schlüssel ist leer"), begannen die KIs unterschiedlich zu denken. Sie fanden einzigartige Fehler, die die anderen verpasst hatten.

Die Analogie: Stellen Sie sich vor, Sie suchen nach verlorenen Schlüsseln in einem Haus.

  • Wenn Sie drei verschiedenen Personen sagen: „Schauen Sie in der Küche nach", werden alle in der Küche suchen. Wenn die Schlüssel nicht dort sind, finden Sie nichts.
  • Wenn Sie ihnen sagen: „Schauen Sie in der Küche nach, aber überprüfen Sie auch den Kühlschrank, den Toaster und das Katzenbett", werden sie sich ausbreiten und mehr Orte finden.
  • Die Arbeit ergab, dass es effektiver war, zu ändern, wie man der KI sagt, wo sie suchen soll (den Prompt), als eine „bessere" KI einzustellen.

3. Das „Code-Spezialist"-Paradoxon

Einer der KIs war ein „Code-Spezialist" (speziell trainiert, um Code zu schreiben). Man könnte denken, dieser wäre am besten darin, Fehler zu finden.

  • Das Problem: Wenn er gebeten wurde, einfach nur seine eigene Arbeit zu „kritisch zu prüfen und zu verbessern" (eine Strategie namens Self-Refine), schrieb dieser Spezialist perfekten Code, der tatsächlich nicht nach Fehlern suchte. Es war, als würde ein Koch einen wunderschönen Kuchen backen, aber vergessen, ihn zu probieren, um zu sehen, ob er verbrannt ist.
  • Die Lösung: Als die Forscher diesem Spezialisten den „Experten" gaben (das Regelbuch mit Beispielen), wurde er plötzlich zum besten Performer und fand mehr Fehler als jede andere Kombination. Das Regelbuch gab ihm die „adversarische Absicht" – die Denkweise, Dinge zu brechen, die ihm seine Code-Ausbildung von sich aus nicht verliehen hatte.

4. Die „Zero-Shot"-Überraschung

Es gab eine Strategie, bei der sie der KI keine Anweisungen gaben, nur die Speisekarte.

  • Das Ergebnis: Diese KI fand eine bestimmte Art von Fehler, die die anderen verpassten: Zustandsbasierte Fehler.
  • Die Analogie: Die anderen KIs waren darauf fokussiert: „Ist die Zutat frisch?" (Prüfung der Daten). Die „Zero-Shot"-KI dachte: „Warten Sie, hat der Kunde versucht, Dessert zu bestellen, bevor er ein Hauptgericht bestellt hat?" (Prüfung des Ablaufs).
  • Lehre: Selbst eine „dumme" oder ungesteuerte KI kann seltsame, logische Fehler finden, die eine stark geführte KI verpasst, weil die geführte KI zu sehr auf die Regeln fokussiert ist.

5. Die Verwirrung zwischen „Schlüssel-abwesend" und „Wert-leer"

Die Arbeit hebt eine spezifische Verwirrung hervor, die die KIs hatten.

  • Die Regel: „Wenn ein Wert fehlt, setzen Sie ihn auf null."
  • Der Fehler der KI: Die KIs interpretierten dies als „Setzen Sie den Wert auf einen leeren String" (wie name="").
  • Die Realität: In Computersystemen sind name="" (leer) und name (gänzlich fehlend) zwei völlig verschiedene Dinge, die das System auf unterschiedliche Weise brechen.
  • Die Lösung: Die KIs konnten den Unterschied nicht erkennen, bis die Forscher ihnen konkrete Beispiele für beide zeigten. Sobald sie den Unterschied sahen, konnten sie beide Szenarien testen.

Zusammenfassung der Erkenntnisse

  • Stellen Sie nicht einfach eine größere KI ein: Eine kleinere KI mit einem besseren Prompt kann eine riesige KI mit einem schlechten Prompt schlagen.
  • Seien Sie nicht zu streng: Wenn Sie der KI eine starre Checkliste geben, werden alle exakt dasselbe tun. Sie müssen ihnen Regeln geben, aber ihnen Raum für Kreativität lassen.
  • Zeigen Sie, nicht nur erzählen: Wenn Sie wollen, dass die KI einen subtilen Unterschied versteht (wie „fehlend" vs. „leer"), müssen Sie ihr ein Beispiel zeigen.
  • Mischen Sie Ihre Strategien: Um die meisten Fehler zu finden, sollten Sie nicht nur einen Test ausführen. Sie sollten eine Mischung ausführen: einige strenge Tests, einige geführte Tests und sogar einige „Wildcard"-Tests ohne Anweisungen.

Kurz gesagt beweist die Arbeit, dass wie Sie mit der KI sprechen, das Geheimnis ist, um Softwarefehler zu finden, und nicht nur die Größe der KI selbst.

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.

Digest testen →