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 deapplication/json).
- Trimiterea cererii cu un Content-Type diferit de cel așteptat (de exemplu,
- Corpul cererii gol:
- Trimiterea cererii fără corp.
- Date nevalide:
-
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.