为应用程序生命周期使用虚拟实验室

Visual Studio 实验室管理工具版是 Microsoft 测试管理器的扩展,可帮助您优化对 Microsoft Hyper-V 技术的使用,以在 Visual Studio 2010 中测试、生成和开发应用程序的过程中管理和使用虚拟机。 Visual Studio 实验室管理工具版将与 System Center Virtual Machine Manager (SCVMM) 集成,使您能够管理承载虚拟机的多个物理计算机,并管理 SCVMM 库服务器中虚拟机的存储、虚拟机模板以及其他配置文件。

“虚拟环境”是由实验室管理工具版管理的虚拟机组。 可以利用虚拟环境执行以下操作:

  • 重现 Bug 或其他开发问题的完全相同的情形。

    实验室管理工具版快照捕获了环境中所有计算机在某个时间点的状态。 可与项目团队的成员共享环境的快照。 可将对存储快照的引用包含在 Visual Studio Team Foundation Server 工作项中,这样一来,只需几次单击即可创建环境的副本。 在将 Microsoft IntelliTrace 数据包含在工作项中时,可在出现 Bug 的完全相同的配置中完全重现应用程序到 Bug 的执行路径。

  • 在干净环境中自动生成、部署和测试应用程序。

    通过将实验室管理工具版工作流用于 Visual Studio Team Foundation Server 生成、环境、快照和 Microsoft 测试管理器自动测试,您可以将应用程序的日常生成暂存到干净环境中。 在运行测试后,您可以将环境存储在快照中,然后将环境还原为其原始状态,以便能再次使用它。

  • 减少创建和配置用于测试应用程序的计算机所需的时间。

    通过使用实验室管理工具版存储的虚拟机和模板,可以快速部署自定义环境,该环境可重新创建客户生产环境的配置。

  • 同时运行测试或部署的多个副本

    通过使用实验室管理工具版存储虚拟环境,您可以同时部署虚拟环境的多个副本而不会导致计算机名称冲突(该冲突会限制对域中的非托管虚拟机的使用)。

  • 使团队成员能够创建和管理虚拟环境,而无需系统管理员特权。

    可以使用实验室管理工具版权限创建基于角色的自助服务团队成员组,这些成员无需系统管理员特权即可部署、创建和管理虚拟环境。 您还可以将实验室管理工具版权限与 Visual Studio Team Foundation Server 以及 SCVMM 权限相结合,以满足组织的特定需求。

通过使用 Microsoft 测试管理器创建环境,并将虚拟机分配给要开发、测试或运行的应用程序所需的每个角色。 例如,您可能会开发一个多层应用程序,该应用程序需要三个角色:桌面客户端、Web 服务器和数据库服务器。 通过使用实验室管理工具版,可以创建一个虚拟环境,将虚拟机分配给每个角色,使用 Team Foundation Build 将应用程序的各个部分部署到相关的虚拟机,然后将三个虚拟机作为一个应用程序实例运行以供测试之用。 下图显示一个使用三个角色(桌面客户端、Web 服务器和数据库服务器)的虚拟环境。

用于多层应用程序的环境

如果应用程序比较复杂,则可以将多个虚拟机分配给虚拟环境中的同一角色。 类似地,您可能会开发一个应用程序,需要在两个不同拓扑中部署相同的两个角色。 例如,在一个拓扑中数据层和应用层可能位于同一计算机上,而这两层在另一个拓扑中位于不同的计算机上。 第一个拓扑以一个虚拟环境表示,而第二个拓扑以单独的虚拟环境表示。 现在您的虚拟实验室包含执行测试所必需的两个环境。

您也可以具有这样一个虚拟环境,在其中只部署了应用程序的某些组件,而在环境间共享其他组件。 例如,如果应用程序需要大型数据库,则可以决定在物理计算机上承载共享数据库。 所有虚拟环境将仅具有用于客户端层和应用层的虚拟机(可以根据需要连接到共享数据库)。

提示

如果您在纯粹的物理环境中或由第三方虚拟机组成的物理环境中执行手动或自动测试,则无需执行以下任何任务:使用 Hyper-V、配置 SCVMM 或配置 Lab Management。 您只需在物理计算机上安装一个测试代理,向您的团队项目集合注册一个测试控制器,并配置该测试代理以使用该测试控制器。 完成此操作后,请使用 Microsoft 测试管理器中的“实验室中心”来创建新的物理环境。 有关创建物理环境并运行测试的步骤,请参见创建用于测试的物理环境

重要概念

在开始使用实验室管理工具版之前,必须理解一些关键概念:

虚拟机 (Hyper-V)

重要概念

说明

虚拟机

虚拟机是一种计算机的软件实现,在其上运行程序就如同在实际的计算机上运行一样。 这样,您就可以在一台物理计算机上运行多个虚拟机。 必须在虚拟机上安装操作系统以及任何其他必需的软件。

宿主

运行虚拟机的物理计算机。

快照

快照保存特定时间点时虚拟机的状态。 您可以随时将虚拟机恢复到此快照,然后就可以从快照拍摄时的已知状态使用此虚拟机。

System Center Virtual Machine Manager (SCVMM)

重要概念

说明

模板

模板是虚拟机的通用映像,它已去除标识信息,例如计算机名称和产品密钥。 可以从一个模板创建多个虚拟机,而不会在域上引发计算机名称冲突。

主机组

