Sobes.tech
Middle

Tudnál példát mondani arra, hogyan választanád ki a teszteseteket egy PUT kéréshez?

sobes.tech MI

Válasz az MI-től

A következők alapján választanám ki a teszteseteket:

  • Sikeres frissítés:

    • Minden mező frissítése érvényes értékekkel.
    • Egy vagy több mező frissítése, a többi változatlanul hagyásával.
    • Mezők frissítése határértékekkel (ha alkalmazható).
  • Sikertelen frissítés (negatív tesztek):

    • Érvénytelen adatok:
      • Érvénytelen adatformátum a mezőknél (pl. szöveg helyett szám).
      • Olyan értékek, amelyek meghaladják a maximális hosszúságot vagy kívül esnek a megengedett tartományon.
      • Kötelező mezők hiánya a kérés törzsében.
    • Nem létező erőforrás:
      • PUT kérés olyan ID-vel, amely nem létezik a rendszerben.
    • Adatkonfliktus:
      • Olyan erőforrás frissítése, amelyet más felhasználó módosított (ha verziókezelés vagy zárolás van alkalmazva).
    • Jogok hiánya:
      • Olyan erőforrás frissítése, amelyhez nincs megfelelő jogosultság.
    • Érvényesítési hibák:
      • Üzleti logika vagy adatbázis korlátozások megsértése (pl. egyedi érték duplikálása).
    • Hibás Content-Type:
      • Kérés küldése eltérő Content-Type-tal, mint a várt (pl. text/plain helyett application/json).
    • Üres kérés törzs:
      • Kérés küldése test nélkül.
  • Határértékek:

    • Erőforrás frissítése minimális mezőkkel (ha megengedett).
    • Erőforrás frissítése maximális mezőkkel.
    • Viselkedés ellenőrzése, amikor a kérés testében további, nem várt mezőket küldünk.

Tesztesetek szerkezeti példája:

Eset Leírás Várt eredmény
Sikeres frissítés Minden mező helyes értékekkel frissítése. 200 OK / 204 No Content (az API-tól függően)
Nem létező ID Olyan erőforrás frissítése, amelynek ID-je nem létezik. 404 Not Found
Érvénytelen adatformátum Szám típusú mező frissítése sztringgel. 400 Bad Request
Kötelező mező hiánya Kötelező mező hiánya a kérés testében. 400 Bad Request
Jogok hiánya Olyan erőforrás frissítése felhasználó által, akinek nincs megfelelő jogosultsága. 403 Forbidden

Automatizáláshoz olyan keretrendszereket használnék, mint a RestAssured (Java), Requests (Python) vagy Supertest (Node.js), valamint eszközöket a tesztadatok generálására.