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

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

    • Maximaal toegestane waarden voor numerieke velden.
    • Lege strings voor tekstvelden (indien toegestaan).
    • Speciale tekens in tekstvelden.
    • Lange strings voor tekstvelden.
  4. 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.