Middle
Kas saaksid anda näite, kuidas sa valiksid PUT-päringuks testjuhtumeid?
sobes.tech AI
Vastus AI-lt
Ma valiksin testju juhtumid järgmistel alustel:
-
Edukas uuendus:
- Kõigi väljade uuendamine kehtivate väärtustega.
- Ühe või mitme välja uuendamine, jättes ülejäänud muutmata.
- Väljade uuendamine piirväärtustega (kui see on asjakohane).
-
Ebaõnnestunud uuendus (negatiivsed testid):
- Vigased andmed:
- Väljade andmeformaadi viga (näiteks string asemel number).
- Väärtused, mis ületavad maksimaalse pikkuse või on väljaspool lubatud vahemikku.
- Kohustuslike väljade puudumine päringu kehas.
- Mitteolev ressurss:
- PUT-päring ID-ga, mida süsteemis ei eksisteeri.
- Andmete konflikt:
- Püüd uuendada ressurssi, mida on muutnud teine kasutaja.
- Õiguste puudumine:
- Püüd uuendada ressurssi ilma sobivate õigusteta.
- Valideerimisvead:
- Äri- või andmebaasi piirangute rikkumine.
- Vale Content-Type:
- Päringu saatmine Content-Type-iga, mis erineb oodatust (näiteks
text/plainasemelapplication/json).
- Päringu saatmine Content-Type-iga, mis erineb oodatust (näiteks
- Tühi päringu keha:
- Päringu saatmine ilma kehadeta.
- Vigased andmed:
-
Piiritingimused:
- Ressursi uuendamine minimaalsete väljadega.
- Ressursi uuendamine maksimaalsete väljadega.
- Käitumise kontroll, kui päringukehas edastatakse täiendavaid, ootamatuid välju.
Testjuhtumite struktuur:
| Juhtum | Kirjeldus | Oodatav tulemus |
|---|---|---|
| Edukas uuendus | Kõigi väljade uuendamine õige väärtustega | 200 OK / 204 No Content (sõltuvalt API-st) |
| Mitteolev ID | Ressursi uuendamine ID-ga, mida ei eksisteeri | 404 Not Found |
| Vigane andmevorming | Arvu tüüpi välja uuendamine stringiga | 400 Bad Request |
| Kohustusliku välja puudumine | Kohustusliku välja puudumine päringu kehas | 400 Bad Request |
| Õiguste puudumine | Ressursi uuendamine ilma sobivate õigusteta | 403 Forbidden |
Automatiseerimiseks kasutaksin selliseid raamistikke nagu RestAssured (Java), Requests (Python) või Supertest (Node.js) ning tööriistu testandmete genereerimiseks.