Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Nico Orschel
ist Software Process Consultant, Autor und Referent im Umfeld Microsoft ALM bei der AIT und wurde von Microsoft als MVP für VS ALM ausgezeichnet. Er hilft Unternehmen auf Basis von TFS effizienter Software zu entwickeln und zu testen und so ein höheres Qualitätsniveau bei kürzeren Release-Zyklen zu erreichen. Mein Profil auf Google+ .

Nico Orschel

Neu in TFS 2013: Load-& Performance Testing mit Azure

Dienstag, 03. September 2013

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).

Test controllers and agents

(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

projects

2. Webtest über Visual Studio und Internet Explorer aufzeichnen

recording

3. Webtest feintunen (entfernen unnötiger Schritte)

loadtest_tuned

4. Lokaler Test

run_2

5. Webtest in Lasttest integrieren und Parameter des Lasttests konfigurieren (parallele Nutzeranzahl, Verbindungstypen, Browsertypen, Verteilungsschema)

load_2 load_3 load_4 load_5 load_6 load_7 load_8 load_9

Nachdem die Tests erstellt wurden, kann der Anwender diese jetzt mit Visual Studio 2013 auf drei verschiedene Arten ausführen:

  1. Lokal im Visual Studio,
  2. Auf eigener Load Testing Server-Infrastruktur (Testcontroller, Test Agent) oder
  3. 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.

run_7 cloud_1

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.

summary_azure_5 summary_azure_3

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:

[1]:http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/03/introducing-cloud-based-load-testing-with-team-foundation-service.aspx

[2]:http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/26/load-testing-with-team-foundation-service-launching-preview-and-early-adoption-program.aspx

[3]:http://msdn.microsoft.com/en-us/library/vstudio/dd728093.aspx

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: , , , , , , , , , ,

Hinterlasse eine Antwort