Was ist ein guter Prompt?
Ein guter Prompt ist wie eine gute Testanweisung: klar, vollständig und ausführbar. Nach einigen Monaten mit verschiedenen KI-Tools habe ich gemerkt: Die Qualität der Antwort hängt direkt von der Qualität der Frage ab.
Hier ist mein bewährtes Framework, das in den meisten Fällen funktioniert:
Die 6 Bausteine eines Prompts
Nicht jeder Prompt braucht alle sechs, aber je komplexer die Aufgabe, desto mehr davon solltest du einbauen:
| Baustein | Frage | Beispiel |
|---|---|---|
| Rolle | Wer soll antworten? | ”Du bist ein erfahrener QA-Engineer…” |
| Aufgabe | Was soll getan werden? | ”Generiere Testfälle für…” |
| Kontext | Was muss man wissen? | ”Es handelt sich um eine E-Commerce-App…” |
| Input | Welche Daten liegen vor? | ”User Story: Als Kunde möchte ich…” |
| Grenzen | Was soll vermieden werden? | ”Max. 10 Testfälle, beachte GDPR…” |
| Format | Wie soll es aussehen? | ”Tabelle mit ID, Beschreibung, Ergebnis” |
Meine Erfahrung: Anfangs habe ich oft zu knapp gepromptet und war enttäuscht vom Ergebnis. Mittlerweile nehme ich mir lieber 30 Sekunden mehr für den Prompt und spare mir danach mehrere Iterationen.
Prompt-Techniken, die ich regelmäßig nutze
Zero-Shot: Die schnelle Abfrage
Für einfache, klare Aufgaben reicht oft ein Satz:
Generiere einen Testplan für eine Login-Funktion.
Wann nutzen: Wenn das Ziel offensichtlich ist und du erstmal sehen willst, was die KI liefert.
One-Shot: Das Format vorgeben
Wenn das Ergebnis in einer bestimmten Struktur kommen soll:
Generiere Testfälle im folgenden Format:
Beispiel:
- ID: TC001
- Beschreibung: Gültiger Login mit E-Mail
- Schritte: 1. E-Mail eingeben 2. Passwort eingeben 3. Button klicken
- Erwartet: Weiterleitung zum Dashboard
Aufgabe: Erstelle 5 Testfälle für die Passwort-Zurücksetzung.
Mein Tipp: Ein gutes Beispiel ist Gold wert – es zeigt der KI exakt, was du erwartest.
Few-Shot: Muster erkennen lassen
Bei komplexeren Aufgaben helfen mehrere Beispiele:
Hier sind Beispiele für Grenzwertanalysen:
Input: Alter 18-65
Grenzwerte: 17, 18, 65, 66
Input: Passwort 8-20 Zeichen
Grenzwerte: 7, 8, 20, 21
Input: Warenkorb 1-10 Artikel
Grenzwerte:
Warum das funktioniert: Die KI erkennt das Muster und wendet es auf den neuen Fall an.
Persona: Expertise einkaufen
Manchmal willst du eine bestimmte Perspektive:
Du bist ein Security-Tester mit 10 Jahren Erfahrung
in OWASP. Finde potenzielle Sicherheitslücken
in folgendem Code:
[Code einfügen]
Was ich daran mag: Du bekommst Antworten aus einer Sichtweise, die du selbst vielleicht nicht hast.
Schritt-für-Schritt: Den Denkprozess sichtbar machen
Für komplexe Analysen:
Analysiere folgenden Bug-Report und denke Schritt
für Schritt:
1. Was ist das gemeldete Verhalten?
2. Was ist das erwartete Verhalten?
3. Welche Ursachen könnten infrage kommen?
4. Was sollte als nächstes untersucht werden?
Bug-Report: [einfügen]
Der Vorteil: Du siehst, wie die KI zu ihrem Ergebnis kommt – und kannst Fehlschlüsse erkennen.
Meine Copy-Paste-Templates
Template: Testfälle generieren
Du bist ein QA-Engineer mit Fokus auf E2E-Testing.
Aufgabe: Generiere Testfälle für folgende Funktion.
Kontext:
- Anwendung: [Web/Mobile/API]
- Tech-Stack: [React/Angular/etc.]
- Test-Framework: [Playwright/Cypress/etc.]
User Story:
"""
[User Story einfügen]
"""
Akzeptanzkriterien:
1. [Kriterium 1]
2. [Kriterium 2]
3. [Kriterium 3]
Grenzen:
- Verwende [Given-When-Then] Format
- Berücksichtige Happy Path + Edge Cases
- Maximal 8 Testfälle
Format:
| ID | Beschreibung | Vorbedingung | Schritte | Erwartetes Ergebnis | Priorität |
Template: Bug-Analyse
Du bist ein erfahrener Test-Manager.
Analysiere folgenden Bug-Report:
Titel: [Bug-Titel]
Beschreibung: [Was ist passiert?]
Schritte: [1..., 2..., 3...]
Erwartet: [Was sollte passieren?]
Tatsächlich: [Was passierte stattdessen?]
Denke Schritt für Schritt:
1. Kategorisiere den Bug (Functional/UI/Performance/Security)
2. Schätze die Schwere (Critical/High/Medium/Low)
3. Identifiziere mögliche Ursachen
4. Empfehle nächste Untersuchungsschritte
5. Schlage vor, welche Tests ergänzt werden sollten
Template: Testdaten generieren
Generiere realistische Testdaten für:
Szenario: [Registrierung/Checkout/etc.]
Anzahl Datensätze: [z.B. 10]
Grenzen:
- Variiere in Länge und Format
- Füge bewusst gültige UND ungültige Daten ein
- Berücksichtige internationale Formate (DE, EN)
- Füge Edge Cases hinzu (leere Strings, Sonderzeichen, Unicode)
Output als JSON:
{
"testData": [
{
"id": "...",
"input": {...},
"expectedValid": true/false,
"edgeCaseType": "..."
}
]
}
System- vs. Benutzer-Prompt
System-Prompt (legt das Verhalten fest):
Du bist ein konservativer Code-Reviewer.
- Markiere jedes Security-Risiko
- Frage bei Unklarheiten nach
- Antworte prägnant
Benutzer-Prompt (konkrete Aufgabe):
Review folgenden API-Endpoint:
[Code]
Merke: System-Prompt = Persönlichkeit, Benutzer-Prompt = Aufgabe.
Zweite Meinung einholen
Nutze ein zweites LLM zur Bewertung:
Bewerte die folgenden Testfälle nach folgenden Kriterien:
Testfälle:
"""
[Generated Test Cases]
"""
Bewertungskriterien (Score 1-5):
1. Vollständigkeit (alle AC abgedeckt?)
2. Klarheit (eindeutige Schritte?)
3. Testbarkeit (automatisiert testbar?)
4. Edge Case Abdeckung
5. Eindeutigkeit der Ergebnisse
Gib für jedes Kriterium:
- Score
- Kurze Begründung
- Verbesserungsvorschläge
Meine Erfahrung: Das klingt nach Overhead, aber bei wichtigen Testfällen lohnt es sich. Die KI findet oft Lücken, die ich übersehen habe.
Prompt-Probleme lösen
| Problem | Lösung |
|---|---|
| Zu unstrukturiert | Format verbessern (Tabelle, JSON, etc.) |
| Zu generisch | Kontext erweitern (mehr Details zur Domain) |
| Falscher Fokus | Aufgabe präzisieren (“Fokussiere auf Security nicht auf UI”) |
| Zu lang | Grenzen hinzufügen (“Max. 5 Punkte, je max. 20 Wörter”) |
| Inkonsistent | One-Shot/Few-Shot mit Beispielen |
Häufige Fehler – und wie ich sie vermeide
| Was ich früher gemacht habe | Was ich jetzt mache |
|---|---|
| ”Teste das" | "Generiere 5 Testfälle für die Login-Funktion im Given-When-Then Format” |
| Kein Kontext | User Story + Akzeptanzkriterien mitliefern |
| Kein Format | Gewünschtes Format explizit definieren |
| Zu komplex auf einmal | Aufgabe in Teil-Schritte zerlegen |
| Einmal prompten → fertig | Iterativ verfeinern: Prompt → Output → Feedback → Verbessert |
Aufgaben zerlegen
Bei komplexen Anfragen:
Schritt 1: Analysiere die User Story und extrahiere:
- Hauptaktionen
- Datenfelder
- Business Rules
Schritt 2: Für jede Hauptaktion:
- Identifiziere Happy Path
- Identifiziere Edge Cases
- Identifiziere Fehlerszenarien
Schritt 3: Formuliere Testfälle:
- Gegeben: [Zustand]
- Wenn: [Aktion]
- Dann: [Erwartung]
Warum das hilft: Die KI bleibt fokussiert und du bekommst bessere Zwischenergebnisse.
Meine Quick Wins
-
Negatives Prompting: Was soll vermieden werden?
Generiere Testfälle. Vermeide: - Zu ähnliche Testfälle - Nicht-testbare Schritte - Vage Formulierungen -
Mehrfach generieren: Drei Varianten holen und vergleichen
Generiere 3 verschiedene Ansätze für Testfälle. Vergleiche sie und empfehle den Besten. -
Prompt optimieren: Das LLM selbst fragen
Verbessere folgenden Prompt für Klarheit: [Dein aktueller Prompt]
Hinweis: Diese Techniken basieren auf meinen persönlichen Erfahrungen mit verschiedenen KI-Tools im Alltag als Tester. Nicht alles funktioniert in jedem Kontext – ausprobieren und anpassen ist der Schlüssel.