如何:使用虚拟环境运行手动测试和创建可重现的 Bug

如果有 Visual Studio 实验室管理工具版,则可以在运行手动测试时使用虚拟环境。 您可以为应用程序所需的角色创建虚拟机或模板,然后从测试设置中选择该角色集。 有关环境、测试设置和角色的更多信息,请参见设置测试计算机以运行测试或收集数据使用测试设置来设置计算机和收集诊断信息

在设置虚拟环境以运行手动测试时,可为应用程序的后端角色创建虚拟机或模板。 例如,您可以创建一个虚拟环境,其中包括用于环境中的 Web 服务器和数据库服务器角色的虚拟机或模板。 然后,您可以从不属于该环境的台式计算机运行手动测试。 或者,您也可以运行浏览器,从此计算机连接到 Web 服务器,如下图所示。

提示

如果使用测试运行程序,则必须在台式计算机上安装 Visual Studio 专业测试工具版 2010 或 Visual Studio 旗舰版才能运行手动测试。

从虚拟环境中运行手动测试

提示

如果要使用此相同环境运行自动测试,则可能需要为桌面客户端添加一个角色,并将虚拟机或模板用于该角色。 不能使用此角色运行手动测试。 不过,可以在运行自动测试时使用此角色。 有关如何使用虚拟环境运行自动测试的更多信息,请参见如何:使用虚拟环境运行自动测试

如果在运行手动测试时在应用程序中发现 Bug,可以拍摄虚拟环境的快照,开发人员使用该快照可以连接到环境中的服务器在发现 Bug 时的实际状态。 这有助于减少开发人员无法重现的 Bug 的数量。 环境状态会保存起来,可供开发人员在方便时用来进行调查,而您可以继续在此相同环境中运行更多测试。 当开发人员要使用环境时,可以使用 Bug 中的链接连接到快照。

提示

此快照是环境中每个虚拟机的快照。 这些快照存储在虚拟机所用的物理主机上。 快照不使用 Team Foundation Server 上的物理空间。 在 Bug 或测试结果中,仅添加指向快照的链接。

如果可能在开发人员检查 Bug 前删除环境,测试人员可以在使用环境完成测试后,将环境的副本存储在库共享中。 开发人员使用 Bug 中的链接可以创建存储环境的副本,然后使用该副本。

提示

如果要使用 Bug 中的链接创建环境的副本,则该环境必须是网络隔离环境。

如果要生成应用程序的后端层并将其部署到虚拟环境,以便设置运行手动测试,则可以创建生成定义来实现此目的。 您需要一个生成控制器来实现工作流集成功能。 有关更多信息,请参见如何:在虚拟环境中部署应用程序

系统必备组件

必须先执行以下步骤,才能使用您的环境运行手动测试:

  • 为虚拟环境中所需的每个角色创建虚拟机或模板。

  • 在每个虚拟机上安装实验室代理。

  • 在每个虚拟机上安装测试代理。 这样,可以使用环境中的虚拟机在运行测试时收集数据和诊断,也可以在运行测试和发现 Bug 时创建环境的快照。

  • 如果要使用工作流集成功能部署应用程序,还必须在虚拟机上安装生成代理。

  • 在要用于运行手动测试的所有计算机上安装 Visual Studio 专业测试工具版 2010 或 Visual Studio 旗舰版。

  • 使用 Microsoft 测试管理器创建手动测试用例,并将这些用例添加到测试计划中的测试套件。 有关更多信息,请参见使用测试计划定义测试工作量

过程

通过使用以下过程,可以运行手动测试和创建可重现的 Bug。 如果发现问题,则可以连接到环境中的虚拟机来验证信息,也可以为环境拍摄快照并将其保存到 Bug 中,以便开发人员能够使用环境来帮助重现 Bug。

  • 使用虚拟环境运行手动测试

  • 连接到环境中的虚拟机

  • 创建虚拟环境的快照

  • 连接到虚拟环境的快照

使用虚拟环境运行手动测试

