Belastningstester med Visual Studio 2008 - Gränssnittet
Belastningstester med Visual Studio 2008 - Gränssnittet ANVÄNDARGRÄNSSNITTET
Belastningstester med Visual Studio 2008 - Gränssnittet Test typer Alla tester skapas från den här vyn
Belastningstester med Visual Studio 2008 - Gränssnittet Test View Ger en enkel vy över de tester som man håller på att skapa Härifrån kan man sätta egenskaper samt ta bort och köra tester
Belastningstester med Visual Studio 2008 - Gränssnittet Options dialog Används för att anpassa Visual Studios egenskaper
Belastningstester med Visual Studio 2008 - Gränssnittet Test List Editor Används för att organisera testerna
Belastningstester med Visual Studio 2008 - Gränssnittet Test Run Configuration Styr hur testerna körs Man kan ha flera konfigurationer för att styra samma testfall i olika tillämpningssituationer
Belastningstester med Visual Studio 2008 - Gränssnittet Test Results Visar en sammanställning av aktuella testresultat Historiska resultat kan laddas via Test Runs
Belastningstester med Visual Studio 2008 - Gränssnittet WEB TESTER
Belastningstester med Visual Studio 2008 - Web tester Egenskaper för en Web test Använder HTTP anrop (POST/GET) för att testa Web applikationer Man kan ändra data dynamiskt under uppspelningen Man kan extrahera och kontrollera data i svaren från Web servern Med den inbyggda inspelningsfunktionen spelas huvudanropen in, vid uppspelning inkluderas refererade anrop automatiskt En Web test kan inte användas för att testa användargränssnittet eller dynamiskt exekvera klient applikationer
Belastningstester med Visual Studio 2008 - Web tester Att göra efter inspelning Kontrollera att det inspelade skriptet fungerar Ta bort oönskade anrop och lägga till det som ev. saknas Kontrollera om det finns dynamisk data som behöver parameteriseras Lägga till valideringar Justera väntetider och sätta mål för sidnedladdningar Koppla externa datakällor Identifiera och skapa de delar som ska inleda och avsluta skriptet (inoch utloggning) Vid behov skapa flödeslogik eller annan logik som kräver viss programmering
Belastningstester med Visual Studio 2008 - Web tester { // The Extract method. The parameter e contains the Web test context. //--------------------------------------------------------------------- public override void Extract(object sender, ExtractionEventArgs e) { if (e.response.htmldocument!= null) { foreach (HtmlTag tag in e.response.htmldocument.getfilteredhtmltags(new string[] { "input" })) { if (String.Equals(tag.GetAttributeValueAsString("name"), Name, StringComparison.InvariantCultureIgnoreCase)) { string formfieldvalue = tag.getattributevalueasstring("value"); if (formfieldvalue == null) { formfieldvalue = String.Empty; } Egna plugins för extrahering och validering av data Som komplement till de inbyggda reglerna så kan man även skapa egna plugins
Belastningstester med Visual Studio 2008 - Web tester Inspelning av Web test Det enklaste sättet att skapa ett skript är att använda det inbyggda inspelningsverktyget
Belastningstester med Visual Studio 2008 - Web tester Inspelning av med andra verktyg Fiddler är ett exempel på verktyg som bl.a. kan spela in HTTPS och skapa skript som går att köra i Visual Studio Det går även att skapa skript manuellt (copy/paste) m.h.a. andra HTTP analys verktyg
Belastningstester med Visual Studio 2008 - Web tester Basic och Coded Web Tests Basic är mer överskådligt Med Coded uppnår man högre flexibilitet men skripten blir mer komplexa att underhålla Man kan bara går från Basic till Coded, inte tvärt om
Belastningstester med Visual Studio 2008 - Web tester Kontrollera att skriptet fungerar Det vanligaste problemet är hårdkodade dynamiska värden Ibland behöver man dubbelkontrollera med andra verktyg att inspelningen är riktig och komplett Även om inga fel upptäcks i det här skedet kan det fortfarande finna logiska fel som kräver validering av innehållet i svaret från servern
Belastningstester med Visual Studio 2008 - Web tester Hantering av dynamisk data Inspelningsverktyget hanterar alltid dolda fält (hidden fields) och cookies Med funktionen Promote Dynamic Parameters så försöker verktyget hitta dynamisk data genom att jämföra inspelningar Oftast krävs manuell analys
Belastningstester med Visual Studio 2008 - Web tester Validering av data Även om det inte blir något HTTP fel så kan exekveringen gått fel Valideringar behövs men bör av prestandaskäl användas sparsamt
Belastningstester med Visual Studio 2008 - Web tester Väntetider, transaktioner och mål Väntetider (Think Time) behövs för att simulera hur en verklig användare beter sig Man kan definiera svarstidsmål per sida om den enskilda sidan är signifikant Transaktioner underlättar analys och presentation av resultat för komplexa tester
Belastningstester med Visual Studio 2008 - Web tester Koppla datakällor En av de vanligaste tillämpningarna är att hämta användarid och lösenord Man kan styra hur data ska hämtas vid uppspelningstillfället
Belastningstester med Visual Studio 2008 - Web tester Initiering och avslut Man vill ofta exekvera in och utloggning endast en gång per virtuell användare
Belastningstester med Visual Studio 2008 - Web tester While spelstatus = 3 counter15 += 1 counter30 += 1 If counter15 > 15 Then Dim request10 As WebTestRequest = New WebTestRequest("http://game.com/getSession") ' request10.headers.add(new WebTestRequestHeader("Authorization", "Basic bnl4egu6bnl4egvu")) Dim rule10 As ExtractText = New ExtractText rule10.startswith = "org/"">" rule10.endswith = "<" rule10.ignorecase = False rule10.useregularexpression = False rule10.required = True rule10.index = 0 rule10.contextparametername = "token" AddHandler request10.extractvalues, AddressOf rule10.extract MyBase.Send(request10) counter15 = 1 End If End While Flödeskontroll och andra kodade funktioner I Coded läget kan man lägga in villkorliga flödeskontroller
Belastningstester med Visual Studio 2008 - Belastningstester BELASTNINGSTESTER
Belastningstester med Visual Studio 2008 - Belastningstester Karakteristik för en belastningstest Simulerar den serverlast som många samtidiga användare genererar En ensam lastgenerator kan simulera hundratals med användare Det måste finnas ett underlag som beskriver förväntat utnyttjande och mål för transaktionerna Belastningstester är ett bra tillfälle för olika driftsfunktioner att lära sig mer om hur systemet beter sig Skripten kan med fördel använda vid tester av redundans och återställning av systemet
Belastningstester med Visual Studio 2008 - Belastningstest Vanliga utmaningar med belastningstester Svårighet att få tag på bra beskrivningar av förväntat utnyttjande och mål Uppsättning av testdata och monitorer Tillgång till expertis för att hjälpa till med felsökning Presentation av rätt mätetal för att nå fram till intressenterna
Belastningstester med Visual Studio 2008 - Belastningstester Load test wizard Hjälp för att stegvis bygga ett lastscenario
Belastningstester med Visual Studio 2008 - Belastningstester Counter sets VSTEST har inbyggd datainsamling för Windows Performance Monitor om man exempelvis vill samla in SNMP baserad statistik så måste man bygga en egen datainsamlare
Belastningstester med Visual Studio 2008 - Belastningstester Exekvering av test Via de fyra panelerna kan man upptäcka om testen inte går som planerat
Belastningstester med Visual Studio 2008 - Gränssnittet Resultat Resultatet lagras i en databas om man vill skriva egna rapportverktyg
Belastningstester med Visual Studio 2008 - Databaser DATABASER
Belastningstester med Visual Studio 2008 - Databaser Team Edition for Database Professionals Verktyget ger stöd för utveckling, test och refactoring och jämförelse av databaser För andra tester kan man även använda funktionen för generering av testdata
Belastningstester med Visual Studio 2008 - Databaser Team Edition for Database Professionals Verktyget ger stöd för utveckling, test och refactoring och jämförelse av databaser För andra tester kan man även använda funktionen för generering av testdata
Belastningstester med Visual Studio 2008 - Praktikfall PRAKTIKFALL
Belastningstester med Visual Studio 2008 - Praktikfall Spelsite Beskrivning Utbyggnad av en spelsite som tidigare testats m.h.a. LoadRunner Flash baserad applikation Miljö I huvudsak Microsoft Speciella utmaningar och erfarenheter Svårigheter att spela in skript Komplex logik i skripten Möjlighet att jämföra funktionalitet gentemot LoadRunner
Belastningstester med Visual Studio 2008 - Praktikfall Portallösning med höga säkerhetskrav Beskrivning Portallösning dimensionerad för att kunna hantera mycket stor volym av användare Omfattande säkerhetslösning Miljö Linux, BEA WebLogic, Oracle Speciella utmaningar och erfarenheter Svårigheter att spela in skript Inga Microsoft produkter på serversidan Komplex infrastrukturlösning i kombination med säkerhetskrav
Belastningstester med Visual Studio 2008 - VERKTYGSSTÖD GENOM APPLIKATIONENS LIVSCYKEL
Belastningstester med Visual Studio 2008 - Applikationens livscykel
Belastningstester med Visual Studio 2008 Verktygsstöd genom applikationens livscykel Krav Design Implementering Driftsättning Produktion Test Spårbarhet Säkerställa att design, implementering och test utgår från samma underlag Utvecklarnära tester Säkerställa att designen är korrekt och effektivt implementerad System tester Säkerställa att kraven är implementerade enligt specifikationerna Testledning och kontroll Planera och följa upp design, implementering och exekvering av tester Mätetal och beslutsunderlag Faktabaserad uppföljning och rapportering Felhantering Rapportera och åtgärda upptäckta fel Versionshantering Kontroll av kod, testfall, testresultat och testdata
Belastningstester med Visual Studio 2008 - Verktygsstöd genom applikationens livscykel Krav Externt system Work Items Architecture edition Design Team Foundation Server Test Test edition Developers edition Database edition Implementering Spårbarhet Kraven kopplas till Work Items (ärenden el. aktiviteter) som kan spåras genom alla utvecklingsfaser Man kan mäta testtäckning av krav Säkerställer att alla aktiviteter utgår från samma underlag
Belastningstester med Visual Studio 2008 - Verktygsstöd genom applikationens livscykel Enhetstester Profilering Kod analys Databas test Web test Lasttest Manuell test Generisk test Incheckningsregler som bl.a. kan kontrollera graden av kodtäckning Team Edition for Software Developers Utvecklarnära tester Integrerat stöd i utvecklingsverktyget Speciellt stöd för test av databaser och framtagning av testdata Incheckningsregler kontrollerar att alla obligatoriska tester har utförts Team Edition for Software Testers System tester Stöd för att utveckla, organisera och exekvera tester Automatiserade tester av användargränsnitt finns ej
Belastningstester med Visual Studio 2008 - Verktygsstöd genom applikationens livscykel Testledning och kontroll Planera och tilldela arbetsuppgifter Följa upp status för varje aktivitet inklusive beroende aktiviteter inom andra discipliner
Belastningstester med Visual Studio 2008 - Verktygsstöd genom applikationens livscykel Mätetal och beslutsunderlag Skapa faktabaserat beslutsunderlag angående systemets kvalitet Kunna ta beslut om när systemets kvalitet är tillräckligt hög för att sätta i produktion Ta beslut om att vidta åtgärder
Belastningstester med Visual Studio 2008 - Gränssnittet Möjligheter med Team System Ökad samverkan och kommunikation mellan grupper genom att integrera alla verktyg Effektivare processer genom integrerad metodikstyrning Bättre kontroll av effektivitet och resursutnyttjande