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

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