Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Testing med Visual Studio Team System for Software Testers

Lignende præsentationer


Præsentationer af emnet: "Testing med Visual Studio Team System for Software Testers"— Præsentationens transcript:

1 Testing med Visual Studio Team System for Software Testers
TechTalk Testing med Visual Studio Team System for Software Testers Martin Pamdeth Developer & Platform Strategy Microsoft Danmark blog:

2 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar

3 Database Professional
Visual Studio Team System Udvidelse af Visual Studio på tværs af Applikations Livsforløbet (ALM) Developer Designer Database Professional Architect Tester Business Analyst IT / Project Manager Projekt Gennemsigtighed Team Samarbejde Software Kvalitet © 2006 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. 3

4 Visual Studio Team System Application Life Cycle Management (ALM) Løsning
Web Clients and XML Web Services Business Analyst Operations, QA and Help Desk Third-Party IDEs © 2006 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. 4

5 Visual Studio Team System
Visual Studio Team Suite Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Visual Studio Industry Partners Application Modeling Code Analysis Performance Testing Database Deployment Infrastructure and Deployment Modeling Performance Tuning Manual Testing Database Change Mgmt. Test Case Management Database Testing Security Analysis Unit Testing Code Coverage MSF Process and Guidance Class Modeling Visio and UML Modeling Visual Studio Professional Edition Team Build Server Load Test Agent Visual Studio Team Foundation Server Change Management Reporting Integration Services Work Item Tracking Project Site Project Management © 2006 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. 5

6 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar 6

7 Hvorfor teste? Øget kvalitet Find og ret design fejl
Lavere TCO og vedligeholdelses omkostninger

8 Hvornår skal man teste? Så ofte som muligt Så tidligt som muligt
Automatiserede tests vil være til hjælp

9 Hvad skal man teste? Kritisk forretningslogik Alt andet
Jo tydligere kravene til performance og skalerbarhed er beskrevet, desto lettere er det at vide, hvad der skal testes Projektledelsen bør skaffe disse data så tidligt som muligt i forløbet Bør helst være defineret fra start af

10 Test af applikationer Funktionel test Performance test Sikkerheds test
Robustheds test Usability test

11 Funktionelle test Validerer brugerkrav Test data skal defineres
Store applikationer/web sites kan være svære at teste Fejl skal gøres reproducerbare Test repetitioner er nødevendige regressions/integrations tests

12 Performance tests En af de mest kritiske og ofte oversete tests for web løsninger Bør køres for hver iteration i projektet Vigtigt at definere mål og holde testene op imod disse mål Optimer applikationen om nødvendigt

13 Projekter og Tests Ofte dyrt at vente til sidst
Strategier for at minimere indvirkningen 30 25 20 Relative omkostninger for at rette bugs... 15 10 5 Kodning Integration Krav Beta Test Post-Release

14 Udfordringer... Det er dyrt at finde og rette fejl, der undslipper ifm. den daglige udviklings praksis Det er svært at diagnostisere fejl ved runtime Hvorfor kører en given applikation langsomt? De enklete udviklere og testere har brug for at vide om de følger tidsplanen Test og udvikling er ofte ude af synk Den endelige test fase ifm idriftsættelse er ofte for ad-hoc Hvornår har man testet tilstrækkeligt?

15 “Defence In Depth” Microsoft bruger en 'defence in depth' strategi
Unit testing Kode reviews Jævnlige builds Fang fejlene tidligt Statiske checks Runtime checks

16 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar 16

17 Fokus på kvalitet tidligt i processen
Visual Studio Team System klient Team Foundation Server Unit Testing og Code Coverage Versions-styring Statisk og Dynamisk Analyse Bug Tracking Team System Goal: Move quality upstream in the development process Code is better on checkin Better, more frequent handoffs between dev and test for continuous quality Tools are integrated so they are part of the way you work Transparency through reporting Client tools: Unit testing and code coverage encourage dev testing early. Now db unit tests too! Static and Dynamic analysis finds problems before they are checked in Policies enable you to instill your processes on the team. Web and load testing available to load test early in the process on your terms to find perf and scale problems, and not leave it to an external team late in the process. TFS: capture and integrate project assets at the data layer TFS stores Source, bugs and work items, builds Reports on team portal show quality metrics like bug trends, code coverage, code churn Checkin regler Build Server Web og Load Testing Reporter m. Kvalitets metrikker

18 VSTS Developer &Tester Eksempel på forløb
Udv. skriver kode Udv. skriver & kører Unit Tests Udv. laver kode review Udv. kører Kode Analyse Udv. definerer Load Tests Udv. checker arbejde ind Tester undersøger Build Status Tester kører Load Test Tester rapporterer fejl Udv. diagnosticerer og retter fejl Udv. checker arbejde ind

19 Integration af Udv. og Test
Tests er bare endnu en form for kildekode: Er under versionskontrol Versioneres sammen med produktet “Test Komplet” Test kodningen planlægges sammen med udviklings arbejdet Spores vha. work items Testere notificeres når fejl bliver rettet

