Sobes.tech
Middle

Pateikite pavyzdį, kaip pasirinktumėte testavimo atvejus PUT užklausai.

sobes.tech AI

Atsakymas iš AI

Pasirinkdami testų atvejus PUT užklausai, vadovaučiausi šiais principais:

  1. Pozityvūs scenarijai:

    • Sėkmingas esamo ištekliaus visiškas atnaujinimas su galiojančiais duomenimis.
    • Sėkmingas esamo ištekliaus dalinis atnaujinimas (jei API tai palaiko).
    • Ištekliaus atnaujinimas naudojant ribines reikšmes laukams.
  2. Neigiamai scenarijai:

    • Ištekliaus nebuvimas su nurodytu ID.
    • Neteisingas ID formato atvejis.
    • Neteisingas duomenų tipas užklausos laukuose.
    • Būtinu laukų nebuvimas užklausos kūne.
    • Neteisingas užklausos kūno formatas (pvz., ne JSON).
    • Bandymas atnaujinti laukus, kurių neturi būti atnaujinta (pvz., ID, kūrimo data).
    • Nepakankamos teisės atnaujinti išteklių.
    • Konkurentinis išteklių atnaujinimas.
  3. Ribinių sąlygų:

    • Maksimalios leidžiamos reikšmės skaitmeniniuose laukuose.
    • Tušti eilutės tekstiniuose laukuose (jei tai leidžiama).
    • Specialieji simboliai tekstiniuose laukuose.
    • Ilgos eilutės tekstiniuose laukuose.
  4. Šoninių efektų patikrinimas:

    • Kitų susijusių išteklių keitimas po atnaujinimo.
    • Teisingas atnaujintų duomenų rodymas kituose sistemos dalyse.

Pavyzdinė testų struktūra (skirta user ištekliui su laukais id, name, email):

Testo atvejo ID Aprašymas Užklausos URL Užklausos kūnas Tikėtinas statuso kodas Tikėtinas atsakymo kūnas/veiksmas
PUT_USR_001 Sėkmingas pilnas atnaujinimas /users/123 {"name": "New Name", "email": "new@example.com"} 200 Atnaujinti vartotojo duomenys
PUT_USR_002 Vartotojas nerastas /users/999 {"name": "New Name"} 404 Klaidos pranešimas, nurodantis, kad vartotojas nerastas
PUT_USR_003 Neteisingas el. pašto formatas /users/123 {"email": "invalid-email"} 400 Klaidos pranešimas, nurodantis, kad el. pašto formatas neteisingas
PUT_USR_004 Trūksta būtinų laukų /users/123 {} 400 Klaidos pranešimas, nurodantis, kad trūksta lauko
PUT_USR_005 Maksimalios ribinės reikšmės atnaujinimas /users/123 {"name": "A" * 255} 200 Ilgo vardo atnaujinti vartotojo duomenys
PUT_USR_006 Bandymas atnaujinti neleidžiamą lauką /users/123 {"id": 456, "name": "New Name"} 400/403 Klaidos pranešimas, nurodantis, kad atnaujinimas draudžiamas arba blogas užklausa

Žinoma, konkretus testų atvejų skaičius priklausys nuo API specifikacijos, verslo logikos ir sistemos architektūros.