Sobes.tech
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:

  1. 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.
  2. 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).
  3. 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.
  4. 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.