20 Visual Studio Team System Team Edition for Software Testers
Manuelle test Ikke eller svært automatiserbare tests Unit testing Gerne kombineret med Code Coverage, måler effektivitet af ens tests Web test Automatisk afspilning af optagede web scenarier (HTTP/S), samt kode generering Web services tests via protocol-baseret script Load test Parallelt distribuerede unit og funktionelle test Præ-konfigurerede samt skrædersyede load mønstre Foruddefineret metrik opsamling samt overvågning af tærskler Generiske test Integration af anden test kode (Pass/Fail) Skrædersyede test typer 3. parts test integration Test administration samt kobling til Build services © 2006 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. 20

21 Web Tests Ikke kun til ASP.NET Kan benyttes til test af Web Services
HTTP-baseret En vilkårlig web side Kan benyttes til test af Web Services

22 Test Typer Optagede tests (deklarative) Kodede tests XML format
Liste af URL’er og parametre Validerings- samt ekstraktions-regler Kodede tests Udvides via programlogik Konverteres fra optagne tests

23 Smarte Features Forberedt for Forms Authentication Viewstate Tracking
Cookie Tracking

24 Validerings- og ekstraktions regler
Valider webside tilgang Check indhold eller respons Definer skræddersyede regler Validering kan være data-styret Extraher attributter / parametre Til brug i efterfølgende requests

