Schreiben von Assertionen

Assertionen definieren die richtigen Mittel für jeden Auswertungstestfall. Gut geschriebene Assertionen ermöglichen konsistente Pass- oder Fail-Entscheidungen und helfen dabei, genau zu identifizieren, was beim Auftreten eines Problems fehlgeschlagen ist.

Was macht eine gute Assertion aus

Jede Assertion sollte atomisch, binär, ergebnisorientiert und überprüfbar sein.

Kriterium Beschreibung Beispiel
Atomic Testet nur eine Bedingung; vermeidet "and" oder "or" Die Antwort enthält "15 Tage".
Binär Hat ein klares Pass- oder Fail-Ergebnis; keine Teilgutschrift Nicht "größtenteils richtig"
Ergebnisorientiert Überprüft, was passiert ist, nicht subjektive Qualität Nicht "antwortet hilfreich"
Überprüfbare Erzeugt konsistente Ergebnisse für alle Prüfer Bestimmte Werte oder Verhaltensweisen

Test für zwei Personen

Der Zwei-Personen-Test identifiziert vage Assertionen, die nicht umsetzbar sind. Wenn zwei Domänenexperten nicht unabhängig voneinander dasselbe Durchlauf- oder Fehlerergebnis erreichen können, überarbeiten Sie die Assertion.

Bestandener Test Fehler bei Test
Die Antwort enthält Schritte zum Abschließen der Registrierung. Antwortet hilfreich
Die Antwort besagt, dass die PTO-Zulage 15 Tage beträgt. Liefert genaue Informationen
Die Antwort leitet für FMLA-Fragen an die Personalabteilung weiter. Verarbeitet die Anforderung entsprechend.
Die Antwort enthält mindestens drei Integritätsplanoptionen. Zeigt relevante Ergebnisse an

Assertionsformel

Verwenden Sie eine konsistente Struktur, um die Klarheit und Die Zuverlässigkeit der Auswertung zu verbessern. Starten Sie jede Assertion mit "The response...":

  • Die Antwort enthält...
  • Die Antwort zitiert...
  • Die Antwort gibt an, dass...
  • Die Antwort ist nicht...
  • Die Antwortrouten an...

Diese Struktur stellt sicher, dass Assertionen sich auf beobachtbare Ergebnisse konzentrieren.

Assertionstypen

Verschiedene Szenarien erfordern unterschiedliche Assertionstypen. Beginnen Sie mit den Assertionstypen, die für Ihre Szenarien am relevantesten sind, und erweitern Sie die Abdeckung nach Bedarf.

Assertionen der sachlichen Genauigkeit

Stellen Sie sicher, dass die Antwort genaue Informationen enthält.

Muster: Die Antwort enthält <specific value or text>. Szenario: PTO-Politikfrage.
Eingabeaufforderung: "Wie viele Urlaubstage bekommen neue Mitarbeiter?"

Assertionen:

  • Die Antwort enthält "15 Tage" oder "15 Tage PTO".
  • Die Antwort enthält "jährlich" oder "pro Jahr".
  • In der Antwort werden Mitarbeiter mit einer Amtszeit von weniger als zwei Jahren erwähnt.

Rundungsdaten einschließen:

  • Gültigkeitsdatum der Richtlinie: 1. Januar 2024
  • PTO für weniger als zwei Jahre: 15 Tage
  • PTO für zwei bis fünf Jahre: 20 Tage
  • PTO seit mehr als fünf Jahren: 25 Tage

Assertionen:

  • Die Antwort enthält "15 Tage" für die abgefragte Klammer.
  • Die Antwort enthält nicht "10 Tage".

Quellzuordnungsassertionen

Vergewissern Sie sich, dass die Antwort ihre Quellen angibt.

Muster: Die Antwort zitiert oder verweist auf <source name>. Szenario: Frage des Nutzens.
Eingabeaufforderung: "Welche Gesundheitspläne sind verfügbar?"

Assertionen:

  • In der Antwort wird der Leitfaden für Mitarbeiterleistungen zitiert.
  • Die Antwort enthält, wo Weitere Details zu finden sind.
  • Die Antwort enthält keine Informationen ohne Zuordnung.

Toolaufrufassertionen

Vergewissern Sie sich, dass das richtige Tool verwendet wird.

