HomeWILLKOMMEN BEIUncategorizedWILLKOMMEN BEI

WILLKOMMEN BEI

Die Softwarebranche durchläuft eine ihrer transformativsten Veränderungen seit der Open-Source-Revolution der 1990er Jahre. Heute ist Künstliche Intelligenz nicht mehr nur ein futuristisches Konzept – sie gestaltet aktiv um, wie wir Software entwickeln, bereitstellen und testen. Als Software-Tester stellen wir fest, dass generative KI (GenAI) schnell zu einem unverzichtbaren Begleiter in unseren täglichen Arbeitsabläufen wird. Um ihre volle Leistungsfähigkeit zu entfalten, müssen wir jedoch über lockere Konversationen hinausgehen und die Kunst des präzisen Promptings meistern. Dieser Leitfaden untersucht, wie Sie Ihre Prompting-Praktiken verbessern können, um die Testproduktivität und -geschwindigkeit dramatisch zu steigern.

Generative KI für Softwaretests entmystifiziert

Um generative KI effektiv zu nutzen, ist es hilfreich zu verstehen, was unter der Haube vor sich geht. Im Gegensatz zu traditionellen, deterministischen IT-Systemen verwendet konversationelle GenAI Deep-Learning-Modelle, die auf riesigen Datensätzen vortrainiert wurden. Wenn Sie eine Abfrage (oder einen „Prompt“) schreiben, generiert die KI eine Ausgabe basierend auf statistischen Wahrscheinlichkeiten, die während ihres Trainings gelernt wurden.

Bevor wir uns mit den Techniken befassen, wollen wir einen gemeinsamen Wortschatz festlegen:

  • LLM (Large Language Model): KI-Modelle im großen Maßstab, die auf Text trainiert wurden, wie z. B. GPT-4o von OpenAI, Mistral Large von Mistral AI oder Claude-3.5 von Anthropic.
  • Multimodales LLM: Moderne Modelle, die mehrere Eingabetypen verarbeiten können – wie Text, Computercode, Bilder und Audio.
  • Prompting & Prompt Engineering: Die Praxis des Entwerfens und Verfeinerns von Abfragen, um ein LLM zu leiten, die genauesten und relevantesten Ergebnisse zu erzielen.

Wie funktionieren LLMs eigentlich?

Wenn Sie Text in ein LLM eingeben, verarbeitet das Modell ihn in zwei separaten Phasen:

  1. Tokenisierung: Zerlegung von Wörtern in elementare Einheiten, sogenannte „Tokens“, und Zuweisung numerischer Identifikatoren.
  2. Einbettung: Zuordnung jedes Tokens zu einer semantischen Matrix, um seine Beziehung zu anderen Wörtern in den Trainingsdaten zu verstehen.

Moderne LLMs basieren auf der Transformer-Architektur, die einen „Aufmerksamkeitsmechanismus“ verwendet, um Wörter im Kontext zu interpretieren. Zum Beispiel ist das Wort „Modell“ im Satz „Mistral Nemo ist ein generatives KI-Modell“ kontextuell vom Wort „Modell“ in „Paul ist ein Topmodel für eine Modemarke“ getrennt. Die KI generiert dann Text für Text neue Texte, indem sie das statistisch wahrscheinlichste nächste Wort auswählt.

„LLMs sind probabilistische Mechanismen, deren Stärke aus umfangreichen Trainingsdaten stammt. Aber denken Sie daran: plausibel ist nicht immer gültig. Per Design kann ein LLM Fehler machen oder halluzinieren.“

Warum generative KI im Softwaretesting einsetzen?

Laut dem World Quality Report suchen Software-Tester hauptsächlich nach Geschwindigkeits- und Effizienzsteigerungen durch GenAI. Tatsächlich zielen 65 % der Teilnehmer auf eine höhere Produktivität ab, während 53 % eine erhöhte Geschwindigkeit anstreben, wenn sie KI in ihre Test-Workflows integrieren.

GenAI ist äußerst vielseitig und passt in fast jede Phase des Testzyklus, angetrieben durch vier Kernfähigkeiten:

  • Interpretieren: Lesen und Analysieren von Spezifikationen, Benutzeranforderungen, Bildschirm-Mockups und Fehlerberichten.
  • Generieren: Erstellen von Testbedingungen, Testfällen, automatisierten Testskripten und Testdaten.
  • Synthetisieren: Zusammenfassen von Fortschrittsberichten, Anomalieprotokollen und Testabdeckungsmetriken.
  • Bewerten: Überprüfen und Korrigieren von vorhandenem Testcode oder Bewerten der gesamten Testabdeckung.

