在应用程序生命周期内使用实验室环境

你可以使用 Microsoft 测试管理器的实验室管理功能创建并管理实验室环境。 实验室环境是可用于开发和测试应用程序的虚拟和物理计算机的集合。 实验室环境可包含测试多层应用程序所需的多个角色,如工作站、Web 服务器和数据库服务器。 此外,还可以在实验室环境下使用生成-部署-测试工作流,以实现在应用程序上生成、部署和运行自动测试的过程的自动化。

要求

  • Visual Studio 旗舰版, Visual Studio 高级专业版, Visual Studio 专业测试工具版

你必须使用实验室环境获取以下优势:

  1. 使用测试计划运行自动化测试 - 你可以运行自动化测试的集合(称为测试计划),并使用 Microsoft 测试管理其查看进度。

  2. 使用生成-部署-测试工作流 - 你可以使用生成-部署-测试工作流自动测试多层应用程序。 一个典型示例是在实验室环境中启动生成、在实验室环境中将生成文件部署到适当的计算机然后执行自动化测试的工作流。 此外,你还可以将你的工作流规划为按照指定间隔运行。

  3. 从所有计算机收集诊断数据(即使在手动测试期间)- 你可以同时从多台计算机收集诊断数据。 例如,在单个测试运行期间,你可以从 Web 服务器、数据服务器和客户端收集 IntelliTrace、测试影响和其他形式的数据。

  4. 自动测试代理安装 - 实验室管理在你的环境中的每台计算机上自动安装测试代理。

如果你将实验室管理与 System Center Virtual Machine Manager (SCVMM) 结合使用,你还可以在使用实验室环境时获得以下优势:

  • 快速重现计算机配置 - 你可以存储已配置的虚拟机集合以重新创建典型生产环境。 然后你可以在已存储环境的每个新副本上执行每个测试运行。

  • 重现 bug 的具体条件 – 当测试运行失败时,你可以存储实验室环境的状态副本,然后从生成结构或工作项访问它。

  • 同时运行实验室环境的多个副本 - 你可以在没有命名冲突的情况下同时运行实验室环境的多个副本。

以下是实验室环境的常用类型的示例:

客户端服务器实验室环境
  • 此实验室环境具有客户端/服务器拓扑,此拓扑常用于测试具有服务器和客户端组件的应用程序。 在客户端/服务器拓扑中,所有用于测试应用程序的所有客户端和服务器计算机都在你的实验室环境中。 当你使用此拓扑时,你可以从影响测试的每台计算机收集测试数据。

仅包含服务器的拓扑
  • 此实验室环境具有服务器拓扑,此拓扑常用于在服务器应用程序上运行手动测试,并且允许测试人员使用他们自己的客户端计算机验证环境中的 bug。 在后端拓扑中,你的实验室环境仅包含服务器。 当你使用此类型的拓扑时,通常使用不属于该环境一部分的客户端计算机连接实验室环境中的服务器。

请参见视频:管理用于测试的实验室环境

标准环境和 SCVMM 环境

你可以使用 Visual Studio 实验室管理创建两种类型的实验室环境 - 标准环境和 SCVMM 环境。 但是,每种类型的环境的功能不相同。

**标准环境:**标准环境可混合包含虚拟计算机和物理计算机。 你还可以向由第三方虚拟化框架托管的标准环境添加虚拟机。 此外,标准环境不需要其他服务器资源,例如 SCVMM 服务器。

**SCVMM 环境:**SCVMM 环境仅包含由 SCVMM (System Center Virtual Machine Manager) 托管的虚拟机,因此 SCVMM 环境中的虚拟机仅可在 Hyper-V 虚拟化框架上运行。 但是,SCVMM 环境提供标准环境中不提供的以下自动化和管理功能:

备注

