Middle
Fornisci un esempio di come sceglieresti i casi di test per una richiesta PUT.
sobes.tech AI
Risposta dell'AI
Selezionando i casi di test per una richiesta PUT, mi baserei sui seguenti principi:
-
Scenari positivi:
- Aggiornamento completo riuscito di una risorsa esistente con dati validi.
- Aggiornamento parziale riuscito di una risorsa esistente (se l'API lo supporta).
- Aggiornamento della risorsa utilizzando valori limite per i campi.
-
Scenari negativi:
- Risorsa non trovata con l'ID specificato.
- Formato ID risorsa non valido.
- Tipo di dato non valido nei campi della richiesta.
- Mancanza di campi obbligatori nel corpo della richiesta.
- Formato errato del corpo della richiesta (ad esempio, non JSON).
- Tentativo di aggiornare campi che non devono essere aggiornati (ad esempio, ID, data di creazione).
- Permessi insufficienti per aggiornare la risorsa.
- Aggiornamento concorrente della risorsa (per verificare la gestione dei conflitti).
-
Condizioni limite:
- Valori massimi consentiti per i campi numerici.
- Stringhe vuote per i campi di testo (se consentito).
- Caratteri speciali nei campi di testo.
- Stringhe lunghe per i campi di testo.
-
Verifica degli effetti collaterali:
- Modifica di altre risorse correlate dopo l'aggiornamento.
- Visualizzazione corretta dei dati aggiornati in altre parti del sistema (ad esempio, nell'interfaccia utente).
Esempio di struttura di casi di test (per la risorsa user con campi id, name, email):
| ID del Caso di Test | Descrizione | URL della richiesta | Corpo della richiesta | Codice di stato previsto | Risposta attesa / Comportamento |
|---|---|---|---|---|---|
| PUT_USR_001 | Aggiornamento completo riuscito | /users/123 |
{"name": "Nuovo Nome", "email": "nuovo@esempio.com"} |
200 | Dati utente aggiornati restituiti |
| PUT_USR_002 | Utente non trovato | /users/999 |
{"name": "Nuovo Nome"} |
404 | Messaggio di errore che indica che l'utente non è stato trovato |
| PUT_USR_003 | Formato email non valido | /users/123 |
{"email": "email-invalida"} |
400 | Messaggio di errore che indica formato email non valido |
| PUT_USR_004 | Campo obbligatorio mancante (se applicabile) | /users/123 |
{} |
400 | Messaggio di errore che indica campo mancante |
| PUT_USR_005 | Valore limite massimo per un campo | /users/123 |
{"name": "A" * 255} |
200 | Dati utente aggiornati con nome lungo |
| PUT_USR_006 | Tentativo di aggiornare campo non aggiornabile (id) | /users/123 |
{"id": 456, "name": "Nuovo Nome"} |
400/403 | Messaggio di errore che indica richiesta proibita o errata |
Naturalmente, il set specifico di casi di test dipenderà dalla specifica API, dalla logica di business e dall'architettura del sistema.