一组物理计算机,它们是可用于运行虚拟机的主机。 主机组可为您优化主机集合上的虚拟机的部署,这样您就无需选择每个虚拟机将部署到的主机。 在 Team Foundation Server 中,可以将主机组分配给团队项目和团队项目集合。

库服务器

用于存储虚拟机、模板和其他资源的计算机。

库共享

库服务器上可用于存储虚拟机、模板和其他资源的共享位置。 可以具有多个库共享。 在 Team Foundation Server 中可以将库共享分配给团队项目和团队项目集合。

Lab Management

重要概念

说明

虚拟环境

在 Hyper-V 主机上运行的虚拟机的集合,这些虚拟机由 System Center Virtual Machine Manager 管理,并且实验室管理工具版会将这些虚拟机作为一个逻辑单元进行管理。 添加到环境的每个虚拟机均用于应用程序中的角色。 例如,可以为虚拟机选择 Web 服务器的角色。

物理环境

物理计算机的集合,每台物理计算机都安装了测试代理。 如果正在非 Hyper-V 平台上运行虚拟机,则可以在实验室管理工具版中将这些虚拟机作为物理计算机进行建模。

实验室中心

Microsoft 测试管理器中的活动区域,可在其中管理和操作将部署到团队项目的 SCVMM 主机组上的虚拟机和环境。

团队项目库

测试管理器中的活动区域,可在其中管理位于团队项目的 SCVMM 库共享中的存储的虚拟机、模板和存储环境。

可以在创建和管理环境、测试或生成部署的过程中使用物理计算机或虚拟机。

创建和管理环境

从模板创建虚拟机、使用网络隔离克隆环境、VM 操作(如“启动/停止/快照/暂停”)仅在基于 Hyper-V 的虚拟环境中可用,而在非 Hyper-V 环境或物理环境中不可用。

测试

通过使用 Microsoft 测试管理器,可以在虚拟环境和物理环境中运行测试。 此处的功能完全相同,这意味着您可运行自动测试和手动测试,并从所有类型的环境(Hyper-V 环境、非 Hyper-V 环境和物理环境)中收集各种诊断收据。

生成部署

通过使用 TFS 2010 中附带的模板 (labdefaulttemplate.xaml),可以在 Hyper-V 虚拟环境中轻松自动执行“生成-部署-测试”工作流。

在物理环境中,此类模板不可现用。 但是,由于此自动化基于 Windows Workflow Foundation 4.0,因此您可使用工具箱中的活动来自定义模板(或创建自己的模板),以在物理计算机上自动执行生成部署和测试。 这意味着,您也可在非 Hyper-V 环境中执行相同的操作,但请注意,虚拟环境特定的操作(还原为“快照/启动/停止”环境)对物理环境和非 Hyper-V 环境不可用。

Lab Management 使用 Hyper-V 上承载的虚拟环境和物理环境,但每类环境的功能都不同。 非 Hyper-V 主机上的虚拟环境将视为与物理环境相同。 下表总结了每类环境的不同功能。

功能

虚拟环境 (Hyper-V)

物理环境

虚拟环境(非 Hyper-V)

测试

运行单元测试

是否支持

是否支持

是否支持

运行手动测试

是否支持

是否支持

是否支持

运行编码的 UI 测试和其他自动测试

是否支持

是否支持

是否支持

使用诊断适配器对各种 Bug 归档

是否支持

需要自定义

需要自定义

生成部署

自动化“生成-部署-测试”工作流

是否支持

环境创建和管理

从 VM 模板创建环境

是否支持

不支持

启动/停止/快照环境

是否支持

不支持

不支持

使用环境查看器进行连接

是否支持

不支持

不支持

使用网络隔离复制环境

是否支持

不支持

有关对使用在非 Hyper-V 主机(如 VMWare)上运行的虚拟机的环境的支持的最新信息,请参见此 Microsoft 网页

后续步骤

任务

相关内容

尝试:找出最初用于配置 Team Foundation Server、SCVMM 和实验室管理工具版的资源,然后在环境中创建并运行虚拟机

Lab Management 入门

为实验室创建虚拟环境:实验室管理工具版提供了创建和使用虚拟环境的许多方式。 了解如何创建最能满足您的需求的虚拟环境。

虚拟环境概念和准则

创建虚拟环境

在测试生命周期内集成 Lab Management:了解如何使用虚拟环境以使测试更高效,并轻松地创建和共享 Bug 重现。

使用虚拟环境进行测试

捕获虚拟环境的完整状态:利用实验室管理工具版快照,可以存储环境在某个时间点的准确状态。 之后,测试人员和开发人员可将环境回滚到该状态。 可以使用快照创建用于测试的干净环境,或者重现 Bug 或部署问题。

使用快照存储、重现和共享虚拟环境的状态

自动生成、部署和测试应用程序:将实验室管理工具版虚拟环境与 Team Build 工作流以及测试管理器测试计划相结合,以便在环境中自动执行对应用程序的定期计划生成的部署和测试。

将应用程序部署到虚拟环境

自定义默认工作流模板:向实验室默认工作流模板添加更多活动以满足“生成-部署-测试”方案中的其他要求。

自定义 Lab Management 工作流

在 MSDN 博客和论坛中查找更多信息和帮助:实验室管理工具版博客和论坛提供了疑难解答信息和对有关使用虚拟环境的特定问题的解答。

Lab Management 疑难解答

请参见

任务

配置和管理 Lab Management

概念

使用 IntelliTrace 进行调试

测试应用程序

其他资源

首次配置 Lab Management