Testare massivamente servizi Rest-API
E' facile e comodo usare Postman per testare e prototipare servizi REST/API ma come si progettano ed effettuano dei test per mettere sotto stress uno o più servizi ?
Configurare una collection ad-hoc
Il concetto di test massivo, quantomeno, in postman è collegato all'entità "Collection". Quindi bisogna creare una collection ad-hoc che contenga, clonandole, tutte le richieste che si vogliono testare massivamente.
All'interno di questa collection vanno raccolte tutte le variabili "statiche". Queste variabili sono i parametri che NON cambiano ad ogni iterazione. Per le variabili che cambiano ad ogni iterazione useremo un file apposito.
Configurare l'authorization a livello di collection
Nel caso di servizi con un sistema di autenticazione bisogna configurare questo sempre a livello di collection.
Bisogna specificare, come modalità di autenticazione, "Inherit auth from parent" per fare in modo che la specifica richiesta erediti l'autenticazione dalla collection.
ATTENZIONE: è fondamentale salvare ad ogni passaggio altrimenti non prende le modifiche.
Le richieste
Conviene iniziare con le richieste preparando un caso specifico di chiamata e accertandosi che funzioni.
Nella tab "Tests" è possibile scrivere del codice che effettui specifiche verifiche sul risultato ottenuto dall'esecuzione della richiesta, qui ad esempio si verifica se la risposta ha un codice HTTP 200, che equivale allo stato "OK":
Parametri letti da file
Per parametrizzare le variabili con valori pescati da un file, che cambieranno ad ogni iterazione. Cioè i valori delle variabili verranno sostituiti, da quelli specificati nel file, ad ogni iterazione pescando dalle righe del file. Quindi se si vogliono fare 3 iterazioni con, ad ogni iterazione valori diversi per le seguenti tre variabili, va preparato un file come questo rappresentato:
Il file deve essere nel formato CSV.
Parametri generati dinamicamente
Esecuzione
In fase di esecuzione del test, che avviene mandando in "Run collection" dal menu contestuale alla collection:
Il run consentirà di selezionare il numero di iterazioni, l'attesa fra una iterazione e l'altra e l'eventuale file con i parametri di esecuzione visto prima:
Selezionato il file si può anche vederne un'ateprima:
I risultati riporteranno il superamento o meno dei singoli script di test, il codice di stato della risposta, il tempo di esecuzione e le dimensioni della risposta:
Commenti
Posta un commento