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

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