Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Webtest und Load Test in VS 2008 erstellen

Einrichten von Webtests und Loadtest für SharePoint Anwendungen in Visual Studio Team System 2008.

Verbindung zur Datenbank als Load Test Repository.

Hier ver­lässt man zunächst die VS Oberfläche und begibt sich in die Konsole.  Ich nehme mal  an, es ist ein SQL Server (in mei­nem Fall SQL Express auf der glei­chem Maschine) vorhanden.

Dann ein­fach VS Command Prompt (über das Startmenü) öff­nen und ein CD in fol­gen­des Verzeichnis machen:
c:\program files\microsoft visual stu­dio 9.0\common7\ide

Anschließend fol­gen­des Kommando aus­füh­ren (evtl. SQL Instanz anpassen):

SQLCMD /S localhost\sqlexpress /i loadtestresultsrepository.sql

Siehe dazu im Übrigen auch :
http://msdn2.microsoft.com/en-us/library/ms182600.aspx

Nun zurück im VS 2008 die Datenbankconnection prü­fen unter:

Und

Webtest aufzeichnen

Dann wol­len wir den Webtest mal auf­zeich­nen. Das geht mei­nes Wissens nach übri­gens nur mit IE.

Den Test ordent­lich benen­nen, wir ord­nen ihn spä­ter einem Szenario zu.

Der Webtestrecorder ist ein IE Addon. Deshalb wohl die Einschränkung auf die­sen Browser.

Der Pause Button macht sich gut, wenn man wäh­rend des Aufzeichnens ver­ges­sen hat, was man machen wollte. Er unter­bricht hof­fent­lich auch die Think Time, die mit auf­ge­zeich­net wer­den kann.

Ende der Aufzeichnung. Man kann sich die auge­zeich­ne­ten Schritte im nach­hin­ein noch ein­mal ansehen.

Run Settings einstellen

Die Run Settings erhal­ten, wir in dem wir über Test > New Test einen Load Test hin­zu­fü­gen. Wir möch­ten ja die Last messen.

In den Run Settings stel­len wir grob ein, wel­che Maschinen getes­tet wer­den und was dar­auf. Hier hän­gen wir unse­ren Webfrontend Server rein, auf dem die SharePoint Anwendung läuft. Der Rechner wird an sei­nem Namen erkannt. Der TFS-Eval hos­tet das VS2008 mit sei­ner Datenbank, beide befin­den sich in der glei­chen Domäne.

In den Eigenschaften des Tests sind u.a. die Test Iterations wich­tig und Use Test Iterations. Unser Test soll nach der vor­ge­ge­be­nen Zeit been­det werden.

Szenario erstellen

Nun erstel­len wir ein Szenario. Hier legen wir u.a. fest, ob unsere Benutzer zwi­schen den Klicks den­ken sol­len, die Think Time.

Das Load Pattern legt fest, ob fest immer eine bestimmte Anzahl nut­zer gleich­zeitg den Test durch­füh­ren soll, oder ob die Anzahl der Benutzer ansteigt (Step Load).

In die­sem Schritt fügen wir nun unse­ren Webtest hinzu.

Und ein bun­ter Mix aus Browsern.

Und eine Bandbreite. Unser Nutzer haben alle einen schma­len DSL Anschluss.

Dann kön­nen wir den Test star­ten. Der Eindruck eines Ergebnisses:

Ganz klar, der vir­tu­elle Prozessor des vir­tu­el­len Entwicklerservers hatte gut zu tun (die gan­zen roten Kreuze oben). Hier wird die Regel bestä­tigt: Lieber mehr Prozessoren als mehr RAM im Webserver. Während des gan­zen Tests hat sich die RAM Auslastung des Webservers kaum verändert.

Ein Lasttest auf vir­tu­el­len Maschinen ist selbst­ver­ständ­lich wenig aus­sa­ge­kräf­tig. Aber es las­sen sich den­noch die ers­ten Flaschenhälse und Tendenzen fest­stel­len, denen man in der Entwicklung noch begeg­nen kann.

Die Load und Webtests sind in Visual Studio 2008 nur in der Test Suite oder in der Team Suite ent­hal­ten. Die Testfunktionalitäten der ande­ren Visual Studio Suites (Developer oder die Professional) ent­hal­ten nur Funktionen für Unit-Tests. Als freie Alternative bie­tet sich hier JMeter an.

12. März 2008

Pin It on Pinterest