Wichtige Fakten
- Kategorie
- Entwicklung & Web
- Eingabetypen
- textarea, text, checkbox, number
- Ausgabetyp
- json
- Sample-Abdeckung
- 4
- API verfügbar
- Yes
Überblick
Der API-Contract-Mutation-Tester analysiert Ihre OpenAPI-3.x-Spezifikation und generiert gezielte semantische Mutationen für Request-Felder, um die defensive Validierung Ihres Backends zu prüfen. Durch das Einfügen von riskanten Werten wie fehlenden Pflichtfeldern, negativen Zahlen oder Sonderzeichen deckt das Tool Schwachstellen in der API-Härtung auf. Sie können die mutierten Anfragen entweder als Offline-Plan exportieren oder direkt gegen eine echte Basis-URL ausführen, um sofort zu sehen, ob Ihr Backend die fehlerhaften Payloads erfolgreich abwehrt.
Wann verwenden
- •Wenn Sie die Robustheit und defensive Validierung einer neuen API-Schnittstelle vor dem produktiven Einsatz testen möchten.
- •Um zu überprüfen, ob Ihr Backend fehlende Pflichtfelder, ungültige Enums oder fehlerhafte Datentypen korrekt ablehnt.
- •Wenn Sie sicherstellen müssen, dass alle von der API zurückgegebenen Fehlercodes in der OpenAPI-Spezifikation dokumentiert sind.
So funktioniert es
- •Fügen Sie Ihre OpenAPI-3.x-Spezifikation im YAML- oder JSON-Format in das Textfeld ein.
- •Geben Sie optional eine Basis-URL und einen Autorisierungsheader an, um die Mutationen direkt gegen ein echtes Backend auszuführen.
- •Legen Sie die maximale Anzahl der Mutationen pro Feld und das Request-Timeout fest.
- •Starten Sie den Test, um einen detaillierten Bericht zu erhalten, der zeigt, welche Mutationen vom Backend abgewehrt oder fälschlicherweise akzeptiert wurden.
Anwendungsfälle
Beispiele
1. Prüfung eines Signup-Endpunkts auf fehlende Validierung
Backend-Entwickler- Hintergrund
- Ein neuer Registrierungs-Endpunkt wurde implementiert und dokumentiert. Es muss sichergestellt werden, dass ungültige Eingaben nicht zu Serverfehlern oder falschen Datenbankeinträgen führen.
- Problem
- Manuelles Testen aller Randfälle wie fehlende E-Mail, negatives Alter oder falsche Rollen ist zeitaufwändig und fehleranfällig.
- Verwendung
- Fügen Sie die OpenAPI-Spezifikation des Endpunkts ein, setzen Sie die Mutationen pro Feld auf 3 und lassen Sie das Tool den Offline-Plan generieren.
- Beispielkonfiguration
-
mutationsPerField: 3, executeMutations: false - Ergebnis
- Das Tool generiert spezifische Mutationen, darunter das Entfernen der E-Mail-Adresse und das Einfügen negativer Zahlen für das Alter, die als Testfälle genutzt werden können.
2. Live-Test der defensiven API-Härtung
QA-Ingenieur- Hintergrund
- Vor einem Release soll die Staging-Umgebung auf Robustheit gegen fehlerhafte Payloads geprüft werden.
- Problem
- Es ist unklar, ob das Backend alle in der Spezifikation definierten Einschränkungen wie Enum-Werte oder minimale Längen tatsächlich durchsetzt.
- Verwendung
- Fügen Sie die OpenAPI-Spezifikation ein, tragen Sie die Staging-URL als Basis-URL ein, fügen Sie den Bearer-Token hinzu und aktivieren Sie 'Mutationen ausführen'.
- Beispielkonfiguration
-
baseUrl: https://staging-api.example.com, executeMutations: true, authorizationHeader: Bearer abc123xyz - Ergebnis
- Der Bericht zeigt genau, welche fehlerhaften Requests mit einem Erfolgsstatus beantwortet wurden ('accepted') und wo die Validierung nachgebessert werden muss.
Mit Samples testen
developmentVerwandte Hubs
FAQ
Welche OpenAPI-Versionen werden unterstützt?
Das Tool unterstützt OpenAPI-3.x-Dokumente im YAML- oder JSON-Format.
Werden die mutierten Requests wirklich an mein Backend gesendet?
Nur wenn Sie eine Basis-URL angeben und die Option 'Mutationen ausführen' aktivieren. Andernfalls wird nur ein Offline-Plan generiert.
Was bedeutet der Status 'defended' im Ergebnis?
'Defended' bedeutet, dass Ihr Backend die mutierte, fehlerhafte Anfrage korrekt erkannt und abgelehnt hat.
Wie viele Mutationen werden pro Feld generiert?
Sie können die Anzahl der Mutationen pro Feld über die Einstellungen begrenzen. Standardmäßig sind es 3, maximal 6.
Kann ich APIs testen, die eine Authentifizierung erfordern?
Ja, Sie können im Feld 'Autorisierungsheader' einen gültigen Token (z. B. Bearer <token>) übergeben.