Bereits seit Visual Studio 2005 sind für Anwender Last- & Performance Tests sehr einfach mit Visual Studio realisierbar. Mit wenigen Mausklicks und ein paar Zeilen Code können Anwender umfangreiche Lasttests für ihre Anwendungen realisieren. Mit einem lokalen Visual Studio besteht die Möglichkeit auf einem normalen Rechner bis zu 250 parallele Anwender auf einer Maschine zu simulieren. Diese Anzahl kann theoretisch auf eine unendliche Anzahl an parallelen Nutzern erweitert werden, wenn zusätzlich eine Serverinfrastruktur bestehend aus Test Controller und Test Agents angebunden wird (siehe nachfolgende Grafik).
(Quelle: [3])
An genau dieser Stelle gibt es im Alltag oft Probleme. Benötigt man eine große Anzahl an parallelen virtuellen Nutzern, dann wird auch ein großer Rechnerpark (Farm) benötigt. Eine solche Rechner-Farm ist normalerweise mit umfangreichen Kosten und Bereitstellungszeiten verbunden. Gerade in kleinen bis mittleren Projekten oder bei unregelmäßiger Ausführung wäre ein großer Rechnerpark deshalb wirtschaftlich nicht sinnvoll oder technisch nicht realisierbar. In den nachfolgenden Kapiteln lernen Sie die neuen Möglichkeiten kennen, sehr einfach Ihre Visual Studio 2013 Lasttests über die Microsoft Cloud Lösung Windows Azure ausführen zu können.
Das Thema Load-& Performance Testing findet in zwei Phasen statt, lokale Erstellung und anschließende Ausführung. Zu Beginn werden die Last- & Performance Tests in der gewohnten Art und Weise mit einem lokalen Visual Studio 2013 erstellt. Der Nutzer hat dabei die Möglichkeit Tests deklarativ (ohne Programmierkenntnisse mit Wizards, siehe nachfolgende Screenshots) oder bei komplexen Szenarien mit .NET Code zu erstellen.
In den nachfolgenden Screenshots ist ein vereinfachter Load Testing Prozeß dargestellt.
1. Web Performance and Load Test Project erstellen
2. Webtest über Visual Studio und Internet Explorer aufzeichnen
3. Webtest feintunen (entfernen unnötiger Schritte)
4. Lokaler Test
5. Webtest in Lasttest integrieren und Parameter des Lasttests konfigurieren (parallele Nutzeranzahl, Verbindungstypen, Browsertypen, Verteilungsschema)
Nachdem die Tests erstellt wurden, kann der Anwender diese jetzt mit Visual Studio 2013 auf drei verschiedene Arten ausführen:
- Lokal im Visual Studio,
- Auf eigener Load Testing Server-Infrastruktur (Testcontroller, Test Agent) oder
- Auf TFSService (Windows Azure) (neu in Visual Studio 2013!!!).
Der große Vorteil bei Windows Azure ist der geringe Einrichtungsaufwand für Nutzer. Es spielt für Nutzer des Features keine Rolle mehr ob 100 oder 1000000 parallele virtuelle Nutzer für Tests benötigt werden. Das Einzige, was der Nutzer in diesem Anwendungsfall tun muss um seine Lasttests in der Cloud auszuführen, ist eine neue Testsettings Datei anzulegen und dort “Run tests using Visual Studio Team Foundation Service” auswählen (siehe Screenshot). Startet der Nutzer anschließend seine Lasttests, dann wird entsprechend der gewählten virtuellen Nutzeranzahl die passende Anzahl an Test Agents im Microsoft Rechenzentrum hochgefahren und am Ende der Sitzung wieder heruntergefahren.
Zum aktuellen Zeitpunkt gibt es hier allerdings bestimmte Rahmenbedingungen zu beachten. Es stehen aktuell während der Testphase max. 15000 virtuelle Nutzerminuten pro Monat kostenlos zur Verfügung. In Stunden und Nutzer ausdrückt, bedeutet dies Sie können einen Lasttest mit 250 parallelen Nutzern für eine Stunde pro Monat kostenlos ausführen. Nach Erreichendes Limits lassen sich im aktuellen Monat keine weiteren Tests ausführen. Details zu den Konditionen und technische Hintergründe liefert der Blogartikel unter [1] und [2]. In Zukunft wird es hier sicherlich noch Anpassungen und weitere Services geben.
Neben der Konfiguration des Endpunktes unterscheidet sich auch die Übermittlung der Performance Daten von einer lokalen Ausführung. Wird ein Lasttest auf Azure ausgeführt, dann werden leicht zeitversetzt ausgewählte Kennzahlen zum Client statt (siehe Screenshots). Die Darstellung erfolgt während der Ausführung grafisch. Am Ende der Sitzung können Sie die Daten auch auf Ihren lokalen Client für tiefere erweiterte Analysen und Vergleiche herunterladen.
Fazit
Die neue Möglichkeit Last Tests jetzt auch auf der Windows Azure Infrastruktur auszuführen, ermöglicht Anwendern Ihre Anwendungen schnell und kostengünstig ohne komplexe Infrastruktur gegen eine große Anzahl an virtuellen Nutzer testen zu können. Gerade für kleine bis mittlere Teams oder Startups mit sehr begrenzten Infrastrukturbudgets oder IT Abteilungen werden Last Tests damit sehr einfach und vor allem kostengünstig verfügbar.
Weiterführende Informationen:
[3]:http://msdn.microsoft.com/en-us/library/vstudio/dd728093.aspx