Prompt Engineering meistern: 4 leistungsstarke Techniken

Die Qualität der Ausgabe Ihrer KI ist direkt mit der Qualität Ihrer Eingabe verbunden. Um präzise, vollständige und zuverlässige Test-Assets zu erhalten, sollten Sie diese bewährten Prompting-Techniken anwenden.

1. Strukturiertes Prompting (Das 6-Teile-Framework)

Ein hochwirksamer Prompt sollte in sechs klare Komponenten strukturiert sein: Rolle, Kontext, Anweisungen, Einschränkungen, Format und Daten. Hier erfahren Sie, wie Sie dies anwenden können, um Testfälle im Gherkin-Format aus einer User Story und einem Screenshot der Benutzeroberfläche zu generieren:

#Rolle und Kontext
Sie sind mein Assistent für das Schreiben von Testszenarien im Gherkin-Format (Gegeben/Wenn/Dann) basierend auf einer gegebenen User Story und Akzeptanzkriterien. Ein Screenshot der zu testenden Seite wird ebenfalls bereitgestellt.

#Anweisungen, Format und Einschränkungen
Analysieren Sie diese Elemente und führen Sie die folgenden Aufgaben aus:
– Ermitteln Sie erschöpfend die zu testenden Äquivalenzklassen und geben Sie typische und Grenzwerte für gültige/ungültige Klassen an. Erklären Sie Ihre Begründung.
– Erstellen Sie Testszenarien im Gherkin-Format in einer Datei „feature_name.feature“. Decken Sie alle Akzeptanzkriterien ab und verwenden Sie den Screenshot, um präzise Testdaten zu extrahieren.

#Selbstprüfung der Ergebnisse
Prüfen Sie, ob die verschiedenen Akzeptanzkriterien vollständig abgedeckt sind, und nehmen Sie bei Bedarf Korrekturen vor.

#Daten
[Fügen Sie hier die User Story und die Akzeptanzkriterien ein] [Screenshot hochladen]

Wenn moderne Modelle wie Claude-3.5-Sonnet auf ein E-Commerce-Warenkorbszenario angewendet werden, können sie hochgradig konkrete Testdaten aus dem Screenshot extrahieren und in Sekundenschnelle robuste Gherkin-Testszenarien generieren, was Stunden manueller Erstellung spart.

2. One-Shot- und Few-Shot-Prompting

Wenn Sie Ihre Ausgabe in einem sehr spezifischen Stil, Layout oder Syntax benötigen, beschreiben Sie sie nicht nur – zeigen Sie sie. One-Shot-Prompting enthält ein einzelnes Beispiel der erwarteten Ausgabe im Prompt, während Few-Shot-Prompting mehrere Beispiele enthält. Dies ist außergewöhnlich nützlich für:

  • Erzwingen einzigartiger Codierungsstile in Testautomatisierungsskripten.
  • Übernahme spezialisierten Domänenvokabulars.
  • Reduzierung von Mehrdeutigkeiten in komplexer Logik.
  • Gewährleistung von Formatierungskonsistenz über eine Suite von Testfällen hinweg.

3. Nutzung multimodaler Vision-Module

Die neueste Generation von LLMs (wie GPT-4o, Claude-3.5 und Gemini-1.5) verfügt über hochentwickelte visuelle Verarbeitung. Diese Module können Screenshots, UI-Wireframes und Architekturdiagramme lesen, um unglaublich reichen Kontext zu liefern. Dies eröffnet spannende Möglichkeiten für QA-Teams:

  • UI-Tests entwerfen: Vergleichen Sie interaktive Mockups mit User Stories, um präzise UI-Assertions zu schreiben.
  • Ursachenanalyse: Füttern Sie fehlgeschlagene automatisierte Testprotokolle zusammen mit Screenshots des Fehlerzustands, um Fehler zu synthetisieren.
  • Spezifikationsanalyse: Geben Sie Anwendungsflussdiagramme ein, um versteckte Randfälle oder Lücken in den Akzeptanzkriterien zu entdecken.

