Sobes.tech
Middle

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

sobes.tech AI

Atsakymas iš AI

Norint pasirinkti testavimo atvejus PUT užklausai, naudotume šiuos požiūrius, sutelkiant dėmesį į įvairius aspektus:

  • Galiojantys duomenys:

    • Kurti / keisti įrašą su teisingais, pilnais duomenimis.
    • Keisti tik dalį laukų, kiti lieka nepakitę.
    • Keisti visus laukus naujomis, galiojančiomis reikšmėmis.
    • Naudoti ribines reikšmes skaitiniams laukams (minimalios, maksimalios).
    • Naudoti įvairius duomenų formatus, leidžiamus specifikacijoje (pvz., data, laikas).
  • Negaliojantys duomenys:

    • Siųsti duomenis su neteisingo tipo lauku (pvz., eilutė vietoj skaičiaus).
    • Siųsti duomenis, pažeidžiančius eilutės ilgį ar skaičiaus diapazoną.
    • Siųsti duomenis, pažeidžiančius unikalumo reikalavimą (jei taikoma).
    • Siųsti duomenis su neteisingu formatu (neteisinga data, el. paštas).
    • Trūksta būtinų laukų.
    • Siųsti tuščius eilutės ar null reikšmes laukams, kurie neturi būti tušti.
  • Resurso egzistavimas:

    • PUT užklausa egzistuojančiam resursui.
    • PUT užklausa neegzistuojančiam resursui (laukiama 404 atsakymo).
  • Autorizacija ir autentifikacija:

    • PUT užklausa su teisingais naudotojo duomenimis, turinčiu teisę keisti resursą.
    • PUT užklausa su neteisingais arba nebūtinais duomenimis (laukiama 401 arba 403 atsakymo).
    • PUT užklausa iš naudotojo be reikiamų teisių keisti šį resursą (laukiama 403 atsakymo).
  • Sinchronizacija ir konkurencija:

    • Vienu metu atliekami PUT užsakymai vienam ir tam pačiam resursui (pvz., naudojant etag).
  • Klaidų apdorojimas:

    • PUT užklausa, kuri turėtų sukelti klaidą serverio pusėje (pvz., vidinė klaida).

Pavyzdinis testų atvejų lentelė:

ID Testo aprašymas Išankstiniai veiksmai Testo duomenys (užklausos dalis) Tikėtinas rezultatas HTTP kodas
PUT-001 Esamo resurso keitimas su galiojančiais duomenimis Resursas su ID=123 egzistuoja { "name": "Naujas pavadinimas", "value": 100 } Resursas sėkmingai atnaujintas, duomenys atitinka užklausą 200
PUT-002 Esamo resurso dalinis atnaujinimas Resursas su ID=123 egzistuoja { "name": "Tik pavadinimo pakeitimas" } Resursas sėkmingai atnaujintas, pakeistas tik pavadinimas 200
PUT-003 Bandymas keisti neegzistuojantį resursą Resursas su ID=999 neegzistuoja { "name": "Nekonstatuotas atnaujinimas" } Resursas nerastas 404
PUT-004 Resurso keitimas su neteisingo duomenų tipo duomenimis Resursas su ID=123 egzistuoja { "value": "ne skaičius" } Duomenų validacijos klaida 400
PUT-005 Keitimas be autentifikacijos Resursas su ID=123 egzistuoja, užklausa be tokeno { "name": "Neautorizuotas pakeitimas" } Neautorizuota 401

Kiekvienas testavimo atvejis turi būti atominis ir tikrinti konkretų PUT užklausos aspektą.