25 Kodede Web Tests Komplet skræddersyet test løsning // Create a test
WebTestRequest request1 = new WebTestRequest(" request1.ThinkTime = 8; // Add a rule ValidationRuleFindText rule1 = new ValidationRuleFindText(); rule1.FailIfTextFound = false; rule1.TextToFind = "IBuySpy"; request1.ValidateResponse += new ValidateResponseEventHandler(rule1.Validate);

26 Implementering af Tests

27 Test Typer – kan udvides
Vi understøtter 5 test typer “out of the box”: Manuelle Unit (C#, C++ and VB .NET) Web Load/Stress/Smoke 3. parts leverandører kan tilføje deres egne -- fuldt integrerede -- test typer

28 VSIP Partners Compuware and Automated QA provide a full line of testing tools, include UI automation tools SPI Dynamics provides security testing tools Identify and AviCode provide diagnostics

29 Andre Test Typer Ordnet Generisk
Afvikler en gruppe af tests i foruddefineret rækkefølge Generisk En indkapsling af eksisterende tests (Pass/Fail)

30 Tests: kerne element i VSTT
Understøtter forskellige roller Test implementatør (udviklere & testere) Test afvikler & organisator Build miljø understøttelse Nye brugergrænseflade elementer Test View – implementering, kørsel Test Manager – gruppering, kørsel Test Results – kørsels resultater Test Runs – status og historik Code Coverage Results – test effektivitet

31 Administation & kørsel af tests
Tests kan gruppperes i kategorier Kørsel af tests: Lokalt & remote Via IDE’et Fra kommandolinen: MSTest.exe Via MS Build Task Integration i en større sammenhæng: Kildekode kontrol Issue / Work item tracking Microsoft Solutions Framework

32 Admin & Kørsel af Tests

33 ASP.NET Performance Problemer
Hvordan opfører jeres applikationer sig under load? Hvilken funktionalitet har størst performanceimpact? Processor / disk forbrug? Er i nødt til at deploye til en produktions server for at kunne teste?

34 ASP.NET Load Testing Integreret i VSTS for SW Testers
Anvender test scripts til scenarierne Browser / bruger load / server kontrol (?) Visualisering af resultater Grafer Login script - 10% Browse script - 60% Search script - 30% Web Site Tabeller XML

35 Work Load Modellering Modeller brugadfærd, load, browsertyper og netværksforbrug vha. scenarier Web tests Load Pattern Unit tests

36 Definer Counter Sets Foruddefinerede counters til de forskellige teknologier

37 Tærskel definitioner

38 Load Test Profiler Constant Step Goal Seeking
Øg load indtil et mål er nået F.eks. øg loadet indtil load agentens CPU er på 90%, og hold derefter loadet stabilt

39 Load Test Monitor

40 Load Test Monitor Sort by response time Goal-based Performance
Reporting

41 Load Test Monitor Lav skræddersyede grafer til at sammenholde responstider med server aktivitet Tærskel alarmer Bor ind for at gennemgå fejl detajlerne Sorter data kolonnerne for nemt at finde langsomme web sider Automatisk rapportering af “Page Times” Se hvilker web sider, der ikke står mål med performance kravene

42 Threshold Violations Drag counters From machines under test onto graph

43 Load Test Analyzer Al data opsamles i SQL Server til analyse
Lav skræddersyede grafer til at sammenligne maskinaktivitet med performance Zoom ind for at grave dybere i analysen

44 Click and drag to zoom

45 Zoom Control

46 VSTS Team Test Load Agents
Scale out load generation IP Switching Distributed f-test Share rig with team

47 Fordele – Load Testing Scale out load generering
Effektiv load generering (1000 virtuelle brugere på en typisk maskine med en typisk web test) IP Switching til test af web farme Per CPU licensiering (ingen virtuel bruger lic.) Performance counters opsamles på Load Agents og maskiner under test Data (stats og logs) gemmes i central TFS SQL Server til analyse Load Test Monitor giver mulighed for monitorering af igangværende load test

48 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar 48

49 Team Foundation Build Out-of-the-box daglige builds
En god build proces kan være svær at opnå Mange udviklingsprojekter udnytter ikke muligheden Mål: Gør det trivielt Builds gøres reproducerbare VS Projekter bygges direkte Builds udføres automatiskt via scheduler eller on-demand Build rapporter publiseres centralt Mål: Tæt integration med VS Team System værktøjerne, heriblandt: Kodeanalyse, unit tests, web test mv. We have a pretty sophisticated build process at Microsoft. Decided to build a sophisticated build system into Team Foundation. Not just talking about compiling. A lot more to creating a testable configuration than just compiling. Goal: Do an end to end build process out of the box for little to no effort. Want to make builds reproducible. Builds can be scheduled or on-demand. Do it now or do it nightly. Build reports – what files, what work items, test results, code coverage. Captures all information about the build. Can see “Oh yesterday was a good build. Today’s is broken. Tight integration with all VS tool.

50 Build Automatisering Build initiated from server Create a build ID
Document build environment Sync sources and tools Compile and analyze Execute tests Update work items Build process – customizable. This is the process in the box. Build initiated from server. Create build ID – generate it how you like. Stamp all binaries that get built with build number. Document build environment – capture build environment so build is reproducible. Synch sources from version control system. Compile and run static analysis. Execute tests. If tests fail, can have it notify you. Update work items – testers need to know which build resolved particular bugs. Produce list of all work items fixed in the build, and stamp work items with the build number. Calculate code coverage – how effective tests were. Code churn – how much of my code has changed. How many bugs are incoming per line of code churn. Build report – publish all of the above information. Publish build to Web site. Calculate code coverage Calculate code churn Produce build report Publish build

51 Build verification test results as part of the build process
Team Foundation Build Build verification test results as part of the build process Who checked in what?

52 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar 52

53 Udvikler/Tester samarbejde
En test er en test er en test Testere bruger udv. unit tests til Build Verification Tests (BVT) eller i funktionelle test kørsler Udv. bruger testeres tests som Checkin tests Udv. bruger testeres tests til gennemgang af test resultater og reproduktion af bugs Integreret bug tracking

54 Udnyt de integrerede muligheder i TFS
Udnyt Team Build og integrer: Change sets Work items Tests ved at builde jævnligt Rapportering Test Case Management Think about creating builds, using reporting and managing tests; the big advantage of TFS is the ability to integrate this data with your version control

55 Agenda Mål for VSTS og TFS Tests: Hvorfor, Hvornår og Hvad?
Testning med VSTS Test Typer Administration og Kørsel af Tests i VSTS Load Testing Build management med Team Build Et par gode råd Afrunding inkl. spørgsmål og svar 55

56 Afrunding VSTS for SW Testers er: Stærk integration med TFS
Nem at komme i gang med: Deklarative tests Kodede tests med brug af kendte sprog: C#, VB.NET Test Administration og Afvikling Meget fleksibel og udvidbar Stærk integration med TFS Work-item tracking, sporbarhed mellem tests og andre artifakter Versionsstyring Rapport faciliteterne Kan generere stort load med Load Agent’s

57 Roadmap

58 VSTS Futures Business Analyst PMO Operations CIO Application Support
Architect Project Manager Tester DB Pro Designer Developer Visual Studio Productivity Powerful Ease of use World class IDE Broad reach VS Team System Expand to development team Project transparency Team collaboration Software quality

59 Links mv. VSTS for SW Tester relaterede blogs: Nogle relevante links:
Nogle relevante links: VSTS Software Tester Team Center: Web Test Authoring and Debugging Techniques (artikel): Testing Web Services (artikel): VSTS “Power in Simplicity” Webcasts: VSTS On-demand Webcasts: VSTS tutorials, demos and videos

60 For VSTS/TFS brugere TechTalks Dansk VSTS/TFS ERFA gruppe
Kontaktperson: Anja Besserman tlf: (+45) VSTS/TFS Implementerings Partnere

61 Mange support muligheder
MSDN Forums MSDN Managed Newsgroups Microsoft Support Sites/communities

62 Spørgsmål og svar? evt. skriv til: martinpa@microsoft.com
og check blog’en: (link til præsentation og level 200 VSTS træningsmateriale)

63 ©2006 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Testing med Visual Studio Team System for Software Testers"

Lignende præsentationer


Annoncer fra Google