Middle
Fornisci un esempio di come sceglieresti i casi di test per una richiesta PUT.
sobes.tech AI
Risposta dell'AI
Per la selezione dei casi di test per la richiesta PUT, applico i seguenti approcci, concentrandomi su diversi aspetti:
-
Dati validi:
- Creazione / modifica di una registrazione con dati corretti e completi.
- Modifica solo di alcuni campi, lasciando gli altri invariati.
- Modifica di tutti i campi con nuovi valori validi.
- Uso di valori limite per campi numerici (minimo, massimo).
- Uso di diversi formati di dati consentiti dalla specifica (ad esempio, data, ora).
-
Dati non validi:
- Invio di dati con tipo di campo errato (ad esempio, stringa invece di numero).
- Invio di dati che violano restrizioni di lunghezza della stringa o intervallo numerico.
- Invio di dati che violano l'unicità del campo (se applicabile).
- Invio di dati con formato errato (data non valida, email).
- Mancanza di campi obbligatori.
- Invio di stringhe vuote o null per campi che non devono essere vuoti.
-
Esistenza della risorsa:
- Richiesta PUT a una risorsa esistente.
- Richiesta PUT a una risorsa inesistente (risposta attesa 404).
-
Autorizzazione e autenticazione:
- Richiesta PUT con credenziali corrette di un utente autorizzato a modificare la risorsa.
- Richiesta PUT con credenziali errate o assenti (atteso 401 Non autorizzato o 403 Vietato).
- Richiesta PUT da parte di un utente senza i permessi necessari per modificare questa risorsa (atteso 403 Vietato).
-
Sincronizzazione e concorrenza:
- Richieste PUT simultanee alla stessa risorsa (ad esempio, usando etag).
-
Gestione degli errori:
- Richiesta PUT che deve causare un errore lato server (ad esempio, a causa di un guasto interno).
Esempio di tabella con casi di test:
| ID | Descrizione del caso di test | Precondizioni | Dati di test (parte della richiesta) | Risultato atteso | Codice HTTP |
|---|---|---|---|---|---|
| PUT-001 | Modifica di una risorsa esistente con dati validi | Risorsa con ID=123 esiste | { "name": "Nuovo Nome", "value": 100 } |
Risorsa aggiornata con successo, i dati corrispondono alla richiesta | 200 |
| PUT-002 | Modifica di una risorsa esistente con aggiornamento parziale | Risorsa con ID=123 esiste | { "name": "Solo nome cambiato" } |
Risorsa aggiornata con successo, solo il campo name modificato | 200 |
| PUT-003 | Tentativo di modificare una risorsa inesistente | Risorsa con ID=999 non esiste | { "name": "Aggiornamento inesistente" } |
Risorsa non trovata | 404 |
| PUT-004 | Modifica di una risorsa con tipo di dato non valido | Risorsa con ID=123 esiste | { "value": "non_un_numero" } |
Errore di validazione dei dati | 400 |
| PUT-005 | Modifica di una risorsa senza autenticazione | Risorsa con ID=123 esiste, richiesta senza token | { "name": "Cambio non autorizzato" } |
Non autorizzato | 401 |
Ogni caso di test deve essere atomico e verificare un aspetto specifico della funzionalità della richiesta PUT.