Middle
Daj primer kako bi izabrao test slučajeve za PUT zahtev.
sobes.tech АИ
Одговор од АИ
При izbor test slučajeva za PUT zahtev, sledio bih sledeće principe:
-
Pozitivni scenariji:
- Uspešno potpuno ažuriranje postojećeg resursa sa validnim podacima.
- Uspešno delimično ažuriranje postojećeg resursa (ako API to podržava).
- Ažuriranje resursa korišćenjem graničnih vrednosti za polja.
-
Negativni scenariji:
- Nedostatak resursa sa datim ID-jem.
- Nevažeći format ID-ja resursa.
- Nevažeći tip podataka u poljima zahteva.
- Nedostatak obaveznih polja u telu zahteva.
- Nevažeći format tela zahteva (npr. ne JSON).
- Pokušaj ažuriranja polja koja ne bi trebalo da budu ažurirana (npr. ID, datum kreiranja).
- Nedostatak prava pristupa za ažuriranje resursa.
- Konkurentno ažuriranje resursa (za proveru obrade konflikata).
-
Granični uslovi:
- Maksimalne dozvoljene vrednosti za numerička polja.
- Prazni stringovi za string polja (ako je dozvoljeno).
- Specijalni karakteri u string poljima.
- Dugi stringovi za string polja.
-
Provera sporednih efekata:
- Promena drugih povezanih resursa nakon ažuriranja.
- Ispravnost prikaza ažuriranih podataka u drugim delovima sistema (npr. u korisničkom interfejsu).
Primer strukture test slučajeva (za resurs user sa poljima id, name, email):
| TestCase ID | Opis | URL zahteva | Telo zahteva | Očekivani status kod | Očekivano ponašanje/telo odgovora |
|---|---|---|---|---|---|
| PUT_USR_001 | Uspešno potpuno ažuriranje | /users/123 |
{"name": "New Name", "email": "new@example.com"} |
200 | Ažurirani podaci korisnika |
| PUT_USR_002 | Korisnik nije pronađen | /users/999 |
{"name": "New Name"} |
404 | Poruka o grešci koja ukazuje da korisnik nije pronađen |
| PUT_USR_003 | Nevažeći format emaila | /users/123 |
{"email": "invalid-email"} |
400 | Poruka o grešci koja ukazuje na nevažeći format emaila |
| PUT_USR_004 | Nedostaje obavezno polje | /users/123 |
{} |
400 | Poruka o grešci koja ukazuje na nedostajuće polje |
| PUT_USR_005 | Pokušaj ažuriranja sa maksimalnom granicom vrednosti | /users/123 |
{"name": "A" * 255} |
200 | Ažurirani podaci korisnika sa dugim imenom |
| PUT_USR_006 | Pokušaj ažuriranja nedozvoljenog polja | /users/123 |
{"id": 456, "name": "New Name"} |
400/403 | Poruka o grešci koja ukazuje na zabranu ili loš zahtev |
Naravno, konkretan skup test slučajeva će zavisiti od specifikacije API-ja, poslovne logike i arhitekture sistema.