Sobes.tech
Middle

Uveďte příklad, jak byste vybírali testovací případy pro požadavek PUT.

sobes.tech AI

Odpověď od AI

Pro výběr testovacích případů pro PUT požadavek bych použil následující přístupy, zaměřující se na různé aspekty:

  • Platná data:

    • Vytvoření / aktualizace záznamu s korektními, úplnými daty.
    • Částečná aktualizace pouze některých polí, ostatní zůstávají nezměněny.
    • Aktualizace všech polí s novými, platnými hodnotami.
    • Použití hraničních hodnot pro číselná pole (minimální, maximální).
    • Použití různých formátů dat povolených specifikací (například datum, čas).
  • Neplatná data:

    • Přenos dat s nesprávným typem pole (například řetězec místo čísla).
    • Přenos dat porušujících omezení délky řetězce nebo rozsahu čísla.
    • Přenos dat porušujících jedinečnost pole (pokud je to relevantní).
    • Přenos dat s nesprávným formátem (neplatné datum, email).
    • Chybějící povinná pole.
    • Přenos prázdných řetězců nebo null pro pole, která nesmí být prázdná.
  • Existence zdroje:

    • PUT požadavek na existující zdroj.
    • PUT požadavek na neexistující zdroj (očekáváme odpověď 404).
  • Autorizace a autentifikace:

    • PUT požadavek s korektními přihlašovacími údaji uživatele, který má právo měnit zdroj.
    • PUT požadavek s nesprávnými nebo chybějícími přihlašovacími údaji (očekáváme 401 Unauthorized nebo 403 Forbidden).
    • PUT požadavek od uživatele bez potřebných práv (očekáváme 403 Forbidden).
  • Synchronizace a konkurence:

    • Současné PUT požadavky na stejný zdroj (například s použitím etag).
  • Zpracování chyb:

    • PUT požadavek, který má způsobit chybu na straně serveru (například kvůli internímu selhání).

Příklad tabulky s testovacími případy:

ID Popis testovacího případu Předpoklady Testovací data (část požadavku) Očekávaný výsledek HTTP Kód
PUT-001 Aktualizace existujícího zdroje s platnými daty Zdroj s ID=123 existuje { "name": "Nové jméno", "value": 100 } Zdroj úspěšně aktualizován, data odpovídají požadavku 200
PUT-002 Částečná aktualizace existujícího zdroje Zdroj s ID=123 existuje { "name": "Pouze změněno jméno" } Zdroj úspěšně aktualizován, pouze pole name změněno 200
PUT-003 Pokus o aktualizaci neexistujícího zdroje Zdroj s ID=999 neexistuje { "name": "Neexistující aktualizace" } Zdroj nenalezen 404
PUT-004 Aktualizace zdroje s neplatným typem dat Zdroj s ID=123 existuje { "value": "ne číslo" } Chyba validace dat 400
PUT-005 Aktualizace zdroje bez autentizace Zdroj s ID=123 existuje, požadavek bez tokenu { "name": "Neautorizovaná změna" } Neautorizováno 401

Každý testovací případ by měl být atomický a ověřovat konkrétní aspekt funkčnosti PUT požadavku.