Con l'applicazione Java-based JMeter di Apache è possibile automatizzare la fase di testing di una Web application. Più in dettaglio, JMeter consente all'utente di effettuare la memorizzazione di uno o più scenari di test, o use case, e di automatizzarne l'esecuzione in base a una configurazione personalizzabile che permette di indicare sia il numero dei client connessi simultaneamente che la distanza temporale tra l'instaurazione delle connessioni relative ai differenti client.
E' evidente che queste caratteristiche rendono JMeter uno strumento di notevole interesse anche per effettuare lo stress testing di una Web application, al fine di individuare eventuali problematiche inerenti la stabilità del prodotto al variare del traffico Web. Ne consegue, inoltre, che JMeter può essere molto utile per verificare la correttezza del dimensionamento della piattaforma Web che pubblica la Web application e/o, stabilita la componente infrastrutturale, per evidenziare la necessità di interventi migliorativi sulla Web application nell'ambito della code optimization.
2. Configurazione di Meter per HTTP(S) Test Script Recorder
Con JMeter uno scenario di test - che ai nostri scopi può essere schematizzato come una sequenza di azioni e a basso livello si traduce in una sequenza di richieste HTTP - può essere configurato manualmente oppure in maniera automatica mediante la funzionalità di HTTP(S) Test Script Recorder.
Di seguito consideriamo questo secondo caso, con una descrizione di tipo step by step, in quanto il primo è più complesso e, soprattutto, meno efficiente, poiché richiede la preimpostazione di un ampio set di informazioni, la cui evidenza può non essere immediata (come i parametri, e relativi valori, passati alla Web app mediante Web form), che, invece, il componente HTTP(S) Test Script Recorder configura in automatico.
Per lanciare JMeter in ambiente Windows è sufficiente cliccare due volte sul bat bin\jmeterw, dove bin è una sottodirectory della directory di installazione. Tuttavia, se la rete aziendale è connessa a Internet mediante un server proxy, allora JMeter deve essere avviato digitando da linea di comando la seguente istruzione:
jmeterw -H IP_PROXY -P SOCKET_PROXY -N localhost
dove IP_PROXY e SOCKET_PROXY devono essere sostituiti rispettivamente con l'indirizzo IP e il socket relativi al server proxy in uso.
Dopo aver avviato JMeter e considerando l'albero presente nella parte sinistra della window principale dell'applicativo, è necessario selezionare il nodo Test Plan e aggiungere il componente Thread Group (Add -> Threads (Users) -> Thread Group). Il componente Thread Group è finalizzato a configurare alcuni aspetti relativi alla numerosità e alla tempistica delle azioni (richieste HTTP) che, in fase di testing automatico, JMeter esegue sulla Web application.
Figura 1
Con la configurazione di cui in figura 1 abbiamo richiesto a JMeter di simulare un numero di utenti che accedono in parallelo alla Web app (o anche, in altre parole, di thread che eseguono lo scenario di test) pari a 5, mentre la finestra temporale, misurata in secondi, durante la quale tutti i thread indicati in precedenza sono avviati (o in maniera analoga tutti gli utenti indicati in precedenza accedono alla Web app) è pari a 10 secondi. Ne consegue, quindi, che nel nostro caso ogni thread parte 2 secondi (10/5) dopo il precedente.
Sempre in riferimento alla configurazione esemplificata, con "Loop Count" pari a 1 abbiamo scelto di ripetere una sola volta lo scenario di test. Per ripeterlo N volte è quindi sufficiente configurare il "Loop Count" pari a N, mentre per ripeterlo infinite volte è sufficiente selezionare "Forever".
Nella pagina successiva prosegue la descrizione della configurazione del nodo Test Plan al fine di utilizzare il componente HTTP(S) Test Script Recorder.
Le pagine di HWSetup.it sono generate da un'applicazione proprietaria di cui è vietata la riproduzione parziale o totale (layout e/o logica). I marchi e le sigle in esso citate sono di proprietà degli aventi diritto.