使用虚拟环境运行手动测试

  1. 创建虚拟环境,并为每个角色添加必要的虚拟机或模板。 有关更多信息,请参见虚拟环境概念和准则如何:从虚拟机或模板创建环境

    重要说明重要事项

    若要在运行手动测试时在环境中的虚拟机上收集数据和诊断,必须在虚拟环境中启用测试功能。

    为此,必须具有可以用于环境的测试控制器。 有关更多信息,请参见如何:添加用于通过 Lab Management 进行测试的测试控制器

  2. 若要启动虚拟环境,请从“环境”视图选择环境,然后单击**“启动”**。

    验证环境中的计算机是否已启动,以及测试功能是否已启用(如果为环境选择了这一功能)。 在**“环境”视图中,测试功能的状态显示在环境详细信息中的“测试”**旁。

    提示

    如果要使用的环境已存储在库中,则必须先部署环境,从存储的映像创建虚拟机,然后才能启动该环境。

  3. (建议)若要防止其他用户在您运行测试时意外连接到您的环境,请在工具栏中单击**“标记为‘正在使用’”旁的下拉箭头。 添加有关使用环境的人员的注释,然后单击“标记为‘正在使用’”**。

    如果其他用户尝试连接到正在使用的环境,则会在**“连接到环境”**对话框中显示一条警告,其中包含您输入的注释。 但该用户仍可以连接到环境并忽略警告。

    提示

    也可以使用 Microsoft 环境查看器标记正在使用的环境。

  4. 在环境中的虚拟机上安装应用程序的后端层。 若要连接到后端层,您可能还必须在台式计算机上安装应用程序的本地客户端。 可以使用工作流集成功能,通过生成定义自动安装应用程序的适当后端层。 有关如何执行此操作的更多信息,请参见如何:在虚拟环境中部署应用程序。 或者,也可以手动安装应用程序。

    提示

    建议您在安装应用程序之后拍摄环境快照,从而使您可以轻松地返回到安装了应用程序时的干净状态。

  5. 通过使用 Microsoft 测试管理器创建包含虚拟环境的角色集的测试设置,并选择要针对每个角色收集的数据和诊断。 有关如何创建手动测试的测试设置的更多信息,请参见为手动测试创建测试设置

  6. 若要将创建的测试设置和虚拟环境分配给测试计划并运行测试,请执行以下步骤:

    1. 从要运行测试的计算机使用 Microsoft 测试管理器,单击中心组切换器上的下箭头,然后单击**“测试中心”**。

    2. 在中心组菜单栏上,单击**“计划”,再单击“属性”**。

      此时将显示当前所选测试计划的属性。

    3. 单击**“手动运行”“测试设置”**的下拉箭头,然后选择测试设置。

    4. 单击**“手动运行”“测试环境”**的下拉箭头,然后选择环境。

    5. 单击**“保存并关闭”**。

    6. 若要运行测试,请单击**“测试”,然后单击“运行测试”。 选择要运行的测试,然后单击“运行”**。

  7. 若要使用仅为此特定测试运行创建的测试设置来运行测试,请执行以下步骤:

    1. 从要运行测试的计算机使用 Microsoft 测试管理器,单击中心组切换器上的下箭头,然后单击**“测试中心”**。

    2. 若要运行测试,请单击**“测试”,然后单击“运行测试”。 右击要运行的测试套件或测试,然后单击“使用选项运行”**。

      此时将显示**“运行选项”**对话框。

    3. 从**“手动测试运行”下的“测试设置”**选择创建的测试设置。

    4. 从**“手动测试运行”下的“环境”选择虚拟环境,然后单击“运行”**。

    测试运行程序现在随所选择的第一个测试一起显示。

  8. 若要启动第一个测试,请单击**“开始测试”**。 有关如何运行手动测试的更多信息,请参见如何:运行手动测试

    现在可以开始运行所选择的所有测试。

  9. 若要运行测试中的步骤,必须启动受测应用程序。 若要连接到环境中安装的应用程序的部件,请使用应用程序的客户端。 此客户端可以是在已安装 Microsoft 测试管理器的计算机上安装的桌面客户端或 Web 浏览器。

    如果使用的是网络隔离环境,请参见下面的如何:创建和使用网络隔离环境主题中的“在网络隔离环境中的计算机和外部网络中的计算机之间进行通信”一节,以获取有关如何连接到应用程序的更多信息。

  10. 若要保存测试结果,请从测试运行程序单击**“保存并关闭”**。

    此时将显示**“运行测试”**视图。

连接到环境中的虚拟机

若要在运行测试时验证有关虚拟环境中计算机的一些信息,您可以连接到任何虚拟机。 例如,您可能希望验证注册表项的值是否正确。

