Middle
Geef een voorbeeld van hoe je testgevallen zou kiezen voor een PUT-verzoek.
sobes.tech AI
Antwoord van AI
De selectie van testgevallen voor PUT-verzoeken is gericht op het controleren van de correcte update van de bron, het afhandelen van verschillende datatypes en negatieve scenario's.
Voorbeelden van testgevallen:
-
Positief scenario (succesvolle update):
- Bijwerken van de bron met alle geldige velden.
- Bijwerken van de bron met slechts een deel van de geldige velden (indien de API gedeeltelijke updates toestaat).
- Bijwerken van velden met verschillende datatypes (strings, nummers, booleaanse waarden), indien dit in het schema is voorzien.
- Bijwerken van de bron met minimaal toegestane waarden (indien van toepassing).
- Bijwerken van de bron met maximaal toegestane waarden (indien van toepassing).
-
Negatieve scenario's (fouten en uitzonderingen):
- Poging om een niet-bestaande bron bij te werken. Verwachte reactie: 404 Not Found.
- Verzoek zonder body verzenden. Verwachte reactie: 400 Bad Request of 422 Unprocessable Entity.
- Verzoek met ongeldige body-indeling (bijvoorbeeld ongeldige JSON). Verwachte reactie: 400 Bad Request.
- Verzoek met ongeldige datatypes voor velden. Bijvoorbeeld, string in plaats van nummer. Verwachte reactie: 400 Bad Request of 422 Unprocessable Entity.
- Verzoek met verplichte velden die ontbreken in de body. Verwachte reactie: 400 Bad Request of 422 Unprocessable Entity.
- Verzoek met velden die de toegestane lengte of bereik overschrijden. Verwachte reactie: 400 Bad Request of 422 Unprocessable Entity.
- Verzoek met ongeldige waarde in het pad (bijvoorbeeld, ongeldige ID). Verwachte reactie: 400 Bad Request of 404 Not Found.
- Poging om een geblokkeerde of niet-toegankelijke bron bij te werken (indien van toepassing). Verwachte reactie: 403 Forbidden of 409 Conflict.
- Verzoek met onjuiste headers (bijvoorbeeld,
Content-Type). Verwachte reactie: 415 Unsupported Media Type of 400 Bad Request. - Bijwerken met speciale tekens of emoji in tekstvelden.
-
Grensgevallen:
- Velden bijwerken met grenswaarden (bijvoorbeeld, minimale/maximale datum, grensgetallen).
- Velden bijwerken met lege strings of null-waarden (indien toegestaan).
-
Parallelle toegangsscenario's:
- Gelijktijdig proberen hetzelfde bron te updaten vanuit meerdere bronnen (indien relevant voor het systeem).
-
Controle van de gevolgen van de update:
- Controleren of de gegevens correct zijn bijgewerkt in de database of andere systemen.
- Controleren of afhankelijke bronnen of gegevens correct zijn bijgewerkt/veranderd (indien afhankelijkheden bestaan).
- Controleren of een GET-verzoek naar de bijgewerkte bron de actuele gegevens retourneert.
- Controleren of andere operaties (DELETE, POST) met de bijgewerkte bron correct werken.
De criteria voor het selecteren van specifieke testgevallen hangen af van de API-specificatie, zakelijke vereisten, risicobeoordeling en prioriteiten. Testontwerptechnieken zoals equivalente partitionering en grensanalyses worden gebruikt om de meest representatieve invoeropties te bepalen.