Sobes.tech
Middle

Gib ein Beispiel, wie du Testfälle für eine PUT-Anfrage auswählen würdest.

sobes.tech KI

Antwort von AI

Bei der Auswahl von Testfällen für eine PUT-Anfrage würde ich mich an den folgenden Prinzipien orientieren:

  1. Positive Szenarien:

    • Erfolgreiche vollständige Aktualisierung einer bestehenden Ressource mit gültigen Daten.
    • Erfolgreiche partielle Aktualisierung einer bestehenden Ressource (wenn die API dies unterstützt).
    • Aktualisierung der Ressource unter Verwendung von Grenzwerten für die Felder.
  2. Negative Szenarien:

    • Ressource nicht gefunden durch die angegebene ID.
    • Ungültiges Format der Ressource-ID.
    • Ungültiger Datentyp in den Feldern der Anfrage.
    • Fehlende Pflichtfelder im Anfragetext.
    • Falsches Format des Anfragetexts (z.B. kein JSON).
    • Versuch, Felder zu aktualisieren, die nicht aktualisiert werden dürfen (z.B. ID, Erstellungsdatum).
    • Unzureichende Zugriffsrechte für die Aktualisierung der Ressource.
    • Konkurrierende Aktualisierung der Ressource (zur Überprüfung der Konfliktbehandlung).
  3. Grenzbedingungen:

    • Maximal zulässige Werte für numerische Felder.
    • Leere Strings für Textfelder (falls erlaubt).
    • Spezielle Zeichen in Textfeldern.
    • Lange Strings für Textfelder.
  4. Überprüfung von Nebenwirkungen:

    • Änderung anderer verbundener Ressourcen nach der Aktualisierung.
    • Korrekte Anzeige der aktualisierten Daten in anderen Teilen des Systems (z.B. in der Benutzeroberfläche).

Beispiel für eine Testfallstruktur (für die Ressource user mit den Feldern id, name, email):

Testfall-ID Beschreibung Request-URL Request-Body Erwarteter Statuscode Erwarteter Response-Body / Verhalten
PUT_USR_001 Erfolgreiche vollständige Aktualisierung /users/123 {"name": "Neuer Name", "email": "neu@beispiel.com"} 200 Aktualisierte Benutzerdaten zurückgegeben
PUT_USR_002 Benutzer nicht gefunden /users/999 {"name": "Neuer Name"} 404 Fehlermeldung, dass Benutzer nicht gefunden wurde
PUT_USR_003 Ungültiges E-Mail-Format /users/123 {"email": "ungültige-email"} 400 Fehlermeldung, dass das E-Mail-Format ungültig ist
PUT_USR_004 Fehlendes erforderliches Feld (falls zutreffend) /users/123 {} 400 Fehlermeldung, dass ein Feld fehlt
PUT_USR_005 Maximaler Grenzwert für ein Feld /users/123 {"name": "A" * 255} 200 Aktualisierte Benutzerdaten mit langem Namen
PUT_USR_006 Versuch, ein nicht aktualisierbares Feld zu aktualisieren (id) /users/123 {"id": 456, "name": "Neuer Name"} 400/403 Fehlermeldung, dass die Anfrage verboten ist oder falsch ist

Natürlich hängt die konkrete Menge der Testfälle von der API-Spezifikation, der Geschäftslogik und der Systemarchitektur ab.