Eine Teststrategie auswählen
Mit KI-Agenten erstellt und gepflegt. Menschen verantworten Prüfung und Veröffentlichung.
Vorschlag · menschliche Prüfung erforderlich · r1
Tests auf drei unabhängigen Achsen beschreiben
Ein Agent sollte angeben, was er über das System weiß, welche Grenze er prüft und welchen Fehler er sucht. Das sind unterschiedliche Entscheidungen. Ein Black-Box-Test kann gewöhnliche Funktionalität, Leistung oder Sicherheit prüfen; der Begriff bedeutet nicht Penetrationstest.
| Achse | Möglichkeiten | Aussage für das Review |
|---|---|---|
| Verfügbares Wissen | Black Box: beobachtbare Schnittstellen; Gray Box: ausgewählte Interna oder Instrumentierung; White Box: Code und interne Pfade | Welche Informationen den Testentwurf beeinflusst haben und welche blinden Flecken bleiben |
| Geprüfte Grenze | Unit-, Integrations-, Verbraucher-/Anbieter-Vertrags- oder Ende-zu-Ende-Test | Wie viel vom tatsächlichen System beteiligt ist und wo sich Fehler eingrenzen lassen |
| Ziel | Funktionale Korrektheit, Sicherheit, Leistung, Wiederherstellung, Barrierefreiheit, Kompatibilität | Welches Risiko das Ergebnis abdeckt; Erfolg bei einem Ziel beweist kein anderes |
Beispielsweise kann ein Black-Box-API-Test prüfen, dass zwei identische Kaufanfragen genau ein fachliches Ergebnis erzeugen. Ein White-Box-Unit-Test kann jeden Wiederholungszweig untersuchen. Ein Gray-Box-Integrationstest kann zusätzlich Transaktion und Outbox prüfen. Diese Nachweise ergänzen einander. Dokumentiere die lokale Terminologie, wenn „Integration“ oder „Vertrag“ im Team anders definiert werden.
Aus Änderung und Folgen auswählen
Die folgende Matrix ist die empfohlene Ausgangsrichtlinie dieser Bibliothek und keine überall verpflichtende Testsuite. Ergänze oder entferne Prüfungen mit einer nachvollziehbaren Risikobegründung.
| Änderung oder Risiko | Nützliche erste Prüfungen | Weitergehende Prüfung und Abnahmenachweis |
|---|---|---|
| Dokumentation oder Übersetzung | Bedeutung, Begriffe, Links, Sprachparität | Geänderte Darstellung bei Layout- oder Navigationsänderungen rendern; keine neue Laufzeitsuite für harmlose Formulierungskorrekturen |
| Fachliche Berechnung oder Zustandsübergang | Unit-Beispiele, Grenzen, ungültige Eingaben; eigenschaftsbasierte Fälle für echte Invarianten | Zeigen, dass eine verletzende Eingabe scheitert; Integrationstest, falls Persistenz oder externer Zustand zur Korrektheit gehören |
| Datenbankschema oder Transaktion | Integration mit echter Datenbank, Constraints, Parallelität, Migrationskompatibilität | Repräsentative Datenmenge, Sperren, Neustart/Fortsetzung und Wiederherstellung; bisher unterstützte Verbraucher bleiben kompatibel |
| API- oder Ereignisschema | Erzeuger-/Verbraucherverträge und Kompatibilität | Echte Serialisierung und Übertragung; ungültige Eingaben ohne unerwünschte Effekte abweisen |
| Nutzerablauf oder Frontendzustand | Komponententests und wenige Browserabläufe über öffentliche Semantik | Lade-, Leer-, Fehler-, Abbruch-, Tastatur- und schmale Ansichten; echte Browserereignisse prüfen |
| Authentifizierung, Rechte, Mandantengrenzen | Richtlinienprüfungen plus unberechtigte API-/Objektzugriffe mit verschiedenen Identitäten | Ungeprüfte Eintrittspunkte untersuchen und gezielte Sicherheitstests durchführen; Ablehnung legt keine geschützten Daten offen und hat keine unerlaubte Wirkung |
| Worker, Zahlung oder dauerhafter Workflow | Integrationsfälle für Duplikate, Reihenfolgeänderung, Timeout und Absturzgrenzen | Beabsichtigte Effekte nach Wiederholung/Neustart abgleichen; nötigenfalls Anbieter-Sandbox prüfen |
| Parallelität, Caching, Planung, Kapazität | Funktionale Prüfungen unter Parallelität und eine gemessene Basis | Last-, Stress-, Spitzenlast- oder Dauertest nach Leistungsleitfaden wählen; Korrektheit und begrenzte Wiederherstellung erhalten |
| Modell, Prompt, Retrieval, Werkzeug oder Agentenrichtlinie | Versionierte Aufgabenbewertungen, Angriffsfälle, deterministische Richtlinienprüfungen | Mit zurückgehaltenen Fällen vergleichen, tatsächliche Werkzeugwirkungen prüfen, stochastische Fälle wiederholen und Streuung berichten |
Erst planen, dann Werkzeuge wählen
Schreibe ein kurzes Testpaket: betroffene Anforderung, Fehlerhypothese, Wissensmodell, Grenze und Ziel, Testdaten und Umgebung, erwartete Ergebnisse, sichere Ausführungsgrenzen und aufzubewahrende Belege. Daraus folgt das Werkzeug. Browsertreiber, HTTP-Client, Eigenschaftsgenerator, Lastgenerator, Scanner und menschliches Review beobachten jeweils andere Dinge.
Nutze die kleinste Grenze, an der der Fehler sichtbar wird. Ergänze eine realistische Schnittstellenprüfung, wenn Ersatzimplementierungen den Fehler verbergen könnten. Eine Datenbankattrappe kann keinen echten Eindeutigkeits-Constraint beweisen, ein simuliertes Browserereignis keine native Browserunterstützung. Kontrolliere externe Anbieter in deterministischen Tests. Kennzeichne Sandbox-Kompatibilität getrennt von einer simulierten Antwort.
Halte Testdaten unabhängig und reproduzierbar. Kontrolliere relevante Uhren und Zufallsquellen, dokumentiere Startwerte und trenne Konten, Mandanten, Zustand und Bereinigung. Teile kein veränderliches Testkonto zwischen parallelen Läufen, sofern nicht gerade diese Parallelität untersucht wird. Schütze Testdaten und Traces wie andere Daten. Kopiere keine Produktionsdatensätze bloß für realistischere Tests.
Widerlegbare Prüfungen formulieren
Prüfe relevante Ausgaben, gespeicherten Zustand und verbotene Effekte. Ein erfolgreicher HTTP-Status beweist nicht, dass das richtige Objekt zurückgegeben wurde. Ein Autorisierungstest sollte eine erlaubte und eine abgewiesene Aktion ausführen und anschließend prüfen, dass die Ablehnung den geschützten Zustand nicht verändert hat.
Zeige bei einer folgenreichen Korrektur, dass der Test den ursprünglichen Fehler oder eine absichtlich beschädigte lokale Variante erkennt. Nutze gegebenenfalls Grenzwerte und Äquivalenzklassen. Eigenschaftsbasierte Tests untersuchen eine definierte Invariante; ihre Aussage hängt weiterhin von dieser Invariante und dem Eingabemodell ab. Abdeckung kann nicht besuchte Codepfade zeigen, aber hohe Abdeckung beweist weder richtige Anforderungen noch vollständige Sicherheitsgrenzen.
Entscheiden, wann die Nachweise reichen
Stoppe die betroffene Veröffentlichung, wenn Pflichtchecks fehlschlagen, das Ziel außerhalb des genehmigten Umfangs liegt, Testdaten ihre Grenze verlassen oder eine folgenreiche Behauptung unbelegt bleibt. Berichte Lücken und Unsicherheit. Ein Mensch kann ein dokumentiertes, befristetes Restrisiko annehmen; ein Agent darf eine nicht ausgeführte Prüfung nicht als bestanden bezeichnen.
Fertig bedeutet, dass nachvollziehbare Ergebnisse, bekannte Grenzen und ein Wiederherstellungsplan das vereinbarte Verhalten stützen. Bewahre getestete Revision, Konfiguration, Testdatenversion, Befehle, Ergebnisse und relevante Traces auf; entferne sensible Werte. Ergänze weitere Tests, wenn eine neue Fehlerhypothese dies rechtfertigt, statt dieselbe grüne Suite endlos zu wiederholen.
Belege und verwandte Entscheidungen
Drei-Achsen-Modell und Auswahlmatrix sind eigenständige lokale Zusammenführungen. OWASP behandelt Autorisierungsprüfungen auf mehreren Ebenen; Playwright stützt isolierte Tests sichtbaren Browserverhaltens; PostgreSQL beschreibt Parallelitätseigenschaften, die echte Datenbankprüfungen untersuchen müssen. Diese Quellen zertifizieren nicht jede Zelle der Matrix.
Qualitätsprüfungen · Leistungs- und Stresstests · Sicherheitstests · Daten und Migrationen · Beständigkeit
Primärbelege
owasp-authorization · owasp-ai-agent · playwright-testing · postgres-isolation · owasp-multi-tenant