Middle
Kun je een voorbeeld geven van hoe je testgevallen zou kiezen voor een PUT-verzoek?
sobes.tech AI
Antwoord van AI
Ik zou testgevallen kiezen op basis van het volgende:
-
Succesvolle update:
- Alle velden bijwerken met geldige waarden.
- Een of meerdere velden bijwerken, de rest ongewijzigd laten.
- Velden bijwerken met grenswaarden (indien van toepassing).
-
Onsuccesvolle update (negatieve tests):
- Ongeldige gegevens:
- Onjuist gegevensformaat voor velden (bijvoorbeeld, string in plaats van nummer).
- Waarden die de maximale lengte overschrijden of buiten het toegestane bereik liggen.
- Verplichte velden ontbreken in de request body.
- Niet-bestaand resource:
- PUT-verzoek met een ID dat niet in het systeem bestaat.
- Datal conflict:
- Poging om een resource bij te werken die door een andere gebruiker is gewijzigd (indien versiecontrole of locking wordt gebruikt).
- Gebrek aan rechten:
- Poging om een resource bij te werken zonder de juiste toegangsrechten.
- Validatiefouten:
- Overtreding van bedrijfslogica of databasebeperkingen (bijvoorbeeld, duplicatie van een unieke waarde).
- Verkeerde Content-Type:
- Verzoek verzenden met een Content-Type die verschilt van de verwachte (bijvoorbeeld,
text/plainin plaats vanapplication/json).
- Verzoek verzenden met een Content-Type die verschilt van de verwachte (bijvoorbeeld,
- Leeg request body:
- Verzoek verzenden zonder body.
- Ongeldige gegevens:
-
Grensgevallen:
- Resource bijwerken met de minimale set velden (indien toegestaan).
- Resource bijwerken met de maximale set velden.
- Gedrag controleren bij het verzenden van extra, niet-verwachte velden in de body.
Voorbeeld van testgevalstructuur:
| Geval | Beschrijving | Verwacht resultaat |
|---|---|---|
| Succesvolle update | Alle velden bijwerken met correcte waarden. | 200 OK / 204 No Content (afhankelijk van API) |
| Niet-bestaand ID | Poging om een resource bij te werken met een niet-bestaand ID. | 404 Not Found |
| Ongeldig gegevensformaat | Poging om een numeriek veld bij te werken met een string. | 400 Bad Request |
| Verplicht veld ontbreekt | Verplichte veld ontbreekt in de request body. | 400 Bad Request |
| Gebrek aan rechten | Poging om een resource bij te werken zonder de juiste rechten. | 403 Forbidden |
Voor automatisering zou ik frameworks gebruiken zoals RestAssured (Java), Requests (Python) of Supertest (Node.js) en tools voor het genereren van testgegevens.