Middle
Uveď příklad, jak bys vybíral testovací případy pro požadavek PUT.
sobes.tech AI
Odpověď od AI
Výběr testovacích případů pro PUT požadavky je zaměřen na ověření správné aktualizace zdroje, zpracování různých typů dat a negativních scénářů.
Příklady testovacích případů:
-
Pozitivní scénář (úspěšná aktualizace):
- Aktualizace zdroje se všemi platnými poli.
- Aktualizace zdroje pouze s částí platných polí (pokud API umožňuje částečnou aktualizaci).
- Aktualizace polí různými datovými typy (řetězce, čísla, logické hodnoty), pokud je to podle schématu.
- Aktualizace zdroje s minimálními povolenými hodnotami (pokud je to relevantní).
- Aktualizace zdroje s maximálními povolenými hodnotami (pokud je to relevantní).
-
Negativní scénáře (chyby a výjimky):
- Pokus o aktualizaci neexistujícího zdroje. Očekávaná odpověď: 404 Not Found.
- Odeslání požadavku bez těla. Očekávaná odpověď: 400 Bad Request nebo 422 Unprocessable Entity.
- Odeslání požadavku s neplatným formátem těla (například neplatný JSON). Očekávaná odpověď: 400 Bad Request.
- Odeslání požadavku s neplatnými datovými typy pro pole. Například řetězec místo čísla. Očekávaná odpověď: 400 Bad Request nebo 422 Unprocessable Entity.
- Odeslání požadavku s chybějícími povinnými poli. Očekávaná odpověď: 400 Bad Request nebo 422 Unprocessable Entity.
- Odeslání požadavku s hodnotami přesahujícími povolenou délku nebo rozsah. Očekávaná odpověď: 400 Bad Request nebo 422 Unprocessable Entity.
- Odeslání požadavku s neplatnou hodnotou v cestě (například neplatné ID). Očekávaná odpověď: 400 Bad Request nebo 404 Not Found.
- Pokus o aktualizaci zablokovaného nebo nedostupného zdroje (pokud je to relevantní). Očekávaná odpověď: 403 Forbidden nebo 409 Conflict.
- Odeslání požadavku s nesprávnými hlavičkami (například
Content-Type). Očekávaná odpověď: 415 Unsupported Media Type nebo 400 Bad Request. - Aktualizace s použitím speciálních znaků nebo emoji v řetězcových polích.
-
Hranice hodnot:
- Aktualizace polí s hranicními hodnotami (například minimální/máximo datum, hraniční čísla).
- Aktualizace polí s prázdnými řetězci nebo null hodnotami (pokud je to povoleno).
-
Scénáře paralelního přístupu:
- Současná snaha aktualizovat stejný zdroj z více zdrojů.
-
Kontrola důsledků aktualizace:
- Kontrola, že data byla správně aktualizována v databázi nebo jiných systémech.
- Kontrola, že závislé zdroje nebo data byla aktualizována nebo změněna odpovídajícím způsobem.
- Kontrola, že GET požadavek na aktualizovaný zdroj vrací aktuální data.
- Kontrola, že ostatní operace (DELETE, POST) s aktualizovaným zdrojem fungují správně.
Kritéria výběru konkrétních testovacích případů závisí na specifikaci API, obchodních požadavcích, analýze rizik a prioritách. Používají se techniky testovacího návrhu, jako je ekvivalentní dělení a analýza hranic, k určení nejvýznamnějších vstupních dat.