连接到环境中的虚拟机

  • 若要在运行测试时查看虚拟环境中的计算机的状态,可以在测试运行程序的测试步骤工具栏中单击**“连接到环境”**。

    此时将显示 Microsoft 环境查看器。 您可以选择要查看的虚拟机。 还可以在虚拟机上运行命令。

    有关如何连接到环境中的计算机的更多信息,请参见如何:连接到虚拟环境

    如果使用的是带网络隔离的环境,请参见如何:创建和使用网络隔离环境

    提示

    在运行测试期间,如果连接到环境,则不能还原为某个快照。 如果在运行测试期间还原为某个快照,则测试代理会重新启动,无法为测试运行收集数据和诊断。 如果要还原为某个快照,则必须停止测试运行,在开始运行测试之前还原为某个快照。

创建虚拟环境的快照

创建虚拟环境的快照

  1. 如果在运行测试时发现问题,请单击测试步骤面板工具栏最右边的**“拍摄环境快照”**图标。 现在,当您创建某个 Bug 时,指向此虚拟环境快照的链接会添加到该 Bug。

    提示

    这将拍摄环境中所有虚拟机的快照。 这些快照存储在虚拟机所用的物理主机上。 快照不使用 Team Foundation Server 上的物理空间。 在 Bug 或测试结果中,仅添加指向快照的链接。

    在 Bug 的**“详细信息”**选项卡中,可以看到具有以下名称的快照:TC<测试用例 id>snapshot<快照编号>.lvr。 还可以在 Bug 的详细信息中看到在环境的虚拟机上收集的所有数据或诊断信息。

    提示

    此外,还可以在测试结果中查看此快照链接。

  2. 若要保存测试结果,请从测试运行程序单击**“保存并关闭”**。

    此时将显示**“运行测试”**视图。

连接到虚拟环境的快照

连接到虚拟环境的快照

  1. 若要从测试结果连接到虚拟环境快照,请从 Microsoft 测试管理器中的“运行测试”视图中,右击一个测试并指向**“查看结果”**。

  2. 单击在创建环境快照时,显示在测试步骤中的环境快照链接。

  3. 单击**“打开”**打开该文件。

    此时将显示**“连接到环境”**对话框。

  4. 从该对话框中选择下列选项之一:

    1. 若要还原拍摄快照时虚拟环境的准确状态,请单击**“连接到此环境中的已保存的快照”**。

      提示

      如果选择此选项,则可能会断开当前正在使用该环境的用户的连接,从而会导致这些用户的工作丢失。 可以确认不存在指示环境正在使用中的警告消息。

    2. 若要连接到当前状态下的环境,且不还原为在运行测试时拍摄的快照,请选择**“连接到当前状态下的环境”,然后单击“连接”**。

      提示

      您可能仍会断开连接到该环境的另一个用户的连接,但不会更改该环境的状态。

    3. 如果库共享中有环境的存储副本,则可以创建环境的副本,并连接到该副本。 如果环境当前正在使用中,或者您不希望阻止测试人员使用该环境,可能需要执行此操作。 若要创建环境的副本并连接到该副本,请选择**“连接到此环境的新实例”**。

      提示

      在创建环境的副本时,可能需要较长时间,还会使用项目库共享的大量磁盘空间。 如果此环境副本可能与测试人员的环境副本同时启动,则必须创建网络隔离环境。 有关环境的更多信息,请参见创建虚拟环境

  5. 若要从您的 Bug 连接到虚拟环境快照,可以使用 Microsoft 测试管理器从**“验证 Bug”视图打开 Bug,也可以从 Microsoft Visual Studio 2010 的团队资源管理器视图打开 Bug。 然后,可以在 Bug 的“详细信息”**选项卡中单击环境快照的链接。

    此时将显示“连接到环境”对话框。 如同在此过程的上一步中一样,选择适当的选项。 如果环境已标记为正在使用,则会在**“连接到环境”**对话框中显示警告消息

    提示

    开发人员可以从 Bug 连接到虚拟环境,以重新创建 Bug 中的问题,从而帮助他们更快速地解决问题。 在将环境还原为快照时,快照中计算机之间的网络连接可能会停止工作,并且在拍摄快照时处于进行中的任何事务可能会失败。 如果某个 Bug 的重现依赖于在拍摄快照时已打开并处于活动状态的 TCP 连接,则可能无法重现该 Bug。

请参见

概念

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

其他资源

使用虚拟环境进行测试