有关 SCVMM 的信息,请参见Virtual Machine Manager

  • **环境快照:**环境快照包含实验室环境的状态,因此你可以快速还原干净的环境或保存已修改的环境状态。 你还可以使用生成-部署-测试工作流自动执行保存和还原环境快照的过程。

  • **已存储环境:**你可以存储 SCVMM 环境的副本,然后部署该环境的多个副本。

  • **网络隔离:**网络隔离使你可以在没有计算机名称冲突的情况下同时运行 SCVMM 环境的多个相同副本。

  • **虚拟机模板:**虚拟机模板是删除了其名称和其他标识符的虚拟机。 在 SCVMM 环境中部署 VM 模板时,Microsoft 测试管理器 会生成新的标识符。 这使你可以在同一环境或多个环境中部署多个虚拟机的副本,然后同时运行虚拟机。

  • **已存储虚拟机:**存储在团队项目库中并包含唯一标识符的虚拟机。

有关这些功能的更多信息,请参见SCVMM 环境的创建和管理指南

标准环境和 SCVMM 环境支持许多相同功能。 但是,有一些重要的区别需要注意。 下表比较了可用于标准环境和 SCVMM 环境的功能。

功能

SCVMM 环境

标准环境

测试

运行手动测试

支持

支持

运行代码 UI 和其他自动化测试

支持

支持

使用诊断适配器的文件丰富 bug

支持

支持

生成部署

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

支持

支持

环境创建和管理

除虚拟机以外,还可使用物理计算机

不支持

支持

使用第三方虚拟机

不支持

支持

在实验室环境中自动将测试代理安装到计算机

支持

支持

使用环境快照保存和部署实验室环境的状态

支持

不支持

从 VM 模板创建实验室环境

支持

不支持

启动/停止/快照环境

支持

不支持

使用环境查看器连接到环境

支持

支持

使用网络隔离同时运行环境的多个副本

支持

不支持

实验室管理概念

以下是一些你在继续之前应该熟悉的其他概念:

术语

描述

实验室中心

可在其中创建和管理实验室环境的 Microsoft 测试管理器区域。

团队项目实验室

已设置的实验室环境的集合,以便你连接到它们并运行其虚拟机。

团队项目库

已存储虚拟机、模板和已存储实验室环境的存档,它已导入团队项目的主机组。 你可以借助 SCVMM 环境使用你的库中的项;但是,你无法将它们直接添加到标准环境。 你无法运行库中的项;但你可以使用它们部署新环境。

已部署环境

已部署到你的团队项目实验室的实验室环境,以便你连接到它并运行它的计算机。

后续步骤

任务

相关内容

配置实验室管理组件:确定需要配置的组件,然后再创建、查看或修改实验室环境。

测试实验室环境

规划 SCVMM 环境:在创建和管理 SCVMM 环境前,决定是否使用运行的虚拟机、已存储的虚拟机、模板、已存储的环境,以及是否启用网络隔离。

SCVMM 环境的创建和管理指南

了解有关网络隔离的更多信息:如果你希望运行实验室环境的多个相同副本(包括唯一标识信息),请使用 SCVMM 环境并启用网络隔离。

通过网络隔离克隆虚拟机

创建新实验室环境:在配置实验室管理后,你可以配置标准环境和 SCVMM 环境,或者你可以部署 SCVMM 环境的副本。

创建实验室环境

管理实验室环境和虚拟机在创建实验室环境后,你可以连接到环境、查看环境、修改环境以及创建环境快照。 然后你可以管理你的团队项目库中的环境、虚拟机和模板。

管理实验室环境和虚拟机

在实验室环境中运行测试:你可以在实验室环境中使用 Microsoft 测试管理器、Tcm.exe 命令行实用工具或生成-部署-测试工作流运行手动和自动化测试。

在实验室环境中运行测试

配置自动化生成、部署和测试:创建生成-部署-测试工作流以自动执行创建应用程序生成、将该生成部署到实验室环境以及在已部署的应用程序中运行测试的过程。

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

修复实验室环境中的问题:如果你在创建或连接到实验室环境中遇到问题,你可能需要修复该环境,或者在某些设置中需要采取额外步骤配置该环境。

Lab Management 疑难解答

外部资源

指南和动手实验室

使用 Visual Studio 2012 对连续交付进行测试

使用 Visual Studio 2012 对连续交付进行测试 – 第 3 章: 实验室环境

Visual Studio 实验室管理指南

视频

管理用于测试的实验室环境

论坛

Visual Studio ALM + Team Foundation Server 博客

请参见

概念

测试应用程序

设置测试计算机以运行测试或收集数据