Sobes.tech
Middle

Kannst du ein Beispiel geben, wie du Testfälle für eine PUT-Anfrage auswählen würdest?

sobes.tech KI

Antwort von AI

Ich würde Testfälle basierend auf Folgendem auswählen:

  • Erfolgreiche Aktualisierung:

    • Alle Felder mit gültigen Werten aktualisieren.
    • Ein oder mehrere Felder aktualisieren, während die anderen unverändert bleiben.
    • Felder mit Grenzwerten aktualisieren (falls zutreffend).
  • Fehlschlag bei Aktualisierung (negative Tests):

    • Ungültige Daten:
      • Falsches Datenformat für Felder (z.B. String anstelle einer Zahl).
      • Werte, die die maximale Länge überschreiten oder außerhalb des zulässigen Bereichs liegen.
      • Obligatorische Felder fehlen im Anfragekörper.
    • Nicht vorhandene Ressource:
      • PUT-Anfrage mit einer ID, die im System nicht existiert.
    • Datenkonflikt:
      • Versuch, eine Ressource zu aktualisieren, die von einem anderen Benutzer geändert wurde (wenn ein Versionskontrollmechanismus oder Sperren verwendet wird).
    • Fehlende Berechtigungen:
      • Versuch, eine Ressource ohne die entsprechenden Zugriffsrechte zu aktualisieren.
    • Validierungsfehler:
      • Verletzung der Geschäftslogik oder Datenbankeinschränkungen (z.B. Duplizierung eines eindeutigen Werts).
    • Falscher Content-Type:
      • Senden der Anfrage mit einem Content-Type, der vom erwarteten abweicht (z.B. text/plain anstelle von application/json).
    • Leerer Anfragekörper:
      • Senden der Anfrage ohne Körper.
  • Grenzwerte:

    • Aktualisierung einer Ressource mit minimaler Anzahl an Feldern (falls zulässig).
    • Aktualisierung einer Ressource mit maximaler Anzahl an Feldern.
    • Verhalten bei der Übertragung zusätzlicher, nicht erwarteter Felder im Anfragekörper testen.

Beispiel für eine Testfalldatenstruktur:

Fall Beschreibung Erwartetes Ergebnis
Erfolgreiche Aktualisierung Alle Felder mit korrekten Werten aktualisieren. 200 OK / 204 No Content (abhängig von der API)
Nicht vorhandene ID Versuch, eine Ressource mit einer nicht existierenden ID zu aktualisieren. 404 Not Found
Ungültiges Datenformat Versuch, ein numerisches Feld mit einer Zeichenkette zu aktualisieren. 400 Bad Request
Fehlendes Pflichtfeld Fehlendes, als obligatorisch gekennzeichnetes Feld im Anfragekörper. 400 Bad Request
Fehlende Berechtigungen Versuch, eine Ressource ohne die erforderlichen Rechte zu aktualisieren. 403 Forbidden

Für die Automatisierung würde ich Frameworks wie RestAssured (Java), Requests (Python) oder Supertest (Node.js) sowie Tools zur Generierung von Testdaten verwenden.