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/plainanstelle vonapplication/json).
- Senden der Anfrage mit einem Content-Type, der vom erwarteten abweicht (z.B.
- Leerer Anfragekörper:
- Senden der Anfrage ohne Körper.
- Ungültige Daten:
-
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.