Middle
Dă un exemplu de cum ai alege cazurile de test pentru o solicitare PUT.
sobes.tech AI
Răspuns de la AI
Pentru selectarea cazurilor de test pentru cererea PUT, aș aplica următoarele abordări, concentrându-mă pe diferite aspecte:
-
Date valide:
- Crearea / modificarea unui înregistrări cu date corecte și complete.
- Modificarea doar a unor câmpuri, celelalte rămânând neschimbate.
- Modificarea tuturor câmpurilor la valori noi, valide.
- Utilizarea valorilor limită pentru câmpurile numerice (minim, maxim).
- Utilizarea diferitelor formate de date permise de specificație (de exemplu, dată, oră).
-
Date invalide:
- Trimiterea de date cu un tip de câmp incorect (de exemplu, șir în loc de număr).
- Trimiterea de date care încalcă restricțiile de lungime a șirului sau intervalul numerelor.
- Trimiterea de date care încalcă unicitatea câmpului (dacă este cazul).
- Trimiterea de date cu format incorect (dată invalidă, email).
- Lipsa câmpurilor obligatorii.
- Trimiterea de șiruri goale sau null pentru câmpurile care nu trebuie să fie goale.
-
Existența resursei:
- Cerere PUT către o resursă existentă.
- Cerere PUT către o resursă inexistentă (se așteaptă răspuns 404).
-
Autorizare și autentificare:
- Cerere PUT cu date corecte de autentificare ale unui utilizator autorizat să modifice resursa.
- Cerere PUT cu date de autentificare incorecte sau absente (se așteaptă 401 Neautorizat sau 403 Interzis).
- Cerere PUT de la un utilizator fără drepturile necesare pentru a modifica această resursă (se așteaptă 403 Interzis).
-
Sincronizare și concurență:
- Cereri PUT simultane către aceeași resursă (de exemplu, folosind etag).
-
Gestionarea erorilor:
- Cerere PUT care trebuie să provoace o eroare pe partea serverului (de exemplu, din cauza unei defecțiuni interne).
Exemplu de tabel cu cazuri de test:
| ID | Descrierea cazului de test | Condiții prealabile | Date de test (parte a cererii) | Rezultat așteptat | Cod HTTP |
|---|---|---|---|---|---|
| PUT-001 | Modificarea unui resurs existent cu date valide | Resursa cu ID=123 există | { "name": "Nume Nou", "value": 100 } |
Resursa actualizată cu succes, datele corespund cererii | 200 |
| PUT-002 | Modificarea unui resurs existent cu actualizare parțială | Resursa cu ID=123 există | { "name": "Doar numele schimbat" } |
Resursa actualizată cu succes, doar câmpul name schimbat | 200 |
| PUT-003 | Încercarea de a modifica o resursă inexistentă | Resursa cu ID=999 nu există | { "name": "Actualizare inexistentă" } |
Resursă negăsită | 404 |
| PUT-004 | Modificarea unei resurse cu tip de date invalid | Resursa cu ID=123 există | { "value": "nu_un_număr" } |
Eroare de validare a datelor | 400 |
| PUT-005 | Modificarea unei resurse fără autentificare | Resursa cu ID=123 există, cerere fără token | { "name": "Schimbare neautorizată" } |
Neautorizat | 401 |
Fiecare caz de test trebuie să fie atomic și să verifice un aspect specific al funcționalității cererii PUT.