Guest post: Test di carico con Visual Studio Ultimate e il nuovo Load Test Feature Pack

Questo guest post è stato scritto da Matteo Emili, Microsoft MVP Visual Studio ALM.

A partire dall’8 marzo, gli utenti di Visual Studio Ultimate con abbonamento MSDN possono usare il nuovo Visual Studio Load Test Feature Pack, ossia l’uso dei Load Test senza limiti di utenti virtuali.

Ma di cosa si tratta?

Il Load Test è una funzionalità presente in Visual Studio Ultimate che permette di eseguire test di carico sulle nostre applicazioni web (e non solo, utilizzandolo ad esempio effettuando unit test sulla logica di business o sui DB). Possiamo scegliere quale mix di connessioni simulare e quali browser utilizzare, ed in quale percentuale, per eseguire questi test.

Vediamo come installare questo feature pack e come utilizzarlo per le nostre applicazioni.

Partiamo dal configurare il nostro Build Controller:

image

image

Cliccando su “Manage virtual user licenses” posso aggiungere il product key che ho scaricato dall’area subscriber di MSDN:

image

In questo modo possiamo aggiungere il nostro codice (anche più di una volta) per ottenere pacchetti da mille utenti per i nostri Load Test.

Utilizzarlo da Visual Studio è molto semplice. Bisogna creare un nuovo Load Test, a cui associare un Web Test precedentemente creato:

image

Diamo il nome allo scenario da simulare, e possiamo anche utilizzare dei “think times”, ossia dei tempi di attesa fra le iterazioni, che possono essere calcolati o registrati.

image

A seguire possiamo impostare un pattern di carico oppure un carico costante:

image

Il passo successivo consiste nel modellare la miscela di test da eseguire. Si può effettuare basandosi sul numero di test totali, sul numero di utenti virtuali, sul tempo da dedicare per utente oppure su un ordine sequenziale.

image

Ed ora finalmente associamo i Web Test al Load Test:

image

image

Subito dopo scegliamo quali tipi di connessione utilizzare, e con quale distribuzione sul carico totale:

image

E come ultimo parametro dello scenario da configurare, i tipi di browser:

image

Infine decidiamo se eseguire i test sulla nostra macchina o su un Test Controller dedicato...

image

...ed eventuali durate temporali particolari:

image

Questo è il risultato:

image

In questo caso ho associato un Web Test che fallisca, in quanto non viene trovata la favicon. Lo eseguo, ed ecco il risultato...

image

Possiamo aprire e verificare i risultati dei test, scegliendone uno possiamo avere un grafico dettagliato dei risultati:

image

In conclusione si tratta di un utilissimo strumento da utilizzare in ogni occasione, insieme agli altri tool di test, per verificare l’efficienza delle nostre applicazioni sotto stress.