Middle
Geef een voorbeeld van hoe je testgevallen zou kiezen voor een PUT-verzoek.
sobes.tech AI
Antwoord van AI
Bij het selecteren van testgevallen voor een PUT-verzoek zou ik me laten leiden door de volgende principes:
-
Positieve scenario's:
- Succesvolle volledige update van een bestaande bron met geldige gegevens.
- Succesvolle gedeeltelijke update van een bestaande bron (als de API dit ondersteunt).
- Bijwerken van de bron met gebruik van grenswaarden voor de velden.
-
Negatieve scenario's:
- Bron niet gevonden op basis van de opgegeven ID.
- Ongeldig formaat van de bron-ID.
- Ongeldig gegevenstype in de velden van het verzoek.
- Ontbrekende verplichte velden in de verzoekbody.
- Onjuist formaat van de verzoekbody (bijvoorbeeld, geen JSON).
- Poging om velden bij te werken die niet gewijzigd mogen worden (bijvoorbeeld, ID, aanmaakdatum).
- Onvoldoende toegangsrechten om de bron bij te werken.
- Concurrerende update van de bron (om de conflictafhandeling te testen).
-
Grensvoorwaarden:
- Maximaal toegestane waarden voor numerieke velden.
- Lege strings voor tekstvelden (indien toegestaan).
- Speciale tekens in tekstvelden.
- Lange strings voor tekstvelden.
-
Controle op bijwerkingen:
- Wijzigingen aan andere gerelateerde bronnen na de update.
- Correcte weergave van de bijgewerkte gegevens in andere delen van het systeem (bijvoorbeeld, in de gebruikersinterface).
Voorbeeld van een testgevalstructuur (voor de user bron met velden id, name, email):
| TestCase ID | Beschrijving | Request URL | Request Body | Verwachte statuscode | Verwacht response body/gedrag |
|---|---|---|---|---|---|
| PUT_USR_001 | Succesvolle volledige update | /users/123 |
{"name": "Nieuwe Naam", "email": "nieuw@voorbeeld.com"} |
200 | Bijgewerkte gebruikersgegevens geretourneerd |
| PUT_USR_002 | Gebruiker niet gevonden | /users/999 |
{"name": "Nieuwe Naam"} |
404 | Foutmelding dat gebruiker niet gevonden is |
| PUT_USR_003 | Ongeldig e-mailformaat | /users/123 |
{"email": "ongeldig-e-mail"} |
400 | Foutmelding dat e-mailformaat ongeldig is |
| PUT_USR_004 | Vereist veld ontbreekt (indien van toepassing) | /users/123 |
{} |
400 | Foutmelding dat veld ontbreekt |
| PUT_USR_005 | Maximaal grenswaarde voor een veld | /users/123 |
{"name": "A" * 255} |
200 | Bijgewerkte gebruikersgegevens met lange naam |
| PUT_USR_006 | Poging om niet-updatable veld bij te werken (id) | /users/123 |
{"id": 456, "name": "Nieuwe Naam"} |
400/403 | Foutmelding dat verzoek verboden of onjuist is |
Natuurlijk hangt de specifieke set testgevallen af van de API-specificatie, de bedrijfslogica en de systeemarchitectuur.