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:
-
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.
-
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).
-
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.
-
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.