Last- und PerformanceTests für alle Matthias Zieger Business Development Test & QA Solutions Microsoft Deutschland GmbH Lasttest wozu ? Klarheit Agenda Testszenarien Anwendung innerhalb Microsoft Die Leistungsmerkmale von Visual Studio für Lasttests Erweiterbarkeit von Visual Studio in Bezug auf Lasttests Dogfood Visual Studio ist das de facto LastTesttool innerhalb von Microsoft Skaliert extrem gut Kann auch komplexe Szenarien abdecken Beispiele Team Testobjekt Beschreibung Office Server Office SharePoint Windows SharePoint Excel Server Perf and stress testing of Office Server System SQL SQL Reporting Services SQL BI Perf and Stress, benchmarking, sizing Dynamics AX Dynamics 4.0 Perf and Stress, benchmarking, sizing MSN/Live Ad Center Hot Mail Virtual Earth Autos March Madness Music More… High volume perf and stress testing Groove Open Office Perf and Stress Testing DevDiv Team Foundation Server Perf and Stress Test TFS MSIT SAP Load Test SAP via Web Services MSTV IPTV servers Huge tests to load test IPTV national rollout MS CRM MS CRM Perf and Stress, benchmarking, sizing Microsoft.com Microsoft.com Dr Watson Log collection servers Windows Update Patch download servers Recent 12-hour production test: Total requests generated 3.63 Billion Average requests/sec 84,248 Using Load Tests to validate IPTV pods Perf andservices Stress Testing Each 100,000 customers Many majorTesting telecoms are customers: Perf and Stress AT&T, Tel Italia, Bell Canada, more… Perf and Stress Testing Agenda Testszenarien Die Leistungsmerkmale von Visual Studio für Lastund Performance Tests Web Test Architecture Load Test Architecture Erweiterbarkeit von Visual Studio in Bezug auf Lasttests Lasttests für alle Ziel: Lasttests so früh wie möglich einsetzen Deswegen: Enge Integration mit Visual Studio Unlimited Virtual Users (aka VU Packs) Data Collection Performance Counter Sets zum ermitteln der Kennzahlen Test-Ergebnisse sind in einer Datenbank gespeichert Performance Analysis Korrelationen der Server Aktivitäten mit Lasttest-Messergebnissen Analysemöglichkeiten im Fehlerfall (Drill Down) Funktionale Web-Tests “HTTP” Tests (auf Protokollebene, nicht GUI Level) Sendet Daten via HTTP HTTP headers Query String Form Post parameters Validiert Server Responses Parameter können „Datadriven“ variiert werden AJAX Support Neue Möglichkeiten Verzweigungen und Schleifen in einem Web Performance Test Excel basiertes Reporting Coded-UI Tests können als Lasttest wiederverwendet werden Integration mit Datenkollektoren ASP.net Profiler Intellitrace™ Demo: Web Tests Lasttest Architektur Visual Studio Load Agents Web Server (AUT Test Controler Load Test database server Optional: Microsoft Test Manager 2010 Besonderheiten Flexible Last-Modellierung “Szenarios” zur Modellierung des tatsächlichen Nutzerverhalten Zielbasiert, Sprunghafte, Konstante oder eigene Modelle Simuliert verschiedene Browser und Netzwerke Zeit- oder Iterationsbasierende Testläufe Last-Generierung ist sehr effizient (da Script Compiliert wird) Unit-Tests können für Last-Tests benutzt werden Coded UI Tests können genutzt werden Neuigkeiten Virtual User activity chart 64-bit Testausführung Netzwerk Emulation auf Treiber-Ebene Scripting ist einfacher gewordem Neue “Extensibility Points” … und einiges mehr! Performance-Messungen Vordefinierte Performance Counter Load Agents für Skalierbarkeit Verteilbarkeit Demo: Lasttests Erweiterte Analyse Performance Tools: Profiler Wie identifiziere ich meine Performance Probleme? Sampling Instrumentation Memory allocation Beispiel-Report Lastspitzen entdecken Teuerster Pfad der Anwendung Teuerste Funktion Tier Interaction Profiling Analyze the performance of a multi-tier application against its Data tier and SQL Server Analyze page request patterns and database interactions for web applications JScript Profiling (Client Side) Application Performance Ajax Performance Editor Integration Identify lines with considerable performance impact while coding Visual Studio Load Testing Testszenarien Die Leistungsmerkmale von Visual Studio für Lasttests Erweiterbarkeit von Visual Studio in Bezug auf Lasttests Erweiterbarkeit Besser Lasttesten • Lasttest sehr früh möglich • Komfortabler Load Test Wizard • Load Pattern • Test Mix • Browser Mix • Network Mix • Günstiger Preis • Erweiterbar Vorteile für Ihr Projekt Risikominimierung durch bessere Kommunikation zwischen Entwicklern, Projektleitern und QS Bessere Einhaltung von SLAs durch Simulation von echten Last-Szenarien Weniger Kosten in der Entwicklung durch Wiederverwendung von funktionalen- und Unit-Tests in Loadszenarien Weniger Kosten im RZ durch besser skalierende Web-Anwendungen (Hardware + Lizenz Kosten) Community Links Forums http://social.msdn.microsoft.com/Forums/en-US/vstswebtest/threads Blogs Blogs.msdn.com/edglas Blogs.msdn.com/billbar Blogs.msdn.com/slumley http://blogs.msdn.com/edglas/pages/content-index-for-web-tests-and-load-tests.aspx CodePlex Quick Reference Guide WCF Load Test Recorder SQL Load Test Recorder Load Test Reports Web and Load Test Plugins SharePoint Scripts Danke für Ihre Zeit ! Kontakt: [email protected] https://www.xing.com/profile/Matthias_Zieger http://www.linkedin.com/pub/matthias-zieger/2/898/1b4 © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.