如何:为分布式负载测试创建测试设置
测试设置 可以为负载测试配置为启用分布在多台计算机分发测试使用测试代理和测试控制器。 还可以将测试设置配置为使用诊断数据适配器,这些适配器指定从 Visual Studio 旗舰版中运行负载测试时要收集的各种数据类型或者对测试计算机有何影响。 例如,可以使用 ASP.NET 探查器诊断数据适配器来收集代码的性能明细。 此外,诊断数据适配器可用于在测试计算机上模拟潜在瓶颈或减少可用系统内存。
在 Visual Studio 中测试设置存储在文件。 测试设置定义了有关每个角色的以下信息:
受测应用程序所需的角色集
运行测试所使用的角色
用于每个角色的诊断数据适配器
运行测试时,您根据对该特定测试运行的要求,选择要用作活动测试设置的测试设置。 测试设置文件存储为解决方案的一部分。 文件名扩展名为 .testsettings。
在添加 Web 性能测试时,负载测试项目的解决方案,Default.testsettings 文件中创建。 文件将自动添加到中 解决方案项 文件夹下的解决方案。 此文件以本地方式运行测试,而无需任何诊断数据适配器。 可以将另一个名为 .testsettings 文件,或编辑 .testsettings 文件指定诊断数据适配器和测试控制器。
提示
对于兼容性有关测试在 Visual Studio 2012 之间的设置,并且 Visual Studio 2010,请参见 使用 Visual Studio 2010 的测试设置的兼容性。
测试控制器将拥有可用于测试设置中的每个角色的代理。 有关测试控制器和测试代理的更多信息,请参见设置测试计算机以运行测试或收集数据和用 Visual Studio 管理测试控制器和测试代理。
使用以下过程可在解决方案中为计划从 Visual Studio 旗舰版中运行的负载测试创建和移除测试设置。
要求
- Visual Studio 旗舰版
为分发的负载测试创建测试设置
为分发的负载测试添加测试设置
在解决方案资源管理器中,右击 解决方案项,指向 添加,然后选择 新建项。
此时将显示**“添加新项”**对话框。
在 已安装的模板 窗格中,选择 测试设置。
(可选)在**“名称”**框中更改测试设置文件的名称。
单击**“添加”**。
在解决方案资源管理器中的**“解决方案项”**文件夹下将出现新的测试设置文件。
备注
列出测试设置 Visual Studio 专业版显示列表派生自测试在 解决方案项 文件夹的设置文件。例如,在使用“测试”菜单上的“选择当前测试设置”选项时,将显示“解决方案项”文件夹中的测试设置文件。这意味着,如果测试设置文件移动到解决方案层次结构中的其他位置,那么该文件不能再用作设置从 Visual Studio 集成开发环境中的测试。
此时将显示**“测试设置”**对话框。 **“常规”**页处于选定状态。
您现在可以编辑并保存测试设置值。
备注
将列出创建的每个测试设置,作为“测试”菜单上“选择当前测试设置”和“编辑测试设置”选项的选择。
在**“名称”**下键入测试设置的名称。
(可选)在**“说明”**下,键入测试设置的说明,以便其他团队成员了解其用途。
(可选)若要选择测试运行的默认命名方案,请选择**“默认命名方案”。 若要定义自己的命名方案,请选择“用户定义的方案”,然后在“前缀文本”中键入所需的文本。 若要将日期和时间戳追加到测试运行名称,请选择“追加日期时间戳”**。
选择 角色。
此时将显示**“角色”**页。
若要远程运行测试,或者远程运行测试并远程收集数据,请使用**“测试执行方法”下拉列表并选择“远程执行”**。
使用**“控制器”下拉列表从“控制器”**中为测试代理选择将用于运行测试或收集数据的测试控制器。
备注
如果这是首次添加控制器,则下拉列表中不会列出任何控制器。列表由先前在其他测试设置中指定的控制器填充。必须在框中键入控制器的名称(例如,TestControllerMachine1)。
有关更多信息,请参见为负载测试配置测试控制器和测试代理和将测试控制器和测试代理用于负载测试。
若要添加希望用于运行测试和收集数据的角色,在 角色下,选择 添加。
在**“名称”**列中键入角色的名称。 例如,角色可以是“Web 服务器”。
重复步骤 12 和 13,添加所需的所有角色。
每个角色都使用由测试控制器管理的测试代理。
选择要运行的测试,然后选择 设置为运行测试的角色的角色。
重要
您创建和定义的其他角色不运行测试,仅用于根据在“数据和诊断”页中为角色指定的数据和诊断适配器收集数据。
若要限制可用于角色的代理,请选择角色然后在工具栏上选择 添加 在 选定的 rol 的代理属性e. 下。
此时将显示**“代理选择规则”**对话框。
键入在 特性名 的名称以及在 特性值的值,然后选择 确定。 根据需要添加多个特性。
例如,可以添加一个名为“RAM > 16GB”、值为“True”或“False”的特性,以对内存大于 16GB 的测试代理计算机进行筛选。 若要将同一特性应用于一个或多个测试代理,请使用“管理测试控制器”对话框。 有关更多信息,请参见用 Visual Studio 管理测试控制器和测试代理。
选择 数据和诊断。
此时将显示**“数据和诊断”**页。
在**“数据和诊断”**页中,通过选择角色将用于收集数据的诊断数据适配器来定义角色所起的作用。 因此,如果对角色启用了一个或多个数据和诊断适配器,则测试控制器将基于为角色定义的特性选择一个可用的测试代理计算机来为指定的数据和诊断适配器收集数据。 若要选择要为每个角色收集的数据和诊断数据适配器,请选择角色。 根据测试要求为每个角色选择诊断数据适配器。 若要配置为每个角色选择的每个诊断数据适配器,请选择 配置。
角色和诊断数据适配器示例:
例如,可以创建一个名为“桌面客户端”、“使用 SQL”特性设置为“True”的客户端角色,以及一个名为“SQL Server”、特性设置为“RAM > 16GB”的服务器角色。 如果指定“桌面客户端”将运行通过选中 角色 页的 设置为运行测试的角色 测试,则测试控制器将选择具有测试代理的“使用 SQL”特性设置为“true”在其中运行测试的计算机。 测试控制器还将选择具有包含“RAM > 16GB”特性的测试代理的 SQL Server 计算机(仅用于收集角色中包含的数据和诊断适配器定义的数据)。 如果也为“桌面客户端”角色选择了数据和诊断适配器,则“桌面客户端”测试代理还可以为它在其上运行的计算机收集数据。
有关每个诊断数据适配器及其配置方法的详细信息,可查看下表中的关联主题。
有关诊断数据适配器的更多信息,请参见使用测试设置来设置计算机和收集诊断信息。
用于负载测试的诊断数据适配器
诊断数据适配器
在负载测试中使用
关联主题
用于 IntelliTrace 和测试影响的 ASP.NET 客户端代理:此代理允许您为 IntelliTrace 和测试影响诊断数据适配器收集有关从客户端到 Web 服务器的 http 调用的信息。
除非您具有收集测试代理计算机的系统信息的特定需要,否则不要包含此适配器。
警告我们建议不要在负载测试中使用 IntelliTrace 适配器,因为这样会因收集的数据量太大而导致问题。测试影响数据不是使用负载测试收集到的。
IntelliTrace:可以配置特定诊断跟踪信息,该信息存储在一个日志文件中。 该日志文件的扩展名为 .tdlog。 运行测试时如果某个测试步骤未通过,则可以创建一个 Bug。 包含诊断跟踪的日志文件会自动附加到此 Bug 中。 该日志文件中收集的数据可减少重现和诊断代码中的错误所需的时间,从而提高调试效率。 可以基于此日志文件在另一台计算机上重新创建本地会话。 这会降低无法重现 Bug 的风险。
有关更多信息,请参见使用 IntelliTrace 查看代码的历史记录来更快地调试代码。
我们建议不要在负载测试中使用 IntelliTrace 适配器,因为这样会因收集和记录的数据量太大而导致问题。 应该仅在运行时间不长、使用的测试代理不多的负载测试中尝试使用 IntelliTrace 适配器。
ASP.NET 探查器:可以创建包含 ASP.NET 分析的测试设置,该分析收集 ASP.NET Web 应用程序的性能数据。
ASP.NET 探查器诊断数据适配器分析 (IIS) 处理的 internet 信息服务 (iis),因此,它对开发 Web 服务器不起作用。 若要在负载测试中分析网站,必须在运行 IIS 的计算机上安装测试代理。 测试代理不生成负载,它是仅用于收集的代理。 有关更多信息,请参见安装和配置测试代理和测试控制器。
代码复盖率 (Visual Studio 2010): 可以创建包含代码复盖率信息用于调查的测试设置多少复盖的代码范围。
尽管可以在负载测试中使用代码覆盖率适配器,但是它仅收集测试设置中指定的测试执行角色上的代码覆盖数据,不收集测试设置中指定的服务器角色上的代码覆盖数据。
说明此适配器仅用于 Visual Studio 2010 兼容性。事件日志:可以将测试设置配置为包含事件日志收集,该事件日志将包含在测试结果中。
网络仿真:可以使用测试设置指定您希望在测试中放置人工网络负载。 网络仿真将仿真特定网络连接(如拨号连接)的速度,从而影响计算机的往来通信。
说明网络仿真不能用于提高网络连接速度。负载测试会忽略网络仿真适配器。 实际上,负载测试使用在负载测试方案的网络组合中指定的设置。
有关更多信息,请参见在负载测试方案中指定虚拟网络类型。
系统信息:可以设置测试设置来包含有关在其上运行系统信息诊断和数据收集器的计算机的系统信息。 通过使用测试设置可在测试结果中指定系统信息。
您可以从负载代理和测试中的系统收集系统信息。
收集此信息不需要任何配置。
测试影响:可以收集在运行某个测试用例时应用程序代码使用了哪些方法的相关信息。 将它与开发人员进行的应用程序代码更改结合使用,可确定这些开发更改影响了哪些测试。
测试影响数据不是使用负载测试收集到的。
视频记录器:运行自动测试时可以创建桌面会话的视频记录。 这对查看编码的 UI 测试的用户操作非常有用。 该视频可帮助其他团队成员隔离难以重现的应用程序问题。
说明远程运行测试时,除非代理在交互式进程模式下运行,否则视频记录器不起作用。警告我们建议不要对负载测试使用视频记录器适配器。选择 部署。
此时将显示**“部署”**页。
若要在每次运行测试时都为部署创建一个单独的目录,请选择**“启用部署”**。
备注
如果这样做,则在运行测试时可以继续生成应用程序。
若要将文件添加到用于运行测试的目录中,选择 添加文件,然后选择要添加的文件。
备注
运行负载测试时,插件程序集、数据文件和上载的文件将自动部署。
若要将目录添加到用于运行测试,选择 添加目录 然后选择要添加的目录。
备注
有关如何使用相关属性和 DeploymentItem 特性为各个测试部署文件和目录的更多信息,请参见如何:为测试部署文件。
若要运行脚本,在测试前后,选择 安装脚本和清理脚本。
此时将显示**“安装脚本和清理脚本”**页。
键入脚本文件的位置。安装脚本 的或选择省略号 (…) 找到安装脚本。
键入脚本文件的位置。清理脚本 的或选择省略号 (…) 找到清理脚本。
通过使用其他主机,若要运行测试,选择 主机。
在**“主机类型”中,验证是否已选中“默认”**。
备注
“主机类型”中的“ASP.NET”在负载测试中不受支持。
使用“在 32 或 64 位进程中运行测试”下拉列表选择希望负载测试中的 Web 性能和单元测试作为 32 位还是 64 位进程运行。
备注
为了最大限度地提高灵活性,您应编译 Web 性能使用任意 任何 CPU 配置,并且,负载测试项目。然后,可以在 32 位和 64 位代理上运行。生成的 Web 性能测试和负载测试项目使用 64 位 配置提供没有什么特别的用处。
(可选) 若要限制每个的时间测试运行,和各个测试,选择 测试超时 .
若要在超过一定时间限制时中止测试运行,请选择**“在总执行时间超过以下值时中止测试运行”**,然后键入此时限的值。
若要在超过一定时限时使单个测试未通过,请选择**“在单个测试的执行用时超过以下值时,将其标记为未通过”**,然后键入此时限的值。
跳过**“单元测试”**。 负载测试不使用这些设置。
跳过**“Web 测试”**。 负载测试不使用这些设置。
若要保存测试设置,请选择 另存为。 在**“对象名称”**中键入所需的文件的名称。
备注
如果必须更改测试设置,请选择 测试 然后选择 编辑测试设置 并指向所创建的测试设置。有关更多信息,请参见如何:编辑测试计划的现有测试设置。
从解决方案中移除测试设置
在解决方案资源管理器中的"解决方案项"文件夹下,右击要移除的测试设置,然后选择 移除。
该测试设置文件随即从解决方案中移除。 **“测试”菜单上的“选择活动测试设置”和“编辑测试设置”**选项的选择列表中将反映此更改。