1 / 56

Virtualizing your testing with Visual Studio Lab Management

Virtualizing your testing with Visual Studio Lab Management. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation www.teamsystemcafe.net. Application lifecycle management. Modern app development Continuous value delivery and rapid response to change. ALM your way.

maire
Download Presentation

Virtualizing your testing with Visual Studio Lab Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Virtualizing your testing with Visual Studio Lab Management Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation www.teamsystemcafe.net

  2. Application lifecycle management Modern app development Continuous value delivery and rapid response to change

  3. ALM your way Agile Planning Team Rooms Source Repos Test Case Management Feedback Management Build and Continuous Integration Team Foundation Server Visual Studio Online

  4. Continuous acceptance testing Testing toolbox Role tailored tools • Manual testing • User testing • Ad-hoc exploratory testing • Planned manual testing • Automated testing • Keyword testing • UI automation testing • Performance testing Continuous integrations Build | Deploy | Test Virtual lab automation SIT Dev UAT Prod Automated testing Unit testing Integration testing Performance testing Load testing Stress Shortened cycle times

  5. Lab Management Overview

  6. Why Lab Management? Test Matrix Lots of configurations to test Agile demands Faster build, test, deploy cycles Environments Multi-tier, multi-machine environments Debugging Significant % of bugs hard to repro Reset Machines Need build deployments on clean state Hardware Utilization is poor

  7. What are the key features? Standard environments Simplified environment status Auto installation of test agents One test agent that does everything Support for clustered hosts using SCVMM

  8. Lab Management Basics Environments • Create and manage virtual or physical dev/test environments Snapshots • Take snapshots or revert to existing snapshots • Works on any virtual machine • Deploy current or any build to environment Environment Viewer • Interact with machines through the environment viewer • Define test settings for environments

  9. Leveraging Virtualization

  10. Lab management automation Development and Testing Environments Repro environments Development environments Test environments On-premise | Cloud Lab management services Environment provisioning Environment templates Environment snapshots

  11. Benefits of Virtualization Testing Virtual test environments can be used for Testing CI builds using GUI automation Debugging Debug hard to reproduce defects Maintaining snapshots of older builds Demos Demos for customers Test Production hot-fixes Load Testing

  12. Leveraging virtualization for ALM

  13. Testing Architecture Team Foundation Server Test Controller Team Build System Center Virtual Machine Manager (SCVMM) VM Template Library SCVMM Environment Standard Environment VM Template 1 VM Template 2 Web Server VM Database Server VM VM Host Database Server Web Server Test Agent Test Agent Test Agent Test Agent Test Agent VMMAgent Test Agent

  14. Build-Deploy-Test (1) Get Source Code (2) Compile projects Team Build Team Foundation Server (8) Publish results to Team Foundation Server (3) Copy build to running environment SCVMM Environment Test Controller (7) Send test results (4) Run deployment scripts for each machine (6) Execute automated tests Web Server VM Database Server VM VM Host (5) Create environment snapshot Test Agent Test Agent VMMAgent

  15. Environment Differences

  16. Test Controller Run automated tests remotely Distribute automated tests to multiple environments Run tests and collect test data remotely using Microsoft Test Manager Run tests in a lab environment Deploy applications using a build-deploy-test workflow

  17. Test Agents Manage testing, workflow, and network isolation Scale out load generation Distributed data collection Distributed test execution Automatically installs test environments Can be manually installed/maintained using the VMPrepTool

  18. Sharing and Libraries Tester IT Administrator • Import VMs • Create Environments • Test in Environments • Store Environments • Manage virtual machine infrastructure • Create, deploy, and manage virtual machines • Monitor and manage hosts/library servers • Manage global configuration settings Self Provisioned VM Environment VM Template Library SysPrepped “golden images’ Domain Controller Client VM Web Server VM Database Server VM Create Active Environments Win Server 2008 Win Server 2012 Win XP SP 3 Win Vista SP 2 Win 7 SP 1 Win 8 Save Environments in Library Test Agent OS Support 4 machine environment

  19. DEMO Lab Management

  20. Value Prop for Developers/Testers • Improved Productivity • Improved Quality • Improved dev/test relationship & collaboration Save costs by virtualizing your labs

  21. FAQ • Licensing • Lab Management is per CPU license for the hosts you want to manage • For client you need either Ultimate/Test Professional • SCVMM license for dev/test is included. • Guest OS license is part of MSDN subscriptions • VMWare Support • Support through use of Standard Environments

  22. Resources

  23. Visit Team System Café Today!The door is open 24/7 at the café! Stop by for a cup of joe and delicious tidbits on AppDev topics! blog’s blogroll freshly brewed news downloads evidence documents slides freshly brewed news training links lab management links user groups events in person webinars most popular items popular items help & how too training books FAQs FAQs TFS ALM azure & windows 8 resource links http://www.teamsystemcafe.net

  24. Lab Management Case Studies • Confused.com - Price Comparison Site Increases Revenue Opportunities with Automated Development Tools • ICONICS - Global Software Developer Expects to Double Productivity, Cut Costs by 10 Percent • Notion Solutions - Consulting Company Uses Latest Development Tools to Improve Software Test Process • Minitab - Software Developer Uses Integrated Tool Set to Cut Costs and Streamline Development • Fujitsu Canada - Consulting Firm Improves Productivity with Expanded Reporting, Version Control Tools

  25. Lab Management Case Studies (cont.) • EPiServer - Web Content Management Firm Streamlines Development, Testing with Integrated Tools • Readify - Software Vendor Speeds Testing, Improves Collaboration, and Wins New Business • Länsförsäkringar AB - Insurance Company Expects to Cut Software Development Time and Costs by 20 Percent • Equiniti - Share Registrar Cuts Testing Time and Improves Application Lifecycle Management • K2 - Software Company Improves Testing and Debugging Efficiency by 20 Percent

  26. Lab Management Resources • Using a Lab Environment for Your Application Lifecycle • Getting Started with Lab Management • Guidance for Creating and Managing SCVMM Environments • Cloning Virtual Machines through Network Isolation • Creating Lab Environments • Managing Lab Environments and Virtual Machines • Testing for Continuous Delivery with Visual Studio 2012 • Setting Up Automated Build-Deploy-Test Workflows

  27. Best Practice Topology Guide Topology 1 - Multiple AT, Load Balancer and Test network with firewall settings, controlling the test traffic in and out of Corp network Network load balancer Firewall rules Topology 2 - Multiple ATs and DTs without load balancers and Test network with SAN based library and host SAN support Topology 3 - TMG, Windows NLB and with Test apps having DB tier outside of virtual environment Setting up rules in Threat Management Gateway Deployment and testing on a shared machine outside the envt Topology 4 - Multiple ATs and DTs, load balancers and environments joined to a different domain DNS conditional forwarding

  28. Other resources • Visual Studio ALM + Team Foundation Server Blog • Visual Studio Team • Installing TFS 2012 with Lab Management 2012 Blog • By Martin Hinshelwood • Visual Studio Lab Management videos • Lab Management Team • Visual Studio Lab Management Guide • By the Visual Studio Rangers

  29. Lab Management Summary • Built on Hyper-V • Integrated with TFS 2012 • Enabled by SCVMM 2012 • Integrated management • Multi-hypervisor management • P2V and V2V • Template deployment • Cloning • Optimize resource usage • Managed by Microsoft Test Manager Automated Build-Deploy-Test Workflow Reduces Hardware Utilization Remote Diagnostic Collection Virtual Environment Setup/Tear down Hyper-V Host Virtual Machines

  30. Questions? Randy Pagels rpagels@microsoft.com www.teamsystemcafe.net

  31. Appendix

  32. Lab Management Highlights Create richer actionable bugs Simplifies environment setup and snapshots Create checkpoints to aid defect resolution Quickly debug issues in the same environment Connect to the test environment snapshot with network isolation Automate end-to-end workflow Out of the box build-deploy-test automation workflow Revert to baseline configuration Requires Visual Studio Ultimate or Visual Studio Premium Team Foundation Server Microsoft Test Manager Includes System Center Virtual Machine Manager license

  33. Network Isolation Internal network • An internal virtual network is created for each environment • VMs get the same MAC, IP address and computer name in all copies • VMs are also connected to the lab network with a unique IP address and computer name • Domain-based apps require and internal domain controller Copy 1 10.10.1.5 10.10.1.6 IIS DB 172.22.48.16 172.22.48.15 Lab network Copy 2 10.10.1.5 10.10.1.6 IIS DB 172.22.48.18 172.22.48.17

  34. Lab Management Walkthrough

  35. Reviewing a Rich Bug Detailed test steps including indexed video recording of test session and exact failed step A • Environment snapshot taken and attached • Screen capture showing exact point of failure B

  36. SCVMM 2012

  37. Microsoft Test Manager

  38. Lab Center – Tester Experience Create new multi-machine environment choices Start or Shutdown environments

  39. Lab Center – Tester Experience A Choose between two environment types

  40. A Configure machine to run UI tests

  41. A Create a multi-machine environment as close to production as possible for testing

  42. Team Build – Build Setup A Select the special lab build template Select an environment to deploy a build to C B Change the lab wizard workflow parameters

  43. Team Build – Build Setup D Queue a new build or deploy an existing one

  44. Team Build – Build Setup Select the Test Plans and Test Suites to run in environment Specify the deployment options to move application to servers E F

  45. Team Build – Build~Deploy~Test A Workflow run for Deployment and Lab B Auto deployment of current build C Test against Lab Environments Automatically

  46. Lab Center – Automated Test Execution Test Agent automatically started Thumbnail view of each machine in the environment

  47. Visual Studio – A Rich Bug Developers can quickly debug issues on the exact same testing environment B A Environment snapshot taken and attached as a link with bug

  48. Lab Center – Storing Environments Select environment to store A B Storing in Library

  49. Lab Center – Retrieving Environments Easily deploy currently stored environments A B Names of all the environments stored in the library

More Related