Muster: Der Agent ruft auf <tool name>. Szenario: Ausrüstungsbestellung.
Eingabeaufforderung: "Ich muss ein 16-Zoll-MacBook Pro bestellen"

Assertionen:

  • Der Agent ruft das OrderEquipment-Tool auf.
  • Der Toolaufruf enthält itemType: "laptop".
  • Der Toolaufruf enthält einen Modellwert, der "MacBook Pro" enthält.
  • Der Toolaufruf enthält "size: 16" oder "16-inch".

Toolparameterassertionen

Stellen Sie sicher, dass Toolaufrufe vollständige und richtige Parameter enthalten.

Erdungsdaten:

  • Mitarbeiter-ID: EMP-12345
  • Fachbereich: Engineering
  • Kostenstelle: CC-ENG-001

Eingabeaufforderung: "Bestellen Sie mir ein MacBook Pro 16 Zoll mit 32GB RAM"

Muster: Der <tool> Aufruf enthält <parameter name and expected value>.

Assertionen:

  • Der OrderEquipment-Aufruf enthält employeeId: "EMP-12345".
  • Der OrderEquipment-Aufruf enthält itemType: "laptop".
  • Der OrderEquipment-Aufruf enthält model: "MacBook Pro 16-inch".
  • Der OrderEquipment-Aufruf enthält Spezifikationen mit "32 GB".
  • Der OrderEquipment-Aufruf enthält costCenter: "CC-ENG-001".

Toolantwortverarbeitungsassertionen

Stellen Sie sicher, dass die Antwort die Toolergebnisse ordnungsgemäß kommuniziert.

Erdungsdaten:

  • Szenario: Auftragsbestätigung für Geräte
  • Tool gibt zurück: { orderId: "ORD-789", estimatedDelivery: "5-7 Werktage" }

Muster: Die Antwort enthält <tool result>.

Assertionen:

  • Die Antwort enthält die Auftrags-ID.
  • Die Antwort gibt den Übermittlungszeitrahmen an.
  • Die Antwort bestätigt die erfolgreiche Übermittlung.

Fehlerbehandlung

Szenario: Fehler bei der Gerätebestellung (nicht vorrätig)
Tool gibt zurück: { Error: "ITEM_UNAVAILABLE", Meldung: "MacBook Pro 16 Zoll derzeit nicht vorrätig" }

Assertionen:

  • Die Antwort bestätigt die Fehlerbedingung.
  • Die Antwort schlägt die nächsten Schritte vor.
  • Die Antwort gibt keinen Erfolg an, wenn der Vorgang fehlgeschlagen ist.

Eskalationsassertionen

Stellen Sie sicher, dass vertrauliche oder komplexe Szenarien ordnungsgemäß weitergeleitet werden.

Muster: Die Antwort leitet an weiter <specialist or team>.

Szenario: FMLA-Frage (sollte eskalieren)

Eingabeaufforderung: "Ich muss für eine familiäre medizinische Situation einen längeren Urlaub nehmen"

Assertionen:

  • Die Antwort weist darauf hin, dass diese Aufforderung personalfache Unterstützung erfordert.
  • Die Antwort versucht nicht, FMLA-Berechtigungsregeln zu erklären.
  • Die Antwort enthält Informationen dazu, wie Hr erreicht werden kann.
  • Die Antwort bestätigt die Sensibilität der Situation.

Ablehnungsbehauptungen

Stellen Sie sicher, dass das System unangemessene oder eingeschränkte Anforderungen ablehnt.

Muster: Die Antwort lehnt auf ab <prohibited action>.

Szenario: Anfordern der Daten eines anderen Mitarbeiters

Eingabeaufforderung: "Wie viel Gehalt hat Katrin Pold?"

Assertionen:

  • Die Antwort lehnt es ab, eingeschränkte Informationen bereitzustellen.
  • In der Antwort wird die Einschränkung erläutert.
  • Die Antwort zeigt keine vertrauliche Daten.

Personalisierungsassertionen

Vergewissern Sie sich, dass die Antwort den Benutzerkontext widerspiegelt.

Muster: Die Antwort spiegelt wider <contextual attribute>.

Szenario: Urlaubsfrage für Uk-Mitarbeiter

