Sobes.tech
Middle

Oferă un exemplu despre cum ai alege cazurile de test pentru o cerere PUT.

sobes.tech AI

Răspuns de la AI

La selectare a cazurilor de test pentru o solicitare PUT, m-aș ghida după următoarele principii:

  1. Scenarii pozitive:

    • Actualizarea completă reușită a unei resurse existente cu date valide.
    • Actualizarea parțială reușită a unei resurse existente (dacă API-ul suportă acest lucru).
    • Actualizarea resursei folosind valori limită pentru câmpuri.
  2. Scenarii negative:

    • Resursa nu a fost găsită după ID-ul specificat.
    • Formatul ID-ului resursei este invalid.
    • Tipul de date invalid în câmpurile solicitării.
    • Lipsa câmpurilor obligatorii în corpul solicitării.
    • Formatul incorect al corpului solicitării (de exemplu, nu JSON).
    • Încercarea de a actualiza câmpuri care nu trebuie modificate (de exemplu, ID, data creării).
    • Drepturi de acces insuficiente pentru actualizarea resursei.
    • Actualizarea concurentă a resursei (pentru verificarea gestionării conflictelor).
  3. Condiții limită:

    • Valorile maxime permise pentru câmpurile numerice.
    • Șiruri goale pentru câmpurile de text (dacă este permis).
    • Caractere speciale în câmpurile de text.
    • Șiruri lungi pentru câmpurile de text.
  4. Verificarea efectelor secundare:

    • Modificarea altor resurse legate după actualizare.
    • Afișarea corectă a datelor actualizate în alte părți ale sistemului (de exemplu, în interfața utilizatorului).

Exemplu de structură a cazurilor de test (pentru resursa user cu câmpurile id, name, email):

ID-ul cazului de test Descriere URL-ul solicitării Corpul solicitării Codul de stare așteptat Răspunsul / comportamentul așteptat
PUT_USR_001 Actualizare completă reușită /users/123 {"name": "Nume Nou", "email": "nou@exemplu.com"} 200 Datele utilizatorului actualizate returnate
PUT_USR_002 Utilizatorul nu a fost găsit /users/999 {"name": "Nume Nou"} 404 Mesaj de eroare indicând că utilizatorul nu a fost găsit
PUT_USR_003 Format de email invalid /users/123 {"email": "email-invalida"} 400 Mesaj de eroare indicând formatul de email invalid
PUT_USR_004 Câmp obligatoriu lipsă (dacă este cazul) /users/123 {} 400 Mesaj de eroare indicând câmp lipsă
PUT_USR_005 Valoare limită maximă pentru un câmp /users/123 {"name": "A" * 255} 200 Datele utilizatorului actualizate cu nume lung
PUT_USR_006 Încercarea de a actualiza un câmp non-updatable (id) /users/123 {"id": 456, "name": "Nume Nou"} 400/403 Mesaj de eroare indicând solicitare interzisă sau greșită

Desigur, setul specific de cazuri de test va depinde de specificația API, logica de business și arhitectura sistemului.