Middle
Uveďte príklad, ako by ste vyberali testovacie prípady pre PUT požiadavku.
sobes.tech AI
Odpoveď od AI
Pri výbere testovacích prípadov pre PUT požiadavku by som sa riadil nasledujúcimi princípmi:
-
Pozitívne scenáre:
- Úspešná úplná aktualizácia existujúceho zdroja s platnými údajmi.
- Úspešná čiastočná aktualizácia existujúceho zdroja (ak API to podporuje).
- Aktualizácia zdroja s použitím hraničných hodnôt pre polia.
-
Negatívne scenáre:
- Neprítomnosť zdroja s daným ID.
- Neplatný formát ID zdroja.
- Neplatný typ údajov v poliach požiadavky.
- Chýbajúce povinné polia v tele požiadavky.
- Neplatný formát tela požiadavky (napríklad, nie JSON).
- Pokus o aktualizáciu polí, ktoré by nemali byť aktualizované (napríklad, ID, dátum vytvorenia).
- Nedostatok práv na prístup k zdroju.
- Konkurenčné aktualizácie zdroja (pre kontrolu spracovania konfliktov).
-
Hraničné podmienky:
- Maximálne prípustné hodnoty pre číselné polia.
- Prázdne reťazce pre reťazcové polia (ak je to povolené).
- Špeciálne znaky v reťazcových poliach.
- Dlhé reťazce pre reťazcové polia.
-
Kontrola vedľajších efektov:
- Zmena iných súvisiacich zdrojov po aktualizácii.
- Správnosť zobrazenia aktualizovaných údajov v iných častiach systému (napríklad, v používateľskom rozhraní).
Príklad štruktúry testovacích prípadov (pre zdroj user s poľami id, name, email):
| TestCase ID | Popis | URL požiadavky | Telo požiadavky | Očakávaný stavový kód | Očakávané správanie/telo odpovede |
|---|---|---|---|---|---|
| PUT_USR_001 | Úspešná úplná aktualizácia | /users/123 |
{"name": "New Name", "email": "new@example.com"} |
200 | Aktualizované údaje používateľa |
| PUT_USR_002 | Používateľ nenájdený | /users/999 |
{"name": "New Name"} |
404 | Chybové hlásenie indikujúce, že používateľ nebol nájdený |
| PUT_USR_003 | Neplatný formát emailu | /users/123 |
{"email": "invalid-email"} |
400 | Chybové hlásenie indikujúce neplatný formát emailu |
| PUT_USR_004 | Chýbajúce povinné pole | /users/123 |
{} |
400 | Chybové hlásenie indikujúce chýbajúce pole |
| PUT_USR_005 | Pokus o aktualizáciu s maximálnou hranicou hodnoty | /users/123 |
{"name": "A" * 255} |
200 | Aktualizované údaje používateľa s dlhým menom |
| PUT_USR_006 | Pokus o aktualizáciu nepovoleného poľa | /users/123 |
{"id": 456, "name": "New Name"} |
400/403 | Chybové hlásenie indikujúce zakázané alebo nesprávne požiadavky |
Samozrejme, konkrétny počet testovacích prípadov bude závisieť od špecifikácie API, obchodnej logiky a architektúry systému.