posts - 4238, comments - 3946, trackbacks - 370

My Links

News



Subscribe Subscribe

image image image





This is my personal weblog. These postings are provided 'AS IS' with no warranties, and confer no rights. The views expressed on this weblog are mine alone and do not necessarily reflect the views of my employer.

Licenza Creative Commons

Tag Cloud

Archives

Post Categories

Load Test di siti Web con WATIN e con i Web Test di VSTS

WATIN e VSTS hanno un approccio completamente diverso riguardo ai Web Test. Il primo "tira su" un'istanza di IE e la comanda via automation, il secondo invia e riceve dati direttamente sulla rete, senza usare un browser "fisico".

Entrambi gli approcci sono percorribili in situazioni diverse quando bisogna fare Web Test, il primo (WATIN) è più indicato quando si vuole lavorare su come il browser "presenta" le informazioni, ma richiede molta più fatica, anche utilizzando l'apposito recorder, il secondo (VSTS Web Test) è più indicato quando ci si vuole concentrare sulle risposte del server, e non su come il browser le presenta, ottenendo una maggiore indipendenza dei test dal layout.

Un punto dove la differenza di approccio è sostanziale è nel caso dei Load Test, vediamo un esempio:

watinloadtest2 loadtestvsts

La prima schermata è il risultato di un load test di uno Unit Test che utilizza WATIN per navigare nel mio blog con IE. La seconda schermata è il risultato di un load test di un Web Test che naviga le stesse identiche pagine.

Come si vede con il load test con WATIN la CPU era già a PALLA con pochissimi utenti, mentre con il load test del Web Test si riesce tranquillamente a raggiungere (anche nella mia macchina virtuale) un numero elevato di utenti virtuali.

Gli errori segnalati nel primo test sono tutti errori client (timeout di IE, molti dovuti al PopUp dell'errore 500 di ASP.NET Ajax), mentre gli errori segnalati nel secondo sono quasi tutti errori server (Service Unavailable, Internal Server Error e altri... scusa Andrea, non volevo martoriare il blog... smile_regular).

Ho interrotto il secondo load test per problemi di memoria, ma era con 10 volte tanto gli utenti simulati.

P.s. per riuscire a fare dei load test seri con WATIN ho dovuto modificare sostanzialmente il codice generato dal recorder, inserendo una "using" dell'oggetto IE (per evitare di trovarmi con la macchina impallata, si veda sotto) e specificando di creare un nuovo processo per ogni richiesta ad IE, pena l'impallamento generale già dopo un paio di giri di test:

watin 

P.p.s. le pagine navigate sono tre di numero, non ci sono controlli, regole o altro. Se riesco in un prossimo post vedremo se e come cambiano le cose introducendo regole di estrazione/validazione in scenari più reali.

Technorati Tags: , ,

Print | posted on giovedì 22 maggio 2008 15:58 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET