Friday 13 April 2012

Team Foundation Server 2010: Build - Deploy - Test (Part 1)

Visual Studio - Lab Management (An Introduction)

Overview 

  • Visual Studio Lab Management is an extension of Microsoft Test Manager that helps you to optimize the use of Microsoft Hyper-V technology to manage and use virtual machines in testing, building, and developing applications in Visual Studio 2010.  
  • Visual Studio Lab Management is integrated with System Centre Virtual Machine Manager (SCVMM) to enable managing multiple physical computers that host virtual machines and to manage the storage of virtual machines, virtual machine templates, and other configuration files in SCVMM library servers.

 Benefits:

  • Visual Studio Lab Management can enable developers & testers can easily create virtual environments
    • Provides the ability to create an environment by using Microsoft Test Manager and assign virtual machines to each role that is required for the application that you intend to develop, test, or run. For example, you might be developing a multi-tiered application that requires three roles:
      • Desktop client
      • Web server
      • Database server
    • By using Lab Management, you can:
      • Create a virtual environment that assigns a virtual machine to each role
      • Deploys each part of the application to the relevant virtual machine by using Team Foundation Build
      • Runs the three virtual machines as a single instance of the application for testing.
    • A virtual environment can also be setup where only some components of the application are deployed whereas other components are shared across environments. For example, if your application needs a large database, you can decide to host a shared database on a physical machine. All virtual environments will have only virtual machines for the client and application tiers that can connect to the shared database as required.
  • Enables the automation build-deploy-test cycle
    • The Visual Studio Lab Management’s Workflow (build-deploy-test) is as follows:
      • When the build is complete, restore the virtual environment to a clean snap shot
      •  Deploy the build to the environment and take a snapshot when the build is deployed (*this snapshot is optional)
      • Run automated tests that validate the build quality
  • It lets you test the build quality early and often with little effort
    • Reproduce the exact conditions of a bug or other development issue:
      • Lab Management snapshots capture the state of all computers in the environment at a point in time.
      • A snapshot of environment can be shared with members of a project team.
      • A reference to the stored snapshot can be included in Visual Studio Team Foundation Server work item so that a copy of the environment can be created with a few clicks of the mouse.
      • When Microsoft IntelliTrace data is included in the work item, the execution path of the application to the bug can be fully reproduced on the exact configuration where the bug occurred.
    • Build, deploy, and test applications automatically in a clean environment:
      • Using Lab Management workflows for Visual Studio Team Foundation Server builds, environments, snapshots and Microsoft Test Manager automated tests, you can stage daily builds of your application to a clean environment.
      • After tests have been run, you can store the environment in a snapshot and then restore the environment to its original state so that it can be used again.
    • Reduce the time required to create and configure machines for testing an application:
      • Using Lab Management stored virtual machines and templates, you can quickly deploy customized environments that recreate the configuration of customer's production environments.
    • Run multiple copies of a test or development at the same time
      • Using Lab Management stored virtual environments, you can deploy multiple copies of a virtual environment at the same time without the computer name conflicts that can limit the use of unmanaged virtual machines in a domain.
    • Enable members of a team to create and manage virtual environments without requiring system administrator privileges:
      • You can use Lab Management permissions to create role-based self- service groups of team members who can deploy, create and manage virtual environments without requiring system administrator privileges.
      • You can also combine Lab Management permissions with Visual Studio Team Foundation Server and SCVMM permissions to meet the specific requirements of your organization.

No comments:

Post a Comment