Kategorien

API-Vertrags-Stresstester

Erzeugt Grenzwerttests aus einem OpenAPI-3.x-Dokument und sendet sie optional an ein echtes Backend, um Vertragsabweichungen zu finden.

Fuegen Sie ein OpenAPI-3.x-Dokument in "OpenAPI-Spezifikation" ein. YAML und JSON werden unterstuetzt.

Was benoetigt wird:

  • Ein gueltiges OpenAPI-3.x-Dokument mit paths, parameters, request bodies und responses
  • Optionale Referenzen unter components.schemas fuer Request-Body-Aufloesung
  • Eine optionale Basis-URL, wenn die erzeugten Grenzfaelle an ein echtes Backend gesendet werden sollen

So funktionieren die Felder:

  • OpenAPI-Spezifikation: den vollstaendigen YAML- oder JSON-Vertrag einfuegen
  • Basis-URL: leer lassen fuer reine Fallgenerierung oder etwas wie https://api.example.com eintragen, um Requests auszufuehren
  • Echte Anfragen ausfuehren: sendet erzeugte ungueltige oder Grenzwert-Requests an die Basis-URL
  • Autorisierungsheader: optionaler Rohwert wie Bearer
  • Maximale Faelle pro Feld: begrenzt, wie viele Grenzfaelle je Parameter oder Body-Feld erzeugt werden
  • Request-Timeout (ms): begrenzt die Laufzeit jeder echten Anfrage

Was getestet wird:

  • Fehlende Pflichtfelder
  • Leere, zu kurze und zu lange Strings
  • Ungueltige Enum-Werte
  • Zahlen unter minimum oder ueber maximum
  • Falsche Skalar- oder Array-Typen fuer dokumentierte Felder

Hinweise:

  • Ist "Echte Anfragen ausfuehren" aus, erzeugt das Tool nur einen vertragsbezogenen Testplan.
  • Ist es an, markiert der Bericht, ob jeder beobachtete HTTP-Status in den OpenAPI-Responses dokumentiert ist.
  • Abgedeckt sind path-, query-, header- und JSON-Body-Felder; aktuell liegt der Fokus auf application/json-Request-Bodies.

Beispielergebnisse

1 Beispiele

Grenzfaelle fuer eine Signup-API erzeugen

Prueft minLength-, Enum- und Zahlenregeln vor Mock-Server oder CI-Vertragstests.

{
  "summary": {
    "endpoints": 1,
    "generatedCases": 7,
    "executedCases": 0,
    "mismatches": 0
  },
  "cases": [
    {
      "fieldPath": "body.email",
      "title": "Missing required field"
    },
    {
      "fieldPath": "body.role",
      "title": "Invalid enum member"
    }
  ]
}
Eingabeparameter anzeigen
{ "openApiSpec": "openapi: 3.0.0\npaths:\n /users:\n post:\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n required: [email, role]\n properties:\n email: { type: string, minLength: 5 }\n role: { type: string, enum: [admin, member] }\n age: { type: integer, minimum: 18 }\n responses:\n \"201\": { description: created }\n \"400\": { description: bad request }\n", "executeRequests": false, "maxCasesPerField": 3 }

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

Validierung von Signup- und Login-APIs auf korrekte Fehlerbehandlung bei ungültigen E-Mail-Formaten oder zu kurzen Passwörtern.
Stresstests von Such-Endpunkten mit extremen Paginierungs-Werten oder unerwarteten Filter-Parametern.
Überprüfung von Microservices auf strikte Einhaltung der definierten Datenverträge vor der Integration in das Frontend.

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

development

Verwandte 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.

API-Dokumentation

Request-Endpunkt

POST /de/api/tools/api-contract-stress-tester

Request-Parameter

Parameter-Name Typ Erforderlich Beschreibung
openApiSpec textarea Ja -
baseUrl text Nein -
executeRequests checkbox Nein -
authorizationHeader text Nein -
maxCasesPerField number Nein -
timeoutMs number Nein -

Antwortformat

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON-Daten: JSON-Daten

MCP-Dokumentation

Fügen Sie dieses Tool zu Ihrer MCP-Server-Konfiguration hinzu:

{
  "mcpServers": {
    "elysiatools-api-contract-stress-tester": {
      "name": "api-contract-stress-tester",
      "description": "Erzeugt Grenzwerttests aus einem OpenAPI-3.x-Dokument und sendet sie optional an ein echtes Backend, um Vertragsabweichungen zu finden.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-contract-stress-tester",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Sie können mehrere Tools verketten, z.B.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, maximal 20 Tools.

Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte bei [email protected]