4. Meta-Prompting: Lassen Sie die KI Ihre Abfragen verfeinern

Sie müssen den perfekten Prompt nicht allein entwerfen. Meta-Prompting beinhaltet die Aufforderung an das LLM, Ihren ursprünglichen Prompt zu analysieren und zu verbessern. Versuchen Sie, diese einfache Abfrage zu verwenden:

#Anweisungen
Hier ist ein Prompt, den ich zur Generierung von Testszenarien verwenden möchte. Analysieren Sie diesen Prompt und schlagen Sie strukturelle oder sprachliche Verbesserungen vor, um Anweisungen zu klären, Mehrdeutigkeiten zu reduzieren und die endgültige Ausgabe zu optimieren.

#Zu analysierender Prompt
[Fügen Sie hier Ihren Entwurfs-Prompt ein]

Profi-Tipps für Ihren täglichen KI-Test-Workflow

Prompting ist keine exakte Wissenschaft; es ist eine Fähigkeit, die durch iteratives Üben entwickelt wird. Behalten Sie diese Tipps im Hinterkopf, wenn Sie Ihren KI-gestützten Workflow aufbauen:

  • Seien Sie konsistent: Vermeiden Sie es, Ihr Vokabular mitten im Gespräch zu ändern. Verwenden Sie für identische Elemente in Ihren Prompts genau dieselben Begriffe.
  • Halten Sie es einfach und direkt: Lange, übermäßig literarische Prompts erhöhen die Token-Anzahl und können das Modell verwirren. Halten Sie sich an klare, gängige Branchenbegriffe.
  • Erzwingen Sie schrittweises Denken: Die Aufforderung an das Modell, „schrittweise zu denken“ oder seine Antworten selbst zu bewerten, bevor es sie präsentiert, verbessert die Qualität der endgültigen Ausgabe dramatisch.
  • Bauen Sie eine Prompt-Bibliothek auf: Speichern und teilen Sie Ihre leistungsstärksten Prompts mit Ihrem QA-Team. Eine gemeinsame Bibliothek beschleunigt tägliche Aufgaben und standardisiert die Qualität.

Fallstricke navigieren: Halluzinationen, Denkfehler und Voreingenommenheit

So leistungsfähig GenAI auch ist, wir müssen uns ihrer inhärenten Grenzen bewusst bleiben. Um sie sicher zu nutzen, müssen wir zwischen drei häufigen Problemen unterscheiden:

  • Halluzinationen: Da KI auf Plausibilität und nicht auf absolute Wahrheit basiert, kann sie selbstbewusst völlig falsche Informationen, nicht existierende Softwarefehler oder falsche API-Referenzen generieren.
  • Denkfehler: LLMs sind Sprachverarbeiter, keine deterministischen Rechner. Wenn Sie ein LLM bitten, komplexe Testfälle basierend auf mehreren abhängigen Variablen zu priorisieren, kann es ein Kriterium bevorzugen und die mathematisch optimale Lösung nicht finden.
  • Generative Voreingenommenheit: KI-Modelle spiegeln ihre Trainingsdaten wider. Wenn Sie eine App für eine unterrepräsentierte Benutzergruppe (z. B. Benutzer mit spezifischen Barrierefreiheitsanforderungen) entwickeln, schlägt das LLM möglicherweise nur generische, Mainstream-Personas vor und übersieht kritische Randfälle.

Die Lösung: Mensch-KI-Synergie umarmen

Diese Einschränkungen bedeuten nicht, dass wir KI verwerfen sollten. Stattdessen müssen wir das Risiko durch kritisches Hinterfragen und menschliche Überprüfung managen. Aktuelle akademische Forschung zeigt, dass KI zwar manchmal kritische Randfälle übersehen kann, die ein menschlicher Tester erkennen würde, die Kombination aus menschlichen Testern und KI jedoch eine deutlich höhere Testabdeckung erzielt als beide allein. Betrachten Sie GenAI als Ihren ultimativen „Pair-Testing“-Partner – er bringt Geschwindigkeit, Struktur und eine komplementäre Perspektive in Ihre Softwarequalitätsverfahren ein.


Von Dr. Bruno Legeard, Chief AI Officer bei Smartesting und Leiter des AI Lab

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert