使用测试设置来设置计算机和收集诊断信息

在运行测试时,可使用 Microsoft 测试管理器和 Visual Studio 中的测试设置来收集额外数据。 例如,你可能想在运行测试时录制视频。 可通过诊断数据适配器执行以下操作:

  • 以文本格式收集每个 UI 操作步骤

  • 记录每个 UI 操作以便播放

  • 收集系统信息

  • 收集事件日志数据

  • 收集 IntelliTrace 数据来帮助隔离不可重现的 Bug

测试设置

诊断数据适配器还可用于更改测试计算机的行为。 例如,利用 Visual Studio 中的测试设置,可以模拟各种网络拓扑瓶颈以评估团队应用程序的性能。

本主题内容:

  • 通过 Microsoft 测试管理器使用测试设置

  • 通过 Visual Studio 使用测试设置

  • 诊断数据适配器详细信息

通过 Microsoft 测试管理器使用测试设置

利用 Microsoft 测试管理器,你可配置测试计划以运行你的测试。 测试计划可以有两个测试设置:

  • 手动运行

  • 自动运行

利用 Microsoft 测试管理器中的测试计划的**“属性”**页,可创建这些测试设置。

测试计划中 Microsoft 测试管理器的测试设置

你可配置这两个测试设置以使用实验室环境,该环境可模拟单个计算机或多个计算机角色。 测试设置包含针对使用诊断数据适配器为每个计算机角色收集的数据类型的单独配置设置。

测试设置计算机角色和适配器

使用 Microsoft 测试管理器进行测试设置的关键任务

使用以下主题可帮助你在 Microsoft 测试管理器中创建和配置测试设置。

任务

相关主题

在 Microsoft 测试管理器中创建要使用的测试设置:你可以为测试计划中的手动和自动测试创建单独的测试设置。

在 Microsoft 测试管理器中更新测试设置:你可以通过在“实验室中心”中编辑现有测试设置,或通过测试计划的“属性”活动,对现有测试设置进行更正。

在 Microsoft 测试管理器中为测试计划选择现有测试设置:测试设置存储在 Team Foundation Server 中,可以选择它们以在多个测试计划中使用。

实验室环境

实验室环境是可用于开发和测试应用程序的虚拟或物理计算机的集合。 实验室环境可包含测试多层应用程序所需的多个计算机角色,如工作站、Web 服务器和数据库服务器。 你可以使用 Microsoft 测试管理器 创建和管理实验室环境在实验室环境中运行手动测试,或者在实验室环境中运行自动化测试。 当使用实验室环境运行测试时,测试将收集数据,或影响在测试设置中配置的每个特定计算机角色的行为。 此外,还可以在实验室环境下使用生成-部署-测试工作流,以实现在应用程序上生成、部署和运行自动测试的过程的自动化。

下图显示了测试计划的测试设置和环境的示例。

测试设置概念

下图显示了如何为测试设置定义计算机角色集。 你随后可以选择一个实验室环境,该环境包含指派给在你运行测试时使用的每个计算机角色的计算机或虚拟机。 你可以选择至少包含在测试设置中定义的计算机角色集的任何实验室环境。 该实验室环境可能包含未在测试设置中指定的其他计算机角色,如下图所示。

测试设置和环境

通过 Visual Studio 使用测试设置

若要使用 Visual Studio 运行单元测试、编码的 UI 测试、Web 性能测试或负载测试,可以添加、配置和选择在运行测试时要使用的测试设置。 若要远程运行测试、收集数据或影响测试计算机,则必须指定要在测试设置中使用的测试控制器。 测试控制器将拥有可用于测试设置中的每个角色的代理。

  • 我应该知道哪些其他内容?
    备注

    • 系统必备 在 Visual Studio 2013 中,有一些测试设置与 Visual Studio 2010 的兼容性问题需要注意:

      • 在 Visual Studio 2013 中,当添加单元测试项目或编码的 UI 测试项目后,测试设置不包含在解决方案中。 这是单元测试框架中有关提高扩展性、恢复能力和性能的改进带来的结果。 但是,你可以使用 .testsettings 文件打开现有 Visual Studio 2010 测试项目,而该项目将继续运行。 此外,如果需要从数据和诊断适配器收集特定数据,或需要使用测试控制器运行测试,则可以将 .testsettings 文件添加到解决方案;但是,除非有必要,否则不建议这样做。

      • 如果你使用 .testsettings 文件打开了 Visual Studio 2010 测试项目,或你确定必须将 .testsettings 文件添加到解决方案中,则需要注意,选择活动 .testsettings 文件编辑该 .testsettings 文件的过程已发生了变化。

      • 在将 Web 性能和负载测试项目添加到解决方案时,该解决方案仍将包含 .testsettings 文件;但是,为 Web 性能和负载测试选择活动 .testsettings 文件以及为 Web 性能和负载测试编辑该 .testsettings 文件的过程已发生了变化。

    • 系统必备 仅在使用 Microsoft 测试管理器而不使用 Visual Studio 运行测试的情况下,才使用实验室环境。

使用 Visual Studio 进行测试设置的关键任务

使用以下主题可帮助你创建和配置用于 Visual Studio 的测试设置。

任务

相关主题

在 Visual Studio 中创建要使用的测试设置:你可以使用受支持的诊断数据适配器为单元测试、编码的 UI 测试、Web 性能测试和负载测试创建测试设置。

在 Visual Studio 中编辑测试设置:可以通过编辑现有测试设置来更正它们。

指定要在解决方案中使用的测试设置:解决方案可包含多个测试设置文件。 可根据测试设置文件中的测试需求来选择要使用的测试设置文件。

配置 Visual Studio 测试以使用远程计算机:若要远程运行测试、收集数据或影响测试计算机,你可以安装并配置测试控制器和测试代理。

诊断数据适配器详细信息

下表概述了将诊断数据适配器配置为用于本地或远程计算机角色的各种方法。

测试设置中使用的诊断数据适配器

本地计算机上的手动测试

自动测试

手动测试:使用角色集和环境收集数据

备注

Microsoft 测试管理器 操作日志:操作日志收集在测试期间执行的每个 UI 操作的文本说明。 操作日志和测试结果一同保存。 你可查看操作日志以了解已执行的操作。

是(请参见“注释”)

  • 当在远程环境中收集数据时,录制将仅在本地计算机上工作。

  • 如果在运行手动测试时创建操作录制,则会收集操作日志。

Visual Studio 2012 和 Microsoft 测试管理器 用于 IntelliTrace 和测试影响的 ASP.NET 客户端代理:此代理允许你为 IntelliTrace 和测试影响诊断数据适配器收集有关从客户端到 Web 服务器的 http 调用的信息。

  • 只有在为客户端角色选择了 IntelliTrace 或测试影响诊断数据适配器的情况下,才使用此设置。

Visual Studio 2012 和 Microsoft 测试管理器 ASP.NET 探查器:可以创建包含 ASP.NET 分析的测试设置,该分析收集 ASP.NET Web 应用程序的性能数据。

是(请参见“注释”)

  • 仅当在 Visual Studio 中运行负载测试时,才支持诊断数据适配器。

Visual Studio 2012 代码覆盖率 (Visual Studio 2010):可以创建包含代码覆盖率信息的测试设置,该信息用于调查测试覆盖的代码范围。

是(请参见“注释”)

  • 只能在从 Visual Studio 或 mstest.exe 运行自动测试时,只能从运行测试的计算机中使用代码覆盖率。不支持远程收集。

  • 如果还将测试设置配置为收集 IntelliTrace 信息,则收集代码覆盖率数据不起作用。

备注

此诊断数据适配器仅适用于 Visual Studio 测试设置。它不用于 Microsoft 测试管理器 中的测试设置。此外,此适配器用于与 Visual Studio 2010 测试项目的兼容性。

备注

为了实现兼容,当自动测试从 Microsoft 测试管理器运行或在 Visual Studio 中的远程测试代理(使用旧的 MSTest 运行程序)上运行时,将应用代码覆盖率。

Visual Studio 2012 和 Microsoft 测试管理器 事件日志:可以将测试设置配置为包含事件日志收集,该事件日志将包含在测试结果中。

Visual Studio 2012 和 Microsoft 测试管理器 IntelliTrace:可以为 IntelliTrace 配置诊断数据适配器,使其收集特定诊断跟踪信息,从而帮助隔离难以重现的 Bug。 这将创建包含此信息的 IntelliTrace 文件。 IntelliTrace 文件的扩展名为 .iTrace。 测试失败时,可以创建 Bug。 随测试结果一起保存的 IntelliTrace 文件会自动链接到此 Bug。 IntelliTrace 文件中收集的数据可减少重现和诊断代码中的错误所需的时间,从而提高调试效率。 可以基于此 IntelliTrace 文件在另一台计算机上模拟本地会话。 这会降低无法重现 Bug 的风险。

  • 如果启用收集 IntelliTrace 数据,则收集代码覆盖率数据将不起作用。

  • 如果将 IntelliTrace 用于 Web 客户端角色,还必须选择用于 IntelliTrace 和测试影响诊断数据适配器的 ASP.NET 客户端代理。

  • 仅支持以下版本的 IIS:IIS 7.0、IIS 7.5 和 IIS 8.0。

有关详细信息,请参阅通过使用 IntelliTrace 记录代码执行来调试应用

Visual Studio 2012 网络仿真:可以使用测试设置指定你希望在测试中放置人工网络负载。 网络仿真将仿真特定网络连接(如拨号连接)的速度,从而影响计算机的往来通信。

备注

是(请参见“注释”)

可将网络仿真诊断数据适配器用于客户端或服务器角色。 不必对彼此通信的这两个角色都使用适配器。

备注

此诊断数据适配器仅适用于 Visual Studio 测试设置。它不用于 Microsoft 测试管理器 中的测试设置。

备注

网络仿真不能用于提高网络连接速度。

警告

如果测试设置中包括网络仿真诊断数据适配器并且打算在本地计算机中使用它,那么还必须将网络仿真驱动程序绑定到计算机的网络适配器之一。必须具有网络仿真驱动程序,网络仿真诊断数据适配器才能起作用。网络仿真驱动程序以两种方式安装和绑定到适配器:

  • 网络仿真驱动程序随 Microsoft Visual Studio Test Agent 2013 一起安装:Microsoft Visual Studio Test Agent 既可用于远程计算机,又可用于本地计算机。安装 Visual Studio Test Agent 时,安装过程包含一个将网络仿真驱动程序绑定到网卡的配置步骤。有关详细信息,请参阅 安装和配置测试代理和测试控制器.

  • 网络仿真驱动程序随 Microsoft Visual Studio Test Professional 2013 一起安装:初次使用网络仿真时,会提示你将网络仿真驱动程序绑定到网卡。

也可以使用以下命令在不安装 Visual Studio 测试代理的情况下从本地计算机上的命令行中安装网络仿真驱动程序:VSTestConfig NETWORKEMULATION /install

警告

负载测试会忽略网络仿真适配器。实际上,负载测试使用在负载测试方案的网络组合中指定的设置。有关更多信息,请参见在负载测试方案中指定虚拟网络类型如何:为分布式负载测试创建测试设置

Visual Studio 2012 和 Microsoft 测试管理器 系统信息:可以设置测试设置来包含有关在其上运行测试的计算机的系统信息。

Visual Studio 2012 和 Microsoft 测试管理器 测试影响:可以收集在运行某个测试用例时使用了哪些应用程序代码方法的相关信息。 可将它与开发人员进行的应用程序代码更改结合使用,以确定这些开发更改影响了哪些测试。

  • 如果为 Web 客户端角色收集测试影响数据,还必须选择用于 IntelliTrace 和测试影响诊断数据适配器的 ASP.NET 客户端代理。

  • 仅支持以下版本的 IIS:IIS 7.0、IIS 7.5 和 IIS 8.0。

Visual Studio 2012 和 Microsoft 测试管理器 视频录制器:可以在运行测试时创建桌面会话的视频录制。 该视频可帮助其他团队成员隔离难以重现的应用程序问题。

是(请参见“注释”)

  • 如果使测试代理软件作为进程(而不是服务)运行,则可以在运行自动测试时创建视频录制。

若要执行此操作,请参见如何:设置测试代理以运行与桌面交互的测试

相关任务

创建诊断数据适配器以收集自定义数据或影响测试计算机

你可以创建并使用自定义诊断数据适配器来收集自定义数据或执行影响计算机的任务,如减少可用系统内存,减少可用磁盘空间或者在测试期间分配和保留其他资源。

使用 Team Web Access 运行手动测试

利用 Microsoft 测试管理器,你可以从测试计划运行手动测试、探索测试会话和自动测试。 从测试计划运行任何这些测试时,收集的诊断数据将包含在测试结果中。

使用 Microsoft Visual Studio 运行系统测试

在 Visual Studio 中配置测试设置后,你可以运行测试并收集诊断数据以帮助隔离应用程序中的瓶颈和 Bug。

外部资源

指导

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

使用 Visual Studio 2012 对连续交付进行测试 - 第 6 章:测试工具箱

请参见

任务

如何:为分布式负载测试创建测试设置

概念

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

使用 Visual Studio 2010 的测试设置的兼容性