Sobes.tech
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.