Sobes.tech
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/plain in plaats van application/json).
    • Leeg request body:
      • Verzoek verzenden zonder body.
  • 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.