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:
-
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.
-
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.
-
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.
-
Š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.