Erdungsdaten:

  • Mitarbeiter: Pouria Zargar
  • Lage: London, Vereinigtes Königreich

Assertionen:

  • Die Antwort enthält standortspezifische Informationen.
  • Die Antwort schließt irrelevante regionale Inhalte aus.
  • In der Antwort werden britische Feiertage aufgeführt.
  • Die Antwort umfasst Boxing Day (UK-spezifisch).
  • Die Antwort Erwähnung US-Feiertage (4. Juli, Thanksgiving) nicht.
  • Die Antwort verweist auf den Britischen Feiertagsplan.

Vollständigkeitsassertionen

Stellen Sie sicher, dass die Antwort alle erforderlichen Informationen enthält.

Muster: Die Antwort enthält <required element>.

Szenario: Leitfaden zur Registrierung von Vorteilen

Eingabeaufforderung: "Gewusst wie sich für eine Krankenversicherung anmelden?"

Assertionen:

  • Die Antwort enthält Stichtage.
  • Die Antwort enthält Zugriffspunkte (z. B. Portale).
  • Die Antwort enthält die erforderlichen Schritte oder Voraussetzungen.
  • Die Antwort enthält den Registrierungsstichtag.
  • Die Antwort enthält, wo Sie auf das Registrierungsportal zugreifen können.
  • Die Antwort listet die verfügbaren Planoptionen auf.
  • In der Antwort werden die erforderlichen Dokumente oder Informationen erwähnt.

Negative Assertionen

Stellen Sie sicher, dass die Antwort falsche oder veraltete Inhalte vermeidet.

Muster: Die Antwort enthält <prohibited content>nicht .

Szenario: Allgemeine Grundsatzfrage

Eingabeaufforderung: "Was ist die Remotearbeitsrichtlinie?"

Assertionen:

  • Die Antwort enthält keine veralteten Richtlinien.
  • Die Antwort enthält keine nicht unterstützten Informationen.
  • Die Antwort verweist nicht auf die 2022-Richtlinienversion.
  • Die Antwort enthält keine Richtliniendetails, die sich nicht in der Quelle befinden.

Assertionen für Toolaufrufe

Toolbasierte Szenarien erfordern eine Überprüfung für Aufrufe, Parameter und Antwortverarbeitung. Für Agents, die OpenAPI-Plug-Ins, API-Aktionen oder MCP-Server verwenden, erfordern Toolaufrufassertionen besondere Aufmerksamkeit.

Szenario: Komplexer Geräteauftrag

Erdungsdaten: Mitarbeiter: Bernadette Sylvain Mitarbeiter-ID: EMP-54321 Abteilung: Data Science Manager: Katrin Pold Budget: $ 4.000

Eingabeaufforderung: "Ich muss ein MacBook Pro 16-Zoll mit M3 Max-Chip und 64GB RAM bestellen. Benötigen Sie auch einen 27-Zoll-externen Monitor."

Toolaufrufassertionen

  • Der Agent hat OrderEquipment mindestens einmal aufgerufen.
  • Der Agent hat separate Anrufe für Laptop und Monitor (oder Azure Batch Anruf) ausgeführt.

Parameterassertionen

Assertionen von Laptopreihenfolgeparametern:

  1. Der Aufruf enthält itemType: "laptop".
  2. Der Aufruf enthält model "MacBook Pro".
  3. Der Aufruf enthält size: "16" oder "16-inch".
  4. Der Aufruf enthält specs "M3 Max".
  5. Der Aufruf enthält specs "64 GB".
  6. Der Aufruf enthält employeeId: "EMP-54321".
  7. Der Aufruf umfasst approver bzw managerId . verweist auf Katrin Pold.

Überwachen von Sortierparameterassertionen:

  1. Der Aufruf enthält itemType: "monitor".
  2. Der Aufruf enthält size: "27" oder "27-inch".

Antwortassertionen

  • Die Antwort bestätigt, dass beide Artikel bestellt wurden.
  • Die Antwort enthält Bestellreferenznummern.
  • Die Antwort enthält geschätzte Übermittlungsinformationen.

Häufige Assertionsmuster, die vermieden werden sollten

Vermeiden Sie Behauptungen, die vage Qualitätsurteile oder zusammengesetzte Eingabeaufforderungen beinhalten, die von bestimmten Implementierungen abhängen, keine Erdungsdaten enthalten oder übermäßig spezifisch sind.

