如何:在生成应用程序之后配置和运行计划的测试
您可以在生成完成之后运行测试,以评估生成的质量。这些测试通常称为生成验证测试 (BVT) 或冒烟测试。这些测试通常由一组广泛的测试组成,这组测试用于验证特定生成中应用程序的主要区域。如果 BVT 中的所有测试均已通过,则认为该生成成功。
您可以使用一种或多种类型的自动测试作为生成验证测试的一部分。可以运行以下类型的测试:
单元测试
编码的 UI 测试
Web 性能测试
负载测试
常规测试
创建 BVT 时将使用 Visual Studio、Team Foundation 版本控制和 Team Foundation Build。首先,将注册的自动测试可使用 Team Foundation 版本控制,要用于BVT使用到数据源控件。然后添加测试对您的生成定义。最后,使用 Team Foundation Build 使生成入队,如果该生成成功,则将运行测试。
说明 |
---|
客户端计算机必须安装团队资源管理器,并且 Visual Studio 用户会话必须连接到 Team Foundation Server 计算机。有关如何连接到 Team Foundation Server 的信息,请参见How to: Connect to a Team Project in Team Foundation Server。 |
本主题描述创建和运行生成验证测试所需的所有过程:
签入生成验证测试
创建生成定义
将生成和测试代理的计算机或用户帐户添加到 TeamTestControllerUsers 组
设置代理以运行编码的 UI 测试
运行 BVT 生成定义
签入生成验证测试
在此过程中,将签入解决方案的所有文件。
将生成验证测试签入到源控件中
连接到 Team Foundation Server 计算机。有关更多信息,请参见How to: Connect to a Team Project in Team Foundation Server。
如果解决方案尚不在源代码管理中,请将其添加到源代码管理中。有关更多信息,请参见Add a Project or Solution to Version Control。
选择 *** 团队资源管理器 *** 然后选择 *** 挂起签入 ***。此时将显示**“挂起的签入”**窗口。
签入解决方案的所有文件。有关更多信息,请参见Check In Pending Changes。
说明 您可能具有特定的团队过程,用于对 BVT 的创建和管理进行控制。例如,该进程可能会要求您在签入代码和在该代码上运行的测试之前,在本地对您的生成进行验证。
完成签入操作后,解决方案资源管理器中每个文件的旁边将出现一个锁形图标,以指示其为“已签入”状态。有关更多信息,请参见Identify Version Control Item Status in Solution Explorer。
已签入的测试可在生成中使用。您现在可以创建一个包含要在 BVT 中运行的测试的生成定义。
创建生成定义
创建 BVT 生成定义
在 团队资源管理器,选择团队项目。
在 团队资源管理器主页,选择 *** 生成 ***。
*** 生成 *** 将显示页。
选择 *** 新的生成定义 ***。
此时将显示**“新建生成定义”**选项卡。
为新生成定义输入信息。有关更多信息,请参见创建生成定义。
指定要与在 *** 生成定义名称 *** 文本框的生成定义。
(可选)在**“说明”**中,添加相应的说明。
选择 *** 工作区 ***。
“工作文件夹”表包括要为其创建新生成定义的团队项目的源代码管理文件夹,以及生成代理上的本地文件夹。生成代理上的本地文件夹在“本地文件夹”列中列出。生成代理上的所有工作区路径都相对于所显示的默认根目录进行映射。
若要将现有的工作区复制到工作文件夹列表中,选择 *** 复制现有工作区 *** 打开 *** 选择工作区 *** 对话框。
所选的工作区将规范化为生成代理上的通用根目录 $(SourceDir)。SourceDir 是一个扩展为 $(BuildDir)\Sources 的环境变量。
还可以在源代码管理文件夹的空表单元格,然后选择省略号(…)浏览到源控件作为工作文件夹添加的文件夹。所选的源代码管理文件夹也会进行规范化,而成为生成代理上的通用根目录。
选择 *** 生成默认 ***。
在“生成默认值”窗格中,可以从“生成控制器”下拉列表中选择现有的生成控制器。
在**“将生成输出复制到以下放置文件夹”**中,键入 UNC 路径,如 (\\server\share) 位置。生成完成后,生成的二进制文件和日志文件将位于此文件夹中。有关如何设置放置文件夹的更多信息,请参见选择临时位置和设置放置文件夹。
如果您计划运行编码的 UI 测试、Web 性能测试或负载测试作为生成定义的一部分,则必须使用此位置生成的输出来启动或安装您的应用程序。自动安装您的应用程序,在生成完成后,然后在测试运行前,则可以使用可将应用程序部署到SCVMM环境的实验室默认模板也可以修改此实验室默认模板将应用程序部署到一个标准环境。
说明 完成此步骤之前,您必须已创建了一个公共文件夹,TFSService 帐户对该文件夹具有完全权限。有关 Team Foundation 服务帐户的更多信息,请参见查看 Team Foundation Server 服务。
选择 *** 处理 ***。在 *** 处理 *** 窗格中,选择 *** 显示详细信息 ***。
在 *** 必需 *** 部分,请在 ***** 生成的项目 *****旁边选择第二列中的省略号。
此时将显示**“要生成的项目”**对话框。
单击**“添加”**。然后找到个要生成的解决方案或项目在版本控制树,然后选择 *** 好 ***。
在 *** 生成的项目 *** 对话框中,选择 *** 好 ***。
若要指定用于查找测试程序集的搜索模式,选择 *** 测试程序集Filespec ***。键入搜索字符串。例如,** \ *test*.dll,如果您的DLL都包含单词“test”的名称。
说明 此搜索字符串通过查找所有DLL的内容将以递归方式搜索在二进制内容的匹配*test*.dll。有关更多信息,请参见定义生成过程。
(可选)若要选择测试设置文件时要使用运行测试,打开 *** 自动测试 ***,打开 *** 测试程序集 *** 并选择 *** TestSettings文件 *** 然后选择省略号(…)。
此时将显示**“浏览”**对话框。找到包含要使用的测试设置,然后选择 ***** 好 *****的.test设置文件。
如果测试设置文件使用测试控制器和测试代理,请参见以下过程:将生成和测试代理的用户帐户或计算机添加到 TeamTestControllerUsers 组中。
如果运行的是编码的 UI 测试,请参见以下过程以基于测试设置文件设置您的代理:设置代理以运行编码的 UI 测试。
说明 您可以使用“高级”部分中的“代理设置”来选择要使用的特定代理。例如,如果您要运行编码的 UI 测试,并且必须选择作为交互进程运行的代理,则可以在此处选择该代理。
有关测试设置文件的更多信息,请参见指定 Visual Studio 测试的测试设置。
(可选)若要在生成过程中运行负载测试,则必须设置负载测试结果储存库,并将测试设置中指定的测试控制器配置为使用该储存库。有关更多信息,请参见如何:选择负载测试结果储存库。
若要保存新的生成定义,选择 *** 保存 ***。
团队资源管理器窗口中的**“生成”**文件夹下将显示新的生成定义。
将生成和测试代理的用户帐户或计算机添加到 TeamTestControllerUsers 组中
如果添加到生成定义中的测试设置文件使用测试控制器和测试代理,则您必须将所使用的任何生成或测试代理的计算机添加到该测试控制器计算机上的 TeamTestControllerUsers 安全组中。例如,如果要在生成过程中运行编码的 UI 测试,则必须将这些计算机添加到此安全组中。
警告 |
---|
如果将生成代理或测试代理设置为使用不同的用户,而不是使用网络服务帐户,则您必须确保将此域用户帐户改为添加到 TeamTestControllerUsers 组中。 |
将生成和测试代理的用户或计算机添加到 TeamTestControllerUsers 组中
从测试控制器 计算机,单击 *** 开始 ***,选择 *** 控制面板 ***,选择 *** 管理工具 ***,然后选择 *** 计算机管理 ***。
显示**“计算机管理”**对话框。
打开 *** 本地用户和组 *** 然后选择 组。
此时将显示组。
若要添加用户或计算机,请右击**“TeamTestControllerUsers”并指向“添加到组”**。
此时将显示**“TeamTestControllerUsers 属性”**对话框。
查看“成员”列表,看是否已经添加了域用户帐户或计算机。如果没有,请选择 *** 添加 ***。
显示**“选择用户、计算机或组”**对话框。
默认情况下,将只显示用户或组。若要添加计算机,请选择 *** 对象类型 ***,选择" *** 计算机 *** 然后选择 *** 好 ***。
若要添加计算机,请键入计算机的名称。***** 输入对象名选择 *****的,然后选择 *** 好 ***。
警告 您必须添加运行生成代理的计算机以及测试代理的计算机。
若要添加域用户帐户,请验证位置是否正确,键入用户帐户的名称。***** 输入对象名选择 *****的,然后选择 *** 好 ***。
重要事项 重复此步骤以添加所需的所有用户帐户。
若要应用所做的更改,请选择 *** 好 ***。
设置代理以运行编码的 UI 测试
如果要在生成应用程序之后将编码的 UI 测试作为计划测试的一部分来运行,则必须执行下列操作之一:
使用测试设置文件,该文件为应用程序指定用于运行测试的测试控制器和角色。使用Visual Studio中,创建这些测试设置。对于分配给运行测试设置中测试的角色的任何一个测试代理,您必须执行此过程中的步骤以将测试代理设置为作为进程运行,而不是作为服务运行。有关测试控制器和测试代理的更多信息,请参见设置测试计算机以运行测试或收集数据和安装和配置测试代理和测试控制器。
使用不指定测试控制器的测试设置文件。如果执行此操作,则必须将生成代理服务设置为能够与桌面交互。将该服务的属性选择为**“允许服务与桌面交互”**。这使生成代理能够运行编码的 UI 测试。
警告 如果运行的编码的 UI 测试将启动浏览器,则生成服务的服务帐户用于启动该浏览器。此服务帐户必须是此计算机上某个活动用户的用户帐户。如果不是同一用户帐户,浏览器将不会启动。
设置测试代理以运行编码的 UI 测试
- 若要设置测试代理以运行编码的 UI 测试,请按照以下主题中的步骤操作:如何:设置测试代理以运行与桌面交互的测试。
使用 Team Build 运行 BVT
使用 Team Build 运行 BVT
在 团队资源管理器,选择团队项目。
右击 *** 生成 *** 然后选择 *** 使新生成 ***。
(可选)更改生成位置和目录。
选择**“队列”**。
此时将启动生成并显示**“生成资源管理器”**对话框。
当生成完成后,选择 *** 完成 *** 查看详细信息。
若要查看生成的详细信息,请在列表中双击该生成。
此时将显示一个具有生成信息的新选项卡。可以查看测试运行的状态。
若要查看测试结果详细信息,请选择箭头以打开测试然后选择 *** 查看测试结果 ***。
选择文件夹以便以本地方式存储测试结果。
测试结果现在会显示在**“测试结果”**窗口中。
有关更多信息,请参见生成应用程序。
请参见
概念
使用 Visual Studio Web 性能和负载测试进行性能和压力测试