Installazione

SoapUI è un software per effettuare test di servizi esposti su http (web services). E’ scaricabile in versione free software (GNU Lesser Public License 2.1) e installabile in varie piattaforme (Win / Mac / Linux/Unix). Basta scaricare il file eseguibile al seguente link e seguire la procedura guidata di installazione


Creazione di un nuovo progetto Rest

Apriamo l'applicazione e clicchiamo sull'icona per creare un nuovo progetto Rest:

Nel box del nuovo progetto indichiamo La Url del servizio, che sarà utilizzata come Default per il nostra chiamata (in questo caso, abbiamo un servizio in ascolto in locale sulla porta 8080)

A questo punto viene prodotta una gerarchia di partenza. Cliccando con il tasto destro a ciascun livello, è possibile rinominare ogni singolo componente in modo che sia più significativo

Analizziamo ogni livello in dettaglio:

  • Nome del Progetto
  • Service : L’indirizzo è lo stesso che abbiamo indicato in fase di creazione del progetto e verrà utilizzato come End Point di Defaul.t
  • Resource : Nome della risorsa e path per arrivare al servizio. Nel nostro caso Functions è il nome della classe che espone il servizio. Per poter indicare il path, basta selezionare la risorsa e modificare il valore nel box sottostante:
  • Method : Identificativo del metodo utilizzato. Suggerisco di utilizzare lo stesso nome del servizio esposto sul Web Server.
  • Request : La chiamata al Web Server.
  • Questa sarà quindi la nostra schermata una volta terminato di rinominare i vari livelli della gerarchia:


    Configurazione della Request

    Passiamo a configurare la request. Ci troviamo di fronte la seguente schermata che ci permette di poter inserire i parametri per la nostra chiamata. E' possibile anche cambiare l'endpoint e il Path. Se abbiamo configurato correttamente tutti i valori nella gerarchia, una volta arrivati a questo punto dobbiamo solamente settare i parametri e far partire la chiamata.

    Se la chimata va a buon fine, otteniamo il messaggio di risposta.

    In caso negativo, è possibile consultare l'errore che riporta il server tramite la schermata XML. SoapUI mette inoltre a disposizione vari log (http, error log, memory log, etc..) per poter fare il Debug della chiamata Rest.


    Configurazione del test di carico

    Il cosiddetto test di carico (Load Test) in soapUI è in realtà un test di prestazione. Solitamente il test viene configurato per eseguire eseguire la singola chiamata (che abbiamo creato precedentemente) per un numero prefissato di volte e da un numero specifico di threads. Per configurare un Test di carico in SoapUI per prima cosa aggiungiamo un TestCase alla request

    Una volta creato, con il tasto destro selezioniamo un nuovo load Test

    A questo punto abbiamo creato il test di caricamento. La schermata permette varie configurazioni e permette di leggere in tempo reale l'andamento del test.

    La toolbar superiore permette la configurazione del test tramite alcuni parametri:

  • Threads Indica il numero di Thread utilizzati nel test.
  • Strategy Selezionare la strategia di carico:
  • Delay: Tempo in millisecond tra ogni richiesta.
  • Random Il fattore causale del test. Con un ritardo di 600 ms e un Random factor di 0.5, l’attuale ritardo sarà distribuito in modo uniforme tra 300 ms e 600 ms.

  • Avvio del test di carico

    Una volta configurato, è possibile lanciare il test. SoapUI fornisce un'iterfaccia che viene aggiornata ad ogni chiamata e che indica l'andamento del test.

    Ogni valore ha un significato ben preciso:

  • min: Il minor tempo della singola chiamata (in millisecondi).
  • max: Il tempo massimo della singola chiamata (in millisecondi).
  • avg: Il tempo medio della singola chiamata (in millisecondi).
  • last: L’ultimo tempo della singola chiamata (in millisecondi).
  • cnt: Il numero di volte che la chiamata è stata eseguita.
  • tps: Il numero di transazioni al secondo per l’ultima chiamata.
  • bytes: Il numero di byte processati dal test.
  • bps: I bytes per secondo processati dal test.
  • err: Il numero di errori.
  • rat: Failed requests ratio (Percentuale con cui fallisce la richiesta).