Sobes.tech
Middle

Môžeš uviesť príklad, ako by si vybral testovacie prípady pre požiadavku PUT?

sobes.tech AI

Odpoveď od AI

Vybral by som testovacie prípady na základe nasledujúceho:

  • Úspešná aktualizácia:

    • Aktualizácia všetkých polí platnými hodnotami.
    • Aktualizácia jedného alebo viacerých polí s ponechaním ostatných bez zmeny.
    • Aktualizácia polí s hraničnými hodnotami (ak je to relevantné).
  • Neúspešná aktualizácia (negatívne testy):

    • Neplatné údaje:
      • Nesprávny formát údajov pre polia (napríklad reťazec namiesto čísla).
      • Hodnoty presahujúce maximálnu dĺžku alebo mimo povolený rozsah.
      • Chýbajúce povinné polia v tele požiadavky.
    • Neexistujúci zdroj:
      • PUT požiadavka s ID, ktoré neexistuje v systéme.
    • Konflikt údajov:
      • Pokus o aktualizáciu zdroja, ktorý bol zmenený iným používateľom (ak sa používa mechanizmus verzionovania alebo blokovania).
    • Nedostatok práv:
      • Pokus o aktualizáciu zdroja bez príslušných práv.
    • Validačné chyby:
      • Porušenie obchodnej logiky alebo obmedzení databázy (napríklad duplikácia unikátnej hodnoty).
    • Nesprávny Content-Type:
      • Odoslanie požiadavky s Content-Type odlišným od očakávaného (napríklad text/plain namiesto application/json).
    • Prázdne telo požiadavky:
      • Odoslanie požiadavky bez tela.
  • Hraničné podmienky:

    • Aktualizácia zdroja s minimálnym počtom polí (ak je to povolené).
    • Aktualizácia zdroja s maximálnym počtom polí.
    • Kontrola správania pri odoslaní v tele požiadavky ďalších, neočakávaných polí.

Príklad štruktúry testovacích prípadov:

Prípad Popis Očakávaný výsledok
Úspešná aktualizácia Aktualizácia všetkých polí s korektnými hodnotami. 200 OK / 204 No Content (závisí od API)
Neexistujúce ID Pokus o aktualizáciu zdroja s ID, ktoré neexistuje. 404 Not Found
Neplatný formát údajov Pokus o aktualizáciu poľa typu číslo reťazcom. 400 Bad Request
Chýbajúce povinné pole Chýbajúce v tele požiadavky pole označené ako povinné. 400 Bad Request
Nedostatok práv Pokus o aktualizáciu zdroja používateľom bez potrebných práv. 403 Forbidden

Na automatizáciu by som použil rámce ako RestAssured (Java), Requests (Python) alebo Supertest (Node.js) a nástroje na generovanie testovacích dát.