Einrichten von Webtests und Loadtest für SharePoint Anwendungen in Visual Studio Team System 2008.
Verbindung zur Datenbank als Load Test Repository.
Hier verlässt man zunächst die VS Oberfläche und begibt sich in die Konsole. Ich nehme mal an, es ist ein SQL Server (in meinem Fall SQL Express auf der gleichem Maschine) vorhanden.
Dann einfach VS Command Prompt (über das Startmenü) öffnen und ein CD in folgendes Verzeichnis machen:
c:\program files\microsoft visual studio 9.0\common7\ide
Anschließend folgendes Kommando ausführen (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 wollen wir den Webtest mal aufzeichnen. Das geht meines Wissens nach übrigens nur mit IE.
Den Test ordentlich benennen, wir ordnen ihn später einem Szenario zu.

Der Webtestrecorder ist ein IE Addon. Deshalb wohl die Einschränkung auf diesen Browser.
Der Pause Button macht sich gut, wenn man während des Aufzeichnens vergessen hat, was man machen wollte. Er unterbricht hoffentlich auch die Think Time, die mit aufgezeichnet werden kann.

Ende der Aufzeichnung. Man kann sich die augezeichneten Schritte im nachhinein noch einmal ansehen.

Run Settings einstellen
Die Run Settings erhalten, wir in dem wir über Test > New Test einen Load Test hinzufügen. Wir möchten ja die Last messen.
In den Run Settings stellen wir grob ein, welche Maschinen getestet werden und was darauf. Hier hängen wir unseren Webfrontend Server rein, auf dem die SharePoint Anwendung läuft. Der Rechner wird an seinem Namen erkannt. Der TFS-Eval hostet das VS2008 mit seiner Datenbank, beide befinden sich in der gleichen Domäne.

In den Eigenschaften des Tests sind u.a. die Test Iterations wichtig und Use Test Iterations. Unser Test soll nach der vorgegebenen Zeit beendet werden.

Szenario erstellen
Nun erstellen wir ein Szenario. Hier legen wir u.a. fest, ob unsere Benutzer zwischen den Klicks denken sollen, die Think Time.

Das Load Pattern legt fest, ob fest immer eine bestimmte Anzahl nutzer gleichzeitg den Test durchführen soll, oder ob die Anzahl der Benutzer ansteigt (Step Load).


In diesem Schritt fügen wir nun unseren Webtest hinzu.

Und ein bunter Mix aus Browsern.

Und eine Bandbreite. Unser Nutzer haben alle einen schmalen DSL Anschluss.

Dann können wir den Test starten. Der Eindruck eines Ergebnisses:

Ganz klar, der virtuelle Prozessor des virtuellen Entwicklerservers hatte gut zu tun (die ganzen roten Kreuze oben). Hier wird die Regel bestätigt: Lieber mehr Prozessoren als mehr RAM im Webserver. Während des ganzen Tests hat sich die RAM Auslastung des Webservers kaum verändert.
Ein Lasttest auf virtuellen Maschinen ist selbstverständlich wenig aussagekräftig. Aber es lassen sich dennoch die ersten Flaschenhälse und Tendenzen feststellen, denen man in der Entwicklung noch begegnen kann.
Die Load und Webtests sind in Visual Studio 2008 nur in der Test Suite oder in der Team Suite enthalten. Die Testfunktionalitäten der anderen Visual Studio Suites (Developer oder die Professional) enthalten nur Funktionen für Unit-Tests. Als freie Alternative bietet sich hier JMeter an.

