Middle
Ar galite pateikti pavyzdį, kaip pasirinktumėte testavimo atvejus PUT užklausai?
sobes.tech AI
Atsakymas iš AI
Pasirinkčiau testinius atvejus pagal šiuos pagrindus:
-
Sėkmingas atnaujinimas:
- Visų laukų atnaujinimas su teisingomis reikšmėmis.
- Vieno ar kelių laukų atnaujinimas, paliekant kitus nepakitusius.
- Laukų atnaujinimas su ribinėmis reikšmėmis (jei taikoma).
-
Nepavykęs atnaujinimas (neigiamieji testai):
- Neteisingi duomenys:
- Netinkamas duomenų formatas laukams (pvz., eilutė vietoje skaičiaus).
- Reikšmės, viršijančios maksimalų ilgį arba išėjimas už leistiną diapazoną.
- Privalomi laukai nėra nurodyti užklausos kūne.
- Nesant išteklio:
- PUT užklausa su ID, kurio nėra sistemoje.
- Duomenų konfliktas:
- Bandymas atnaujinti išteklių, kuris buvo pakeistas kitu naudotoju.
- Teisių trūkumas:
- Bandymas atnaujinti išteklių be tinkamų teisių.
- Validacijos klaidos:
- Verslo logikos ar duomenų bazės apribojimų pažeidimas.
- Neteisingas Content-Type:
- Užklausos siuntimas su Content-Type, kuris nesutampa su tikėtinu.
- Tuščia užklausos kūnas:
- Užklausos siuntimas be kūno.
- Neteisingi duomenys:
-
Ribinių sąlygų tikrinimas:
- Išteklių atnaujinimas su minimaliu laukų rinkiniu.
- Išteklių atnaujinimas su maksimaliu laukų rinkiniu.
- Elgesio patikrinimas, siunčiant papildomus, nesusijusius laukus.
Testų atvejų struktūra:
| Atvejis | Aprašymas | Tikėtinas rezultatas |
|---|---|---|
| Sėkmingas atnaujinimas | Visų laukų atnaujinimas su teisingomis reikšmėmis | 200 OK / 204 No Content (priklauso nuo API) |
| Nenurodytas ID | Bandymas atnaujinti išteklių su ID, kuris neegzistuoja | 404 Not Found |
| Neteisingas duomenų formatas | Bandymas atnaujinti skaičiaus tipo lauką su eilute | 400 Bad Request |
| Privalomo lauko nebuvimas | Privalomo lauko nebuvimas užklausos kūne | 400 Bad Request |
| Teisių trūkumas | Bandymas atnaujinti išteklių be tinkamų teisių | 403 Forbidden |
Automatizacijai naudočiau tokias frameworks kaip RestAssured (Java), Requests (Python) arba Supertest (Node.js) ir įrankius testinių duomenų generavimui.