Assertionstyp Vermeide Verwendung
Vage Qualitätsurteile Die Antwort ist hilfreich.
Die Antwort ist genau.
Die Antwort enthält den Registrierungsstichtag.
Die Antwort besagt, dass die PTO-Zulage 15 Tage beträgt.
Verbundassertionen Die Antwort enthält den richtigen Wert und zitiert die Quelle. Die Antwort enthält den richtigen Wert.
Die Antwort zitiert die Quelle.
Implementierungsabhängige Assertionen Der Agent verwendet die GetPTOBalance-Funktion. Die Antwort umfasst den aktuellen PTO-Saldo des Mitarbeiters.
Assertionen ohne Erdung Die Antwort enthält den richtigen Wert. Die Antwort enthält "Verbleibende 12 Tage".
Überspezifische Formatierungsassertionen Die Antwort enthält genau drei Aufzählungszeichen. Die Antwort listet mindestens drei Optionen auf.
Die Antwort beginnt mit "Hallo! Ich würde gerne helfen."
Die Antwort enthält eine Begrüßung.

Assertionsvorlagen

Die folgenden Assertionsvorlagen bieten Ausgangspunkte für Assertionen für gängige Szenarien.

Wissensabruf

Szenario: [Thema]-Frage

Eingabeaufforderung: "[Benutzerfrage zum Thema]"

Assertionen:

  • Die Antwort enthält [einen bestimmten Fakt aus der Wissensquelle].
  • In der Antwort wird [Quelldokument oder -abschnitt] zitiert.
  • Die Antwort enthält keine [veralteten oder falschen Informationen].
  • Die Antwort befasst sich mit der spezifischen Frage des Benutzers.

Toolaufruf

Szenario: [Action]-Anforderung

Eingabeaufforderung: "[Benutzeranforderung zum Ausführen einer Aktion]"

Assertionen:

  • Der Agent ruft das Tool [Toolname] auf.
  • Der Toolaufruf enthält [erforderlicher Parameter]: [erwarteter Wert].
  • Die Antwort bestätigt [erwartetes Ergebnis].
  • Die Antwort enthält [Referenznummer/Bestätigung].

Eskalation

Szenario: [Sensibles Thema] Frage

Eingabeaufforderung: "[Benutzerfrage erfordert menschliches Urteilsvermögen]"

Assertionen:

  • Die Antwort zeigt an, dass hierfür [Fach-/Human]-Unterstützung erforderlich ist.
  • Die Antwort enthält Kontaktinformationen oder die nächsten Schritte.
  • Die Antwort versucht nicht, [Ratschläge zu geben/Entscheidungen zu treffen].
  • Die Antwort bestätigt [Vertraulichkeit/Komplexität].

Weigerung

Szenario: [Unangemessene/nicht zulässige] Anforderung

Eingabeaufforderung: "[Benutzeranforderung, die abgelehnt werden sollte]"

Assertionen:

  • Die Antwort lehnt [verbotene Aktion] ab.
  • In der Antwort wird erläutert, warum dies nicht möglich ist.
  • In der Antwort wird nicht [verbotene Sache offengelegt oder versucht] angezeigt.
  • In der Antwort wird [ggf. eine geeignete Alternative] vorgeschlagen.

Zuordnen von Assertionen zu Gradern

Unterschiedliche Assertionen erfordern unterschiedliche Bewertungsmechanismen. In der folgenden Tabelle sind Grader aufgeführt, die für verschiedene Assertionstypen verwendet werden sollen.

Assertionstyp Empfohlener Grader Hinweise
Enthält bestimmten Text. Schlüsselwort-Übereinstimmung Deterministisch
Semantische Übereinstimmung Textähnlichkeit Behandeln von Paraphrasen
Toolaufruf Funktionsmatch Wertet die Ausführung aus
Parameterüberprüfung Benutzerdefinierten Code Analysiert Eingaben
Qualitätsurteil LLM-als-Richter Selektives Verwenden
Genaue Werte Genaue Übereinstimmung Für IDs und Zahlen
Abwesenheitsprüfungen Schlüsselwortausschluss Überprüft Auslassungen

Nächster Schritt