Risposta.
Il testing manuale delle API è un processo di verifica del funzionamento dell'interfaccia di programmazione dell'applicazione senza l'uso dell'automazione, tramite strumenti specializzati come Postman, Swagger o curl.
Storia della questione
Le prime API venivano testate manualmente a causa della mancanza di automazione e della relativa semplicità delle interfacce. Oggi, nonostante l'automazione, il testing manuale mantiene la sua rilevanza, soprattutto per la verifica di base di metodi nuovi o instabili.
Problema
Le principali difficoltà sono legate a:
- La necessità di una comprensione precisa della struttura dei dati in ingresso e in uscita (JSON, XML, ecc.)
- La complessità di riprodurre scenari complicati (autenticazione, dipendenza dallo stato del sistema)
- Il rischio di trascurare bug nascosti, non evidenti attraverso l'interfaccia utente
Soluzione
Un testing efficace richiede:
- Un lavoro attento con la documentazione API
- La creazione di set di richieste manuali che coprano diversi parametri e scenari di errore
- Il testing sia di scenari positivi che negativi (validazione dei dati, verifica delle autorizzazioni)
Caratteristiche chiave:
- La possibilità di controllare rapidamente un nuovo endpoint o uno modificato senza dover aspettare i test automatizzati
- Flessibilità nell'analisi di anomalie e errori, quando il risultato non è chiaro
- Controllo visivo su tutte le fasi della richiesta e della risposta
Domande trabocchetto.
Si può utilizzare solo l'interfaccia utente per il testing manuale delle API, senza strumenti come Postman?
No, poiché molti errori si manifestano solo a livello di trasmissione dei dati e non sono visibili attraverso l'interfaccia utente, per una verifica completa sono necessari strumenti specializzati.
È sufficiente inviare solo una richiesta valida per controllare il funzionamento di un endpoint API?
No, è importante testare non solo richieste valide, ma anche tutti i casi limite, non corretti e rari, altrimenti i bug non verranno trovati.
È necessario testare separatamente gli scenari negativi o è un lavoro superfluo?
È assolutamente necessario. È importante assicurarsi che il sistema gestisca correttamente gli errori e rifiuti le richieste non valide, altrimenti la sicurezza e la stabilità saranno a rischio.
Errori tipici e anti-pattern
- Testare solo scenari "ideali" (assenza di verifica per valori non validi)
- Ignorare lo stato del sistema — verifiche su dati già esistenti o su un database non preparato
- Mancanza di validazione delle intestazioni, degli stati di errore, dei casi non standard
Esempio dalla vita reale
Caso negativo
Un tester verifica solo una richiesta POST riuscita all'API "creare utente" — invia un JSON valido, riceve 200 OK e considera il test concluso.
Vantaggi:
- Verifica rapida dello scenario principale
Svantaggi:
- Errori trascurati relativi alla mancanza di campi, formato email non valido, creazione ripetuta dello stesso utente
- Nessuna certezza che l'API restituisca il codice di errore corretto
Caso positivo
Un tester controlla sistematicamente l'API "creare utente":
- successo per una richiesta valida
- errori per omissione di parametri obbligatori
- errore per creazione ripetuta
- verifica di diversi codici HTTP, messaggi di errore, validazione dell'email
Vantaggi:
- Garanzia di corretto funzionamento dell'API in diverse situazioni
- Minimizzazione del numero di bug in produzione
Svantaggi:
- Richiede più tempo per la preparazione e il controllo dei dati di test