Wichtige Fakten
- Kategorie
- Development
- Eingabetypen
- textarea, text, checkbox, number
- Ausgabetyp
- json
- Sample-Abdeckung
- 4
- API verfügbar
- Yes
Überblick
Der API-Vertrags-Stresstester ist ein Entwicklertool, das automatisch Grenzwerttests aus OpenAPI-3.x-Spezifikationen generiert. Fügen Sie einfach Ihr YAML- oder JSON-Dokument ein, um fehlende Pflichtfelder, ungültige Enum-Werte oder Typenkonflikte zu simulieren. Optional können Sie die generierten Testfälle direkt an ein echtes Backend senden, um Abweichungen zwischen der API-Dokumentation und der tatsächlichen Implementierung schnell und zuverlässig aufzudecken.
Wann verwenden
- •Vor dem Deployment neuer API-Endpunkte, um sicherzustellen, dass die Implementierung exakt der OpenAPI-Spezifikation entspricht.
- •Beim Onboarding neuer Backend-Services, um die Robustheit gegenüber fehlerhaften oder unvollständigen Payloads zu prüfen.
- •Zur automatisierten Generierung von Negativtests für CI/CD-Pipelines ohne manuellen Schreibaufwand.
So funktioniert es
- •Fügen Sie Ihre OpenAPI-3.x-Spezifikation im YAML- oder JSON-Format in das Eingabefeld ein.
- •Legen Sie die maximale Anzahl an Testfällen pro Feld fest und konfigurieren Sie bei Bedarf die Basis-URL sowie den Autorisierungsheader.
- •Aktivieren Sie optional die Ausführung echter Anfragen, um die generierten Payloads direkt gegen Ihr Backend zu testen.
- •Das Tool analysiert das Schema und gibt einen JSON-Bericht mit allen generierten Grenzfällen und erkannten Vertragsabweichungen aus.
Anwendungsfälle
Beispiele
1. Grenzfälle für eine Signup-API erzeugen
Backend-Entwickler- Hintergrund
- Ein neues Registrierungsformular wurde entwickelt und die API-Spezifikation definiert strikte Regeln für E-Mail-Länge, Alter und Benutzerrollen.
- Problem
- Es müssen schnell Negativtests erstellt werden, um zu prüfen, ob die API ungültige Anfragen korrekt ablehnt.
- Verwendung
- Fügen Sie die OpenAPI-Spezifikation für den `/users`-Endpunkt ein und setzen Sie 'Maximale Fälle pro Feld' auf 3. Lassen Sie 'Echte Anfragen ausführen' deaktiviert.
- Beispielkonfiguration
-
executeRequests: false, maxCasesPerField: 3 - Ergebnis
- Das Tool generiert ein JSON-Dokument mit Testfällen, darunter fehlende Pflichtfelder und ungültige Enum-Werte für die Rolle, die für automatisierte Tests genutzt werden können.
2. Live-Vertragstest eines geschützten Endpunkts
QA-Ingenieur- Hintergrund
- Ein Staging-Server hostet eine neue API-Version, die mit einem Bearer-Token gesichert ist. Die Dokumentation wurde aktualisiert.
- Problem
- Es muss verifiziert werden, ob der Staging-Server bei fehlerhaften Payloads die dokumentierten 400-Fehlercodes zurückgibt.
- Verwendung
- Geben Sie die OpenAPI-Spezifikation ein, tragen Sie die Staging-URL als 'Basis-URL' ein, setzen Sie den 'Autorisierungsheader' und aktivieren Sie 'Echte Anfragen ausführen'.
- Beispielkonfiguration
-
baseUrl: "https://staging.api.example.com", executeRequests: true, authorizationHeader: "Bearer abc123token" - Ergebnis
- Das Tool sendet die generierten Grenzfälle an den Staging-Server und liefert einen Bericht, der zeigt, welche Endpunkte vom Vertrag abweichen (z.B. 500 Internal Server Error statt 400 Bad Request).
Mit Samples testen
developmentVerwandte Hubs
FAQ
Welche OpenAPI-Versionen werden unterstützt?
Das Tool unterstützt aktuell OpenAPI-3.x-Dokumente im YAML- oder JSON-Format.
Werden die Testfälle wirklich an meinen Server gesendet?
Nur wenn Sie die Option 'Echte Anfragen ausführen' aktivieren und eine Basis-URL angeben. Andernfalls werden die Testfälle nur lokal generiert.
Wie viele Testfälle werden pro Feld generiert?
Sie können die Anzahl über die Option 'Maximale Fälle pro Feld' zwischen 1 und 6 konfigurieren. Standardmäßig werden 3 Fälle generiert.
Kann ich geschützte APIs testen?
Ja, Sie können im Feld 'Autorisierungsheader' ein Bearer-Token oder einen anderen Authentifizierungs-Header hinterlegen.
Welche Arten von Grenzwerttests werden erstellt?
Das Tool prüft unter anderem fehlende Pflichtfelder, ungültige Enum-Werte, Typenkonflikte sowie Minimum-/Maximum-Verletzungen bei Zahlen und Strings.