Azure DevOps 服务 |Azure DevOps Server |Azure DevOps Server 2022
使用Microsoft测试运行程序运行手动测试和记录每个测试步骤的结果。 可以测试 Web 和桌面应用程序、在套件中运行所有活动测试或选择特定的测试用例,以及针对特定生成运行测试。
在测试运行期间,你可以直接从测试运行程序捕获屏幕截图、记录操作并创建或更新 bug,测试步骤、屏幕截图和评论会自动包含。
测试点
测试用例本身不是可执行的。 向测试套件添加测试用例时,将生成 测试点。 测试点是测试用例、测试套件、配置和测试人员的唯一组合。
例如,名为测试登录功能的测试用例具有两个配置(Microsoft Edge 和 Chrome)生成两个测试点。 可以独立运行每个测试点,每个执行都会生成测试结果。 可以在执行历史记录中查看测试点的所有执行。 “ 执行 ”选项卡显示每个测试点的最新结果。
运行选项
Web 浏览器运行程序在任何受支持的浏览器中运行,并支持屏幕截图、操作日志和屏幕录制。 它适用于 Web 和桌面应用程序。
重要说明
适用于 Windows 的测试运行程序客户端即将停用。 过渡到基于 Web 的测试运行程序,该运行程序提供相同的功能以提高性能和持续开发。 有关详细信息,请参阅
若要访问运行选项,请在“ 执行 ”选项卡中选择测试,然后选择“ 使用选项运行”。 “ 使用选项运行 ”对话框可让你:
- 选择要测试的特定构建(请参阅 针对构建运行测试)
- 使用发布阶段运行自动测试(请参阅 从测试计划运行自动测试)
先决条件
| 类别 | 要求 |
|---|---|
| 项目访问 | 项目成员。 |
| 访问级别 | 至少具有基本访问权限。 如需更多信息,请参阅 手动测试访问和权限。 |
TCM 命令行工具的先决条件
| 类别 | 要求 |
|---|---|
| 工具 | Visual Studio 2017(专业或企业版)或更早版本。 TCM 可执行文件 (tcm.exe) 位于以下目录中:- %programfiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE- %programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE- %programfiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE |
| 访问级别 | 至少具有基本访问权限和要访问项目的成员身份。 若要克隆或导入测试计划和测试套件,需要 基本 + 测试计划 访问权限。 如需更多信息,请参阅 手动测试访问和权限。 |
若要运行 TCM 命令,请根据需要指定 /collection 和 /teamproject 参数 /login 。
| 参数 | 说明 |
|---|---|
/集合:CollectionURL |
必需。 指定团队项目集合的 URI。 URI 的格式如下: - 对于 Azure DevOps 服务: https://dev.azure.com/OrganizationName 或 https://OrganizationName.visualstudio.com- 面向 Azure DevOps Server: http://ServerName:Port/VirtualDirectoryName/CollectionName。 如果未使用虚拟目录,则格式为: http://ServerName:Port/CollectionName。 |
/teamproject:project |
必需。 包含要克隆或导入自动化测试的测试对象的项目的名称。 |
/login:username,[password] |
可选。 指定有权运行命令的有效Azure DevOps用户的名称和密码。 如果你的 Windows 凭据没有适当权限、你使用基本身份验证或你未连接到域,请使用此选项。 |
为 Web 应用运行测试
从 Web 门户打开项目,然后选择测试计划>测试计划。 如果尚未创建测试用例,请参阅 “创建测试用例”。
选择“我的”或“全部”,或者使用“按标题筛选”查找并选择你的测试计划。 选择“执行”选项卡。
选择一个或多个测试,或测试套件中的所有测试。 然后选择“为 Web 应用程序运行”。
Microsoft 测试运行器将在新浏览器窗口中打开。
启动要测试的应用程序。
测试中的应用不必在测试运行程序所在的同一台计算机上运行。 例如,可以在桌面上运行测试运行程序,同时在单独的设备上测试移动或平板电脑应用。
根据预期结果将每个测试步骤标记为通过或失败。
如果测试步骤失败,你可以输入失败原因的注释或收集测试的诊断数据。 你还可以创建或添加到 bug。
重要说明
具有预期结果的测试步骤是 验证测试步骤。 测试人员必须将每个验证测试步骤标记为已通过或失败。 如果任何验证测试步骤标记为失败或未标记,则总体测试用例结果将 失败 。
创建或添加到 bug
测试步骤失败时,可以直接从测试运行程序创建新的 bug 或更新现有 bug。 将自动包含测试步骤、注释和诊断数据。
创建新错误
步骤失败时,输入注释并选择创建 bug。
在“新建 bug”对话框中,输入 bug 的名称。 步骤和你的评论将被自动添加。
如果在 Web 浏览器中运行测试运行程序,则可以将剪贴板中的屏幕截图直接粘贴到 bug 中。
(可选)分配缺陷、添加评论或链接到其他工作项。 完成后,选择“保存并关闭”。
你可以看到测试会话期间报告的任何 bug。
注意
如果 “创建 bug”按钮 未启动缺陷工作项,那么请验证团队设置:
- 转到 Project 设置>Team并验证是否已将正确的团队设置为默认值。
- 选择 “迭代和区域路径 ”链接以打开“团队配置”页。
- 验证 迭代、 默认值和 积压工作迭代 是否与测试用例的团队匹配。
- 选择 “区域 ”并验证 默认区域 是否与测试用例的团队匹配。
添加到现有 bug
使用失败详细信息更新现有 bug,而不是创建新的 bug。 从“创建 bug”下拉菜单中选择“添加到现有 bug”。
保存并查看结果
完成运行测试后,选择“ 保存并关闭”。 Azure Test Plans存储所有测试结果。
在“ 执行 ”选项卡中,查看测试套件的测试状态。 将显示每个测试的最新结果。
尚未运行的测试显示活动状态。 若要再次运行测试,请将其状态重置为 “活动”。
若要查看测试过程中提交的 bug,请打开测试用例工作项并检查 “相关工作” 部分是否有子 bug 链接。
小窍门
还可以脱机运行测试,然后导入结果。 有关详细信息,请参阅脱机测试执行扩展。
为桌面应用运行测试
重要说明
Windows平台的Test Runner客户端正在退役。 过渡到基于 Web 的测试运行程序,该运行程序提供相同的功能以提高性能和持续开发。 有关详细信息,请参阅
可以使用 Web 浏览器运行程序测试桌面应用程序。 在浏览器窗口中与桌面应用一起运行测试运行程序,并将每个测试步骤标记为已通过或失败。
按照 运行 Web 应用的测试 中的步骤,在 “执行 ”选项卡中打开测试计划。
选择一个或多个测试,然后选择 “针对 Web 应用程序运行”。
打开桌面应用并按照测试步骤操作,在测试运行程序中将每个步骤标记为已通过或失败。
Web 运行程序支持桌面应用的屏幕截图、操作日志和屏幕录制。 有关详细信息,请参阅 测试时收集诊断数据。
注意
将 Web 运行程序用于桌面应用时,屏幕截图和操作日志将捕获浏览器窗口,而不是桌面应用程序。 使用屏幕录制软件捕获全屏,包括桌面应用。
运行所有测试
你可以一次运行测试套件中的所有测试。
选择测试套件,然后选择 “运行 Web 应用程序” 以运行所有活动测试。
针对版本运行测试
若要针对特定版本运行测试,请从运行选项中选择该版本。
从下拉列表中,选择“使用选项运行”。
在“使用选项运行”对话框中,选择所需的版本。
注意
所选构建必须来自与测试相同的项目。
运行期间提交的任何 bug 都与选定的构建相关联,而且针对该构建发布了测试结果。
在测试运行期间修改测试步骤
在测试仍在运行期间,可以修复测试步骤。 选择 “编辑测试步骤 ”图标以插入、重新排序、删除或编辑步骤。
捕获诊断数据
运行测试时,可以捕获屏幕截图、操作日志和屏幕录制。 有关详细步骤,请参阅 收集诊断数据。
捕获屏幕截图。
使用 Web 运行程序在测试时获取应用的屏幕截图。
捕获操作日志
使用网页运行器来捕获您在测试期间在应用上执行的操作,并生成图像日志。
录制屏幕录像
在测试时使用网络运行器捕获 Web 和桌面应用的屏幕录制。
使用 TCM 运行测试
可以使用测试用例管理(TCM)命令行工具运行属于测试计划的一部分的测试。 此工具允许你创建并启动测试运行,然后管理所有现有测试运行。 使用此处记录的 tcm 命令来完成这些任务。
列出测试运行 | 创建测试运行 | 执行测试运行 | 中止测试运行 | 删除测试运行 | 导出测试运行 | 发布测试运行
列出测试运行
使用 tcm run /list 列出测试计划中可用的运行并显示其 ID。
该 ID 对应于创建运行时所定义的工作项 ID。
tcm run /list /collection:teamprojectcollectionurl /teamproject:project
[/planid:id | /querytext:query] [/login:username,[password]]
| 参数 | 说明 |
|---|---|
/planid:id |
可选。 仅返回与指定测试计划关联的测试运行。 |
/querytext:query |
可选。 指定要用于列出测试运行子集的查询。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令列出了为 fabrikamprime 组织中托管的 Fabrikam Fiber 项目定义的测试运行。
ID 和标题对应于为测试运行定义的工作项 ID 和标题。 例如,测试运行1000052标题为“第 1 周期的测试计划”(手动)。
tcm run /list /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
Id Title Owner Date Completed
--------- ---------------------------------- ------------------- -----------
1000006 Sprint 2 (Manual) Jamal Hartnett 1/5/2026
1000032 33 : Change initial view (Manual) Christie Church 1/11/2026
1000040 Sprint 2 (Manual) Jamal Hartnett 1/16/2026
1000042 Sprint 3 (Manual) Jamal Hartnett 1/16/2026
1000046 Special testing (Manual) Francis Totten 1/18/2026
1000052 Test Plan for Cycle 1 (Manual) Chuck Reinhart 2/1/2026
1000060 Game Shopping (Manual) Chuck Reinhart 2/6/2026
创建测试运行
使用 tcm run /create 创建与指定测试计划关联的测试运行。 除测试计划外,指定要使用的测试套件和配置(通过相应 ID)。 使用tcm plans /list、tcm suites /list和tcm configs /list命令来收集这些ID。
tcm run /create /title:title /planid:id /collection:CollectionURL /teamproject:project
(suiteid:id /configid:configid | /querytext:query)
[/settingsname:name] [/owner:owner] [/builddir:directory]
[/testenvironment:name] [/login:username,[password]] [/include]
| 参数 | 说明 |
|---|---|
/title:title |
指定你创建的测试运行的标题。 |
/planid:id |
指定要在其中创建测试运行的测试计划。 |
/suiteid:id |
指定要用于测试运行的测试套件。 |
/configid:id |
指定要为测试套件运行的测试配置。 |
/querytext:query |
如果指定 suiteid 和 configid,则为可选。 指定用于选择要运行的测试的查询。 提示: /querytest使用参数运行多个测试套件。 例如: querytext:“SELECT * FROM TestPoint WHERE (ConfigurationId=20 OR ConfigurationId=21) AND (Suiteid=1185 OR Suiteid=1186)”。 |
/settingsname:name |
可选。 指定要用于此测试运行的测试设置。 如果不选择测试设置,则使用测试计划中的默认测试设置。 |
/owner:owner |
可选。 指定测试运行的所有者。 |
/builddir:directory |
可选。 指定用于查找测试的测试程序集的版本目录。 如果你不指定此参数,生成位置基于当前分配给测试计划的生成。 |
/testenvironment:name |
可选。 指定要用于此测试运行的测试环境。 如果不选择测试环境,则使用测试计划中的默认测试环境。 |
| /include | 可选。 包括为测试运行选择的所有测试,即使测试当前未处于活动状态。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令在测试计划 中创建一个名为 77 的测试运行。 该运行使用 ID161 的测试套件和 ID9 的测试配置。 为 fabrikamprime 组织中托管的 Fabrikam Fiber 项目定义运行。
在此示例中,测试运行的 ID 是 1000082.
tcm run /create /title:MyTestRun /planid:77 /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber" /suiteid:161 /configid:9
Run created with ID: 1000082.
执行测试运行
使用 tcm run /execute 启动测试计划中的一个运行。 指定的 ID 对应于创建运行时定义的工作项 ID。 若要查看所有测试运行标识符的列表,请使用 tcm run /list 命令。
tcm run /execute /id:id /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]]
| 参数 | 说明 |
|---|---|
/id:id |
指定要执行的测试运行的 ID。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令启动托管在 fabrikamprime 组织中的 Fabrikam Fiber 项目的 ID1000082 测试运行。 结果将显示在 CLI 窗口中。
tcm run /execute /id:1000082 /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
Executing run: MyTestRun
Results
------------------------
Total: 2
Passed: 1
Failed: 1
Inconclusive: 0
中止测试运行
用 tcm run /abort 取消正在进行的测试运行。 指定的 ID 对应于创建运行时定义的工作项 ID。
tcm run /abort /id:id /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]]
| 参数 | 说明 |
|---|---|
/id:id |
指定要取消的测试运行的 ID。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令停止托管在 fabrikamprime 组织中的 Fabrikam Fiber 项目的 ID1000082 测试运行。 结果确认被取消的作业的ID和标题。
tcm run /abort /id:1000082 /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
Run with ID [1000082] and title [MyTestRun] has been aborted.
删除测试运行
使用 tcm run /delete 从测试计划中删除测试执行。 你指定的 ID 对应于创建测试运行时定义的工作项 ID。
tcm run /delete /id:id [/noprompt] /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]]
| 参数 | 说明 |
|---|---|
/id:id |
指定要删除的测试运行的 ID。 |
| /noprompt | 可选。 指定系统不会提示用户确认删除某次测试运行。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令删除托管在 fabrikamprime 组织中的 Fabrikam Fiber 项目的 ID1000082 测试运行。 系统会提示用户确认是否要删除指定的测试运行,并提供结果。
tcm run /delete /id:1000082 /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
Are you sure you want to delete run [MyTestRun]? (Yes/No) y
Run [MyTestRun] has been deleted.
导出测试运行
使用 tcm run /export 将测试运行导出到指定位置。 你指定的 ID 对应于创建运行时定义的工作项 ID。
tcm run /export /id:id /resultsfile:path /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]]
| 参数 | 说明 |
|---|---|
/id:id |
指定要导出的测试运行 ID。 |
/resultsfile:path |
指定要导出的测试运行的位置和文件名。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令将托管在 fabrikamprime 组织中的 Fabrikam Fiber 项目的 ID1000082 测试运行导出到 c:\temp\ResultsForDeveloper.trx。
tcm run /export /id:1000082 /resultsfile:"c:\temp\ResultsForDeveloper.trx" /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
发布测试运行
使用 tcm run /publish 从指定测试计划的 Visual Studio 测试结果文件中发布结果。
tcm run /publish /suiteid:id /configid:id /resultowner:owner /resultsfile:path
/collection:teamprojectcollectionurl /teamproject:project [/title:runtitle]
[/runowner:owner] [/build:buildnumber /builddefinition:builddefinition]
[/flavor:flavor] [/platform:platform] [/assignfailurestouser:user]
[/login:username,[password]] [/buildverification]
| 参数 | 说明 |
|---|---|
/suiteid:id |
指定发布测试运行时要使用的测试套件。 |
/configid:id |
指定发布测试运行时要使用的测试配置。 |
/resultowner:owner |
指定测试结果的所有者。 |
/resultsfile:path |
指定要发布的测试运行的位置,例如“c:\temp\ResultsForDeveloper.trx”。 |
/title:runtitle |
可选。 指定一个要用于所发布的测试运行的标题。 |
/runowner:owner |
可选。 指定测试运行的所有者。 |
/build:buildnumber |
可选。 指定用于发布测试运行的版本编号。 此参数必须与 /builddefinition 一起使用。 |
/builddefinition:builddefinition |
可选。 指定用于发布测试运行的版本定义。 此参数必须与 /build 一起使用。 |
/flavor:flavor |
可选。 指定版本类型,例如发布。 仅当使用 /build 参数时,才能使用此参数。 |
/platform:platform |
可选。 指定版本平台,例如 x86。 仅当使用 /build 参数时,才能使用此参数。 |
/assignfailurestouser:user |
可选。 指定将测试运行中任何失败的测试分配给的用户。 |
| /buildverification | 可选。 指定此测试运行包含用于检查版本基本功能的版本验证测试。 |
有关说明 /collection、/teamproject 和 /login 参数,请参阅使用 TCM 命令行工具。
示例
以下命令发布具有 ID161 测试套件和 ID9 测试配置的测试运行并重新分配所有者。 此命令更新测试套件中测试用例与此配置配对的现有测试点,并在指定的.trx 文件中发布结果。 该命令将测试运行中失败的任何测试分配给指定用户。
tcm run /publish /suiteid:167 /configid:9 /resultowner:"Jamal Hartnett" /resultsfile:"c:\temp\ResultsForDeveloper.trx" /assignfailurestouser:"Chuck Reinhart" /collection:https://fabrikamprime.visualstudio.com /teamproject:"Fabrikam Fiber"
常见问题
问:为什么无法预览某些测试运行附件?
答: 只能预览 .txt 和 .log 文件。 对于其他文件类型,请下载附件。
问:如何控制测试数据的保留时间?
答: 请参阅 “设置测试保留策略”。
问:可以脱机运行测试然后导入结果吗?
答:可以,请参阅脱机测试执行扩展。