Middle
Geef een voorbeeld van hoe je testgevallen zou kiezen voor een PUT-verzoek.
sobes.tech AI
Antwoord van AI
Voor het selecteren van testgevallen voor de PUT-aanvraag, zou ik de volgende benaderingen toepassen, gericht op verschillende aspecten:
-
Geldige gegevens:
- Aanmaken / wijzigen van een record met correcte, volledige gegevens.
- Alleen sommige velden wijzigen, de rest blijft ongewijzigd.
- Alle velden wijzigen naar nieuwe, geldige waarden.
- Gebruik van grenswaarden voor numerieke velden (minimum, maximum).
- Gebruik van verschillende datumnotaties die door de specificatie worden toegestaan (bijvoorbeeld datum, tijd).
-
Ongeldige gegevens:
- Gegevens verzenden met een onjuist veldtype (bijvoorbeeld string in plaats van nummer).
- Gegevens verzenden die de beperkingen voor de lengte van de string of het bereik van het nummer overschrijden.
- Gegevens verzenden die de uniekheid van het veld schenden (indien van toepassing).
- Gegevens verzenden met een onjuist formaat (ongeldige datum, email).
- Verplichte velden ontbreken.
- Lege strings of null verzenden voor velden die niet leeg mogen zijn.
-
Bestaan van de bron:
- PUT-verzoek naar een bestaande bron.
- PUT-verzoek naar een niet-bestaande bron (verwacht antwoord 404).
-
Autorisatie en authenticatie:
- PUT-verzoek met correcte inloggegevens van een gebruiker die het recht heeft om de bron te wijzigen.
- PUT-verzoek met onjuiste of afwezige inloggegevens (verwacht 401 Niet geautoriseerd of 403 Verboden).
- PUT-verzoek van een gebruiker zonder de benodigde rechten om deze bron te wijzigen (verwacht 403 Verboden).
-
Synchronisatie en gelijktijdigheid:
- Gelijktijdige PUT-verzoeken naar dezelfde bron (bijvoorbeeld met behulp van etag).
-
Foutafhandeling:
- PUT-verzoek dat een fout op de serverzijde moet veroorzaken (bijvoorbeeld door een interne storing).
Voorbeeld van een tabel met testgevallen:
| ID | Beschrijving van het testgeval | Voorwaarden | Testgegevens (deel van het verzoek) | Verwacht resultaat | HTTP-code |
|---|---|---|---|---|---|
| PUT-001 | Wijziging van een bestaande bron met geldige gegevens | Bron met ID=123 bestaat | { "name": "Nieuwe naam", "value": 100 } |
Bron succesvol bijgewerkt, gegevens komen overeen met het verzoek | 200 |
| PUT-002 | Wijziging van een bestaande bron met gedeeltelijke update | Bron met ID=123 bestaat | { "name": "Alleen naam gewijzigd" } |
Bron succesvol bijgewerkt, alleen het veld name gewijzigd | 200 |
| PUT-003 | Poging om een niet-bestaande bron te wijzigen | Bron met ID=999 bestaat niet | { "name": "Niet-bestaande update" } |
Bron niet gevonden | 404 |
| PUT-004 | Wijziging van een bron met ongeldige datatypes | Bron met ID=123 bestaat | { "value": "geen_getal" } |
Validatiefout in gegevens | 400 |
| PUT-005 | Wijziging van een bron zonder authenticatie | Bron met ID=123 bestaat, verzoek zonder token | { "name": "Niet-geautoriseerde wijziging" } |
Niet geautoriseerd | 401 |
Elk testgeval moet atomair zijn en een specifiek aspect van de functionaliteit van de PUT-aanvraag controleren.