Sobes.tech
Middle

Poți da un exemplu de cum ai alege cazurile de test pentru o solicitare PUT?

sobes.tech AI

Răspuns de la AI

Aș alege cazuri de test bazându-mă pe următoarele:

  • Actualizare de succes:

    • Actualizarea tuturor câmpurilor cu valori valide.
    • Actualizarea unuia sau mai multor câmpuri, lăsând celelalte neschimbate.
    • Actualizarea câmpurilor cu valori limită (dacă este cazul).
  • Actualizare eșuată (teste negative):

    • Date nevalide:
      • Format de date incorect pentru câmpuri (de exemplu, șir în loc de număr).
      • Valori care depășesc lungimea maximă sau ies din intervalul permis.
      • Câmpuri obligatorii lipsesc din corpul cererii.
    • Resursă inexistentă:
      • Cerere PUT cu un ID care nu există în sistem.
    • Conflict de date:
      • Încercarea de a actualiza o resursă modificată de alt utilizator (dacă se folosește un mecanism de control al versiunilor sau blocări).
    • Lipsa permisiunilor:
      • Încercarea de a actualiza o resursă fără permisiunile corespunzătoare.
    • Erori de validare:
      • Încălcarea logicii de business sau restricțiilor bazei de date (de exemplu, duplicarea unei valori unice).
    • Tip de Content-Type greșit:
      • Trimiterea cererii cu un Content-Type diferit de cel așteptat (de exemplu, text/plain în loc de application/json).
    • Corpul cererii gol:
      • Trimiterea cererii fără corp.
  • Condții limită:

    • Actualizarea resursei cu setul minim de câmpuri (dacă este permis).
    • Actualizarea resursei cu setul maxim de câmpuri.
    • Verificarea comportamentului la transmiterea în corp a câmpurilor suplimentare, neașteptate.

Exemplu de structură a cazurilor de test:

Caz Descriere Rezultat așteptat
Actualizare de succes Actualizarea tuturor câmpurilor cu valori corecte. 200 OK / 204 No Content (depinde de API)
ID inexistent Încercarea de a actualiza o resursă cu un ID care nu există. 404 Not Found
Format de date invalid Încercarea de a actualiza un câmp numeric cu un șir de caractere. 400 Bad Request
Câmp obligatoriu lipsă Lipsa în corpul cererii a unui câmp marcat ca obligatoriu. 400 Bad Request
Lipsă permisiuni Încercarea de a actualiza o resursă de către un utilizator fără permisiuni. 403 Forbidden

Pentru automatizare, aș folosi framework-uri precum RestAssured (Java), Requests (Python) sau Supertest (Node.js) și instrumente pentru generarea datelor de test.