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:
-
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.
-
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).
-
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.
-
Ü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.