Middle
Uveď příklad, jak bys vybíral testovací případy pro PUT požadavek.
sobes.tech AI
Odpověď od AI
Při výběru testovacích případů pro PUT požadavek bych se řídil následujícími principy:
-
Pozitivní scénáře:
- Úspěšná úplná aktualizace existujícího zdroje s platnými daty.
- Úspěšná částečná aktualizace existujícího zdroje (pokud API to podporuje).
- Aktualizace zdroje s použitím hraničních hodnot pro pole.
-
Negativní scénáře:
- Nepřítomnost zdroje s daným ID.
- Neplatný formát ID zdroje.
- Neplatný datový typ v polích požadavku.
- Chybějící povinná pole v těle požadavku.
- Neplatný formát těla požadavku (například není JSON).
- Pokus o aktualizaci polí, která by neměla být aktualizována (například ID, datum vytvoření).
- Nedostatečná oprávnění pro aktualizaci zdroje.
- Konkurenční aktualizace zdroje (pro kontrolu zpracování konfliktů).
-
Hraniční podmínky:
- Maximální přípustné hodnoty pro číselná pole.
- Prázdné řetězce pro řetězcová pole (pokud je to povoleno).
- Speciální znaky v řetězcových polích.
- Dlouhé řetězce pro řetězcová pole.
-
Kontrola vedlejších efektů:
- Změna jiných souvisejících zdrojů po aktualizaci.
- Správnost zobrazení aktualizovaných dat v jiných částech systému (například v uživatelském rozhraní).
Příklad struktury testovacích případů (pro zdroj user s poli id, name, email):
| TestCase ID | Popis | Request URL | Tělo požadavku | Očekávaný stavový kód | Očekávané chování/tělo odpovědi |
|---|---|---|---|---|---|
| PUT_USR_001 | Úspěšná úplná aktualizace | /users/123 |
{"name": "New Name", "email": "new@example.com"} |
200 | Aktualizovaná data uživatele |
| PUT_USR_002 | Uživatel nenalezen | /users/999 |
{"name": "New Name"} |
404 | Chybová zpráva indikující, že uživatel nebyl nalezen |
| PUT_USR_003 | Neplatný formát emailu | /users/123 |
{"email": "invalid-email"} |
400 | Chybová zpráva indikující neplatný formát emailu |
| PUT_USR_004 | Chybějící povinné pole | /users/123 |
{} |
400 | Chybová zpráva indikující chybějící pole |
| PUT_USR_005 | Aktualizace s maximální hranicí hodnoty pole | /users/123 |
{"name": "A" * 255} |
200 | Aktualizovaná data uživatele s dlouhým jménem |
| PUT_USR_006 | Pokus o aktualizaci nepovoleného pole | /users/123 |
{"id": 456, "name": "New Name"} |
400/403 | Chybová zpráva indikující zakázanou nebo špatnou žádost |
Samozřejmě, konkrétní sada testovacích případů bude záviset na specifikaci API, obchodní logice a architektuře systému.