Sobes.tech
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:

  1. 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).
  2. 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.
  3. Grensgevallen:

    • Velden bijwerken met grenswaarden (bijvoorbeeld, minimale/maximale datum, grensgetallen).
    • Velden bijwerken met lege strings of null-waarden (indien toegestaan).
  4. Parallelle toegangsscenario's:

    • Gelijktijdig proberen hetzelfde bron te updaten vanuit meerdere bronnen (indien relevant voor het systeem).
  5. 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.