测试计划分析的元数据参考
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Analytics 服务收集所有 Azure DevOps 测试活动的所有数据。 Azure 测试计划支持计划和探索性测试的定义和执行。 借助 Azure Pipelines,还可以使用持续集成/持续部署(CI/CD)工作流执行自动测试。
如果不熟悉 Azure DevOps 测试,建议查看以下文章:
本文中提供的元数据信息介绍了所有 Azure DevOps 测试活动支持的实体、属性和枚举类型。
注意
提供了分析数据模型支持的实体、属性和枚举类型的说明。 这是一个早期的草案。 请提供有关希望获取详细信息的区域的反馈。 若要查询数据模型,请参阅 为 Analytics 构造 OData 查询。
实体集和实体类型
若要查询测试计划数据的分析,请使用下表中所述的一个或多个实体类型和实体集。
注意
v3.0-preview 和 v4.0-preview 版本支持用于 Azure DevOps 测试的分析。
Analytics 将所有与测试相关的工作项存储为工作项。 可以使用 Azure Boards Analytics 的工作跟踪元数据参考中所述的工作跟踪实体查询和生成有关此数据的报表。
EntitySet |
EntityType |
说明 |
---|---|---|
测试 | 测试 | 测试用例的属性,例如测试名称和测试所有者。 有关定义测试用例的详细信息,请参阅 创建手动测试用例。 |
TestConfigurations | TestConfiguration | 测试计划配置信息。 有关配置测试的详细信息,请参阅 测试不同的配置。 |
TestPoints | TestPoint | 测试点的执行信息。 测试点是测试用例、测试套件、配置和测试人员的唯一组合。 有关示例报表,请参阅 进度状态示例报告。 |
TestPointHistorySnapshot | TestPointHistorySnapshot | (复合) 与 TestRun 关联的特定测试的单个执行结果。 有关示例报表,请参阅 手动测试执行趋势示例报告。 |
TestResults | TestResult | 与 TestRun 关联的特定测试的单个执行结果。 |
TestResultsDaily | TestResultDaily | TestResult 执行的每日快照聚合,按 Test(而不是 TestRun)分组。 有关示例报表,请参阅 测试摘要趋势示例报告。 |
TestRuns | TestRun | 管道下运行的测试的聚合测试结果的执行信息。 |
TestSuites | TestSuite | 测试套件信息。 有关定义测试套件的详细信息,请参阅 创建测试计划和测试套件。 |
测试
以下属性对 测试 实体类型和 测试 实体集有效。 代理键为 TestSK
.
导航属性包括 Project
及其引用约束 ProjectSK
。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新 Analytics 数据的水印。 | |
容器名称 | ContainerName |
字符串 | 包含管道中测试任务的作业容器的名称。 |
完全限定的测试名称 | FullyQualifiedTestName |
字符串 | 为测试创建的名称。 完全限定的名称格式对应于 Namespace.Testclass.Methodname 字符限制为 512。 如果测试是数据驱动且具有参数,则字符限制包括参数。 |
优先级 | Priority |
Int32 | 指定测试的重要程度或关键程度。 优先级通常指定为测试代码中的属性。 |
测试用例引用 ID | TestCaseReferenceId |
Int32 | 分配给测试用例的数字(而不是 ID)。 |
测试名称 | TestName |
字符串 | 测试的名称。 |
测试所有者 | TestOwner |
字符串 | 测试或测试运行的所有者。 测试所有者通常指定为测试代码中的属性。 请参阅 “发布测试结果”任务 ,查看支持的测试结果格式的“所有者”属性的映射。 |
TestConfigurations
测试配置指定运行测试的不同环境,如测试不同的配置中所述。
以下属性对 TestConfiguration 实体类型和 TestConfigurations 实体集及其代理键 TestConfigurationSK
有效。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
测试配置 ID | TestConfigurationId |
Int32 | 分配给测试用例的数字(而不是 ID)。 |
测试配置名称 | Name |
字符串 | 分配给测试配置的名称。 |
测试配置状态 | State |
字符串 | 测试配置的状态,即“活动”或“非活动”。 |
导航属性包括 Project
及其引用约束 ProjectSK
。
TestPoints
测试点是测试用例、测试套件、配置和测试人员的唯一组合。 以下属性对 TestPoint EntityType 和 TestPoints EntitySet 有效。 代理键为 TestPointSK
.
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AssignedToUserSK |
GUID | 分配给与测试点关联的测试人员的 GUID。 | |
TesterUserSK |
GUID | 分配给与测试点关联的测试人员的 GUID。 | |
自动化状态 | AutomationStatus |
Enumerated | 测试用例的状态,例如“自动”、“非自动”或“计划”。 对应于 Microsoft.VSTS.TCM.AutomationStatus 工作项字段。 |
更改日期 | ChangedDate |
DateTime | 上次更改测试点的日期/时间。 |
上次结果状态 | LastResultState |
Enumerated | 测试点的状态,例如挂起、排队或正在进行。 TestResultState 的有效值如下所示。 |
优先级 | Priority |
Int32 | 分配给关联的测试用例的优先级。 |
测试用例 ID | TestCaseId |
Int32 | 分配给关联的测试用例的工作项 ID。 |
测试配置 ID | TestConfigurationId |
Int32 | 分配给关联的测试配置的数字。 |
测试计划 ID | TestPlanId |
Int32 | 分配给关联的测试计划的工作项 ID。 |
测试结果结果 | LastResultOutcome |
Enumerated | 指定最后一个测试结果结果。 TestOutcome 的有效值如下所示。 |
测试套件 ID | TestSuiteId |
Int32 | 分配给关联的测试套件的工作项 ID。 |
若要通过用户界面查看测试点,请参阅 “运行手动测试”、“保存结果”、“关闭会话”和“查看结果”。
导航属性
下表列出了 TestPoint 实体类型和 TestPoints 实体集的导航属性。
显示名称 | Name | 引用约束 | 引用的属性 |
---|---|---|---|
ChangedOn |
ChangedDateSK |
DateSK |
|
分配到 | AssignedTo |
AssignedToUserSK |
UserSK |
集成 | Project |
ProjectSK |
ProjectSK |
测试用例工作项 | TestCase |
TestCaseId |
WorkItemId |
测试配置 | TestConfiguration |
TestConfigurationSK |
TestConfigurationSK |
测试套件 | TestSuite |
TestSuiteSK |
TestSuiteSK |
测试人员用户名 | Tester |
TesterUserSK |
UserSK |
TestResultState 枚举类型成员
测试结果可以是下表中汇总的 TestResultState
枚举类型的六种状态之一。
成员名称 | 值 | 显示名称 |
---|---|---|
None |
0 | 无 |
Pending |
1 | 挂起的 |
Queued |
2 | 已排队 |
InProgress |
3 | 正在进行 |
Paused |
4 | 已暂停 |
Completed |
5 | 已完成 |
TestOutcome 枚举类型成员
下表列出了测试的 15 个结果,这些成员是为 TestOutcome
枚举类型定义的。
成员名称 | 值 | Display name | 说明 |
---|---|---|---|
Unspecified |
0 | 未指定 | |
None |
1 | 无 | |
Passed |
2 | 已通过 | 测试已成功执行。 |
Failed |
3 | 已失败 | 测试不满足所需结果。 |
Inconclusive |
4 | 无结论 | 在没有最终结果的情况下进行测试。 |
Timeout |
5 | 超时 | 测试执行持续时间超过指定的阈值。 |
Aborted |
6 | 已中止 | 测试执行因内部或外部因素(例如代码错误、环境问题)而突然终止。 |
Blocked |
7 | 被阻止 | |
NotExecuted |
8 | 未执行 | 标记为已跳过执行的测试。 |
Warning |
9 | 警告 | |
Error |
10 | 错误 | |
NotApplicable |
11 | 不适用 | |
Paused |
12 | 已暂停 | |
InProgress |
13 | 正在进行 | |
NotImpacted |
14 | 不受影响 | 测试不受触发管道的代码更改的影响。 |
TestPointHistorySnapshot
以下属性对 TestPointHistorySnapshot 实体集有效。 代理项键包括 TestPointSK
和 DateSK
。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新分析数据的水印。 | |
AssignedToUserSK |
GUID | 分配给测试工作项的 GUID。 | |
IsLastDayOfPeriod |
Enumerated | 用于筛选数据以确定某一天是否在不同的时间段(如天、周、月或年)完成。 此处列出了有效值: 句点枚举类型成员。 | |
TesterUserSK |
GUID | 分配给与测试点关联的测试人员的 GUID。 | |
TestConfigurationSK |
Int32 | 分配给关联的测试配置的密钥。 | |
自动化状态 | AutomationStatus |
Enumerated | 测试用例的状态,例如“自动”、“非自动”或“计划”。 对应于 Microsoft.VSTS.TCM.AutomationStatus 工作项字段。 |
优先级 | Priority |
Int32 | 分配给关联的测试用例的优先级。 |
测试用例 ID | TestCaseId |
Int32 | 分配给关联的测试用例的工作项 ID。 |
测试配置 ID | TestConfigurationId |
Int32 | 分配给关联的测试配置的数字。 |
测试计划 ID | TestPlanId |
Int32 | 分配给关联的测试计划的工作项 ID。 |
测试结果结果 | ResultOutcome |
Enumerated | 指定最后一个测试结果结果。 TestOutcome 中列出了有效值。 |
测试套件 ID | TestSuiteId |
Int32 | 分配给关联的测试套件的工作项 ID。 |
导航属性
下表列出了 TestPointHistorySnapshot 实体类型和 TestPointHistorySnapshot 实体集的导航属性。
显示名称 | Name | 引用约束 | 引用的属性 |
---|---|---|---|
Date |
DateSK |
DateSK |
|
分配到 | AssignedTo |
AssignedToUserSK |
UserSK |
集成 | Project |
ProjectSK |
ProjectSK |
测试用例工作项 | TestCase |
TestCaseId |
WorkItemId |
测试配置 | TestConfiguration |
TestConfigurationSK |
TestConfigurationSK |
测试套件 | TestSuite |
TestSuiteSK |
TestSuiteSK |
测试人员用户名 | Tester |
TesterUserSK |
UserSK |
TestResults
测试结果对应于具有特定结果和详细信息的测试用例执行的单个实例。
手动运行测试或包括管道定义中的测试任务时,将发生测试运行。 有关详细信息,请参阅 生成、测试和部署 .NET Core 应用,运行测试。
以下属性对 TestResults 实体集有效。 代理键为 TestResultSK
.
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新 Analytics 数据的水印。 | |
完成日期 | CompletedDate |
DateTime | 测试结果完成执行的日期时间。 |
持续时间秒 | DurationSeconds |
Decimal | 执行测试所花费的秒数。 |
Flaky 是 Flaky | IsFlaky |
布尔 | 指示测试是否标记为浮点(True)或否(False)。 Flaky Test 是间歇性失败的测试,原因无明显原因,例如对代码或测试的更改。**** 有关详细信息,请参阅 “管理浮点测试”。 |
版本 ID | ReleaseId |
Int32 | 分配给与测试结果关联的版本的数字。 |
发布环境 ID | ReleaseEnvironmentId |
Int32 | 分配给与测试结果关联的发布环境的数字。 |
发布管道 ID | ReleasePipelineId |
Int32 | 分配给与测试结果关联的发布管道的数字。 |
发布阶段 ID | ReleaseStageId |
Int32 | 分配给与测试结果关联的发布阶段的数字。 |
开始日期 | StartedDate |
DateTime | 测试结果开始执行的日期时间。 |
测试结果 ID | TestResultId |
Int32 | 分配给测试结果的数字。 |
测试运行 ID | TestRunId |
Int32 | 分配给测试运行的数字。 |
测试运行类型 | TestRunType |
Enumerated | 指示它是手动测试类型还是自动测试类型。 TestRunType 的有效值如下所示。 |
测试结果 | Outcome |
Enumerated | 测试运行结果。 测试结果有 15 个可能的结果:已中止、已阻止、错误、失败、无结论、正在进行、无、不适用、未执行、不受影响、已传递、已暂停、超时、未指定和警告。 TestOutcome 的有效值如下所示。 |
Workflow | Workflow |
Enumerated | 管道工作流类型。 SourceWorkflow 的有效值如下所示。 |
导航属性
下表列出了 TestResult 实体类型的有效导航属性。
Name | 引用约束 | 引用的属性 |
---|---|---|
CompletedOn |
CompletedDateSK |
DateSK |
StartedOn |
StartedDateSK |
DateSK |
Branch |
BranchSK |
BranchSK |
Project |
ProjectSK |
ProjectSK |
Pipeline |
PipelineSK |
PipelineSK |
PipelineRun |
PipelineRunSK |
PipelineRunSK |
Test |
TestSK |
TestSK |
TestRun |
TestRunSK |
TestRunSK |
SourceWorkflow 枚举类型成员
下表列出了为 SourceWorkflow
枚举类型定义的成员。
显示名称 | 成员名称 | 值 |
---|---|---|
生成 | Build |
1 |
版本 | Release |
2 |
手动 | Manual |
3 |
TestRunType 枚举类型成员
下表列出了为 SourceWorkflow
枚举类型定义的成员。
成员名称 | 值 | 显示名称 |
---|---|---|
Automated |
1 | 自动化 |
Manual |
2 | 手动 |
TestResultsDaily
以下属性对 TestResultsDaily 实体集有效。 代理键是TestResultsDailySK
。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新 Analytics 数据的水印。 | |
发布管道 ID | ReleasePipelineId |
Int32 | 分配给关联的发布管道的数字。 |
发布阶段 ID | ReleaseStageId |
Int32 | 分配给关联的发布管道阶段的数字。 |
结果中止计数 | ResultAbortedCount |
Int32 | 每天报告 为测试结果中止 的测试结果数。 |
结果阻止计数 | ResultBlockedCount |
Int32 | 每天为测试结果报告为 “阻止 ”的测试结果数。 |
结果计数 | ResultCount |
Int32 | 报告的测试结果总数。 |
结果持续时间秒 | ResultDurationSeconds |
Decimal | 执行测试结果所需的秒数。 |
结果错误计数 | ResultErrorCount |
Int32 | 每天将测试结果报告为 Error 的测试结果数。 |
结果失败计数 | ResultFailCount |
Int32 | 每天报告为测试结果失败的测试结果数。 |
结果 Flaky 计数 | ResultFlakyCount |
Int32 | 浮点结果数。 浮点测试是间歇性失败的测试,无明显原因,例如对代码或测试的更改。 有关详细信息,请参阅 管理浮点测试。 |
结果不确定计数 | ResultInconclusiveCount |
Int32 | 每天将测试结果报告为 无结果 的测试结果数。 |
结果传递计数 | ResultPassCount |
Int32 | 每天为测试结果报告为 “通过 ”的测试结果数。 |
结果无计数 | ResultNoneCount |
Int32 | 每天将测试结果报告为 “无 ”的测试结果数。 |
结果超时计数 | ResultTimeoutCount |
Int32 | 每天报告为 测试结果超时 的测试结果数。 |
结果未执行计数 | ResultNotExecutedCount |
Int32 | 每天为测试结果报告为 “未执行 ”的测试结果数。 |
结果警告计数 | ResultWarningCount |
Int32 | 每天报告 为测试结果的警告 的测试结果数。 |
结果不适用计数 | ResultNotApplicableCount |
Int32 | 报告 为“不适用于 每日测试结果”的测试结果数。 |
结果不受影响计数 | ResultNotImpactedCount |
Int32 | 每天将测试结果报告为 “不影响 ”的测试结果数。 |
结果持续时间秒 | ResultDurationSeconds |
Decimal | 测试结果完成所花费的秒数。 |
开始日期 | StartedDate |
字符串 | 测试结果开始的日期时间。 |
测试运行类型 | TestRunType |
Enumerated | 指示它是手动测试类型还是自动测试类型。 有效值列在 TestRunType 下。 |
Workflow | Workflow |
Enumerated | 管道工作流类型。 有效值列在 SourceWorkflow 下。 |
导航属性
下表列出了对 TestResultDaily 实体类型有效的导航属性。
Name | 引用约束 | 引用的属性 |
---|---|---|
Branch |
BranchSK |
BranchSK |
Date |
StartedDateSK |
DateSK |
Pipeline |
PipelineSK |
PipelineSK |
Project |
ProjectSK |
ProjectSK |
Test |
TestSK |
TestSK |
TestRuns
手动运行测试或包括管道定义中的测试任务时,将发生测试运行。 有关详细信息,请参阅 生成、测试和部署 .NET Core 应用,运行测试。
以下属性对 TestRuns 及其代理键 TestRunSK
有效。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新 Analytics 数据的水印。 | |
具有详细信息 | HasDetail |
布尔 | 指示是否为测试运行(True)提供了详细信息(False)。 |
是自动的 | IsAutomated |
布尔 | 指示是否为测试运行(True)提供了详细信息(False)。 |
优先级 | Priority |
Int32 | 分配给管道任务的版本。 |
完成日期 | CompletedDate |
DateTime | 测试运行或测试结果完成的日期时间。 |
版本 ID | ReleaseId |
Int32 | 分配给关联的发布定义的编号。 |
发布环境 ID | ReleaseEnvironmentId |
Int32 | 分配给关联的发布环境的数字。 |
发布管道 ID | ReleasePipelineId |
Int32 | 分配给关联的发布管道的数字。 |
发布阶段 ID | ReleaseStageId |
Int32 | 分配给关联的发布管道阶段的数字。 |
结果中止计数 | ResultAbortedCount |
Int32 | 每天为测试运行或测试结果报告 为中止 的测试结果数。 |
结果阻止计数 | ResultBlockedCount |
Int32 | 每天为测试运行或测试结果报告为 “已阻止 ”的测试结果数。 |
结果计数 | ResultCount |
Int32 | 报告的测试结果总数。 |
结果持续时间秒 | ResultDurationSeconds |
Decimal | 测试运行需要执行的秒数。 |
结果错误计数 | ResultErrorCount |
Int32 | 测试运行或测试结果每日报告为 Error 的测试结果数。 |
结果失败计数 | ResultFailCount |
Int32 | 报告为 测试运行或测试结果每日失败 的测试结果数。 |
结果 Flaky 计数 | ResultFlakyCount |
Int32 | 标记为浮点的测试结果数。 浮点测试是间歇性失败的测试,无明显原因,例如对代码或测试的更改。 有关详细信息,请参阅 管理浮点测试。 |
结果不确定计数 | ResultInconclusiveCount |
字符串 | 每日测试运行或测试结果报告为 无结果 的测试结果数。 |
结果传递计数 | ResultPassCount |
Int32 | 每天为测试运行或测试结果报告的测试结果数。 |
结果超时计数 | ResultTimeoutCount |
Int32 | 报告为 测试运行或测试结果每日超时 的测试结果数。 |
结果未执行计数 | ResultNotExecutedCount |
Int32 | 每天为测试运行或测试结果报告为 “未执行 ”的测试结果数。 |
结果警告计数 | ResultWarningCount |
Int32 | 测试运行或测试结果每日报告为 警告 的测试结果数。 |
结果不适用计数 | ResultNotApplicableCount |
Int32 | 报告为 “不适用于 测试运行”或“每日测试结果”的测试结果数。 |
结果不受影响计数 | ResultNotImpactedCount |
Int32 | 每日测试运行或测试结果报告为 “不受影响 ”的测试结果数。 |
运行持续时间秒 | RunDurationSeconds |
Decimal | 测试配置的状态,即“活动”或“非活动”。 |
开始日期 | StartedDate |
DateTime | 测试运行开始的日期时间。 |
测试运行 ID | TestRunId |
Int32 | 分配给测试运行的数字。 |
测试运行类型 | TestRunType |
Enumerated | 指示它是手动测试类型还是自动测试类型。 有效值列在 TestRunType 下。 |
标题 | Title |
字符串 | 分配给管道任务的 GUID。 |
Workflow | Workflow |
Enumerated | 管道工作流类型。 有效值列在 SourceWorkflow 下。 |
导航属性
下表列出了对 TestRun 实体类型有效的导航属性。
Name | 引用约束 | 引用的属性 |
---|---|---|
Branch |
BranchSK |
BranchSK |
CompletedOn |
CompletedDateSK |
DateSK |
Pipeline |
PipelineSK |
PipelineSK |
PipelineRun |
PipelineRunSK |
PipelineRunSK |
Project |
ProjectSK |
ProjectSK |
StartedOn |
StartedDateSK |
DateSK |
TestSuites
测试套件是为测试计划定义的,并指定要运行的测试。 有关详细信息,请参阅 创建测试计划和测试套件。
以下属性对 TestSuites 及其代理项密钥 TestSuiteSK
有效。
显示名称 | 名称 | 数据类型 | 描述 |
---|---|---|---|
AnalyticsUpdatedDate |
DateTime | 指示上次更新 Analytics 数据的水印。 | |
测试计划 ID | TestPlanId |
Int32 | 分配给测试用例的数字(而不是 ID)。 |
测试套件 ID | TestSuiteId |
Int32 | 分配给测试配置的名称。 |
测试计划标题 | TestPlanTitle |
字符串 | 测试计划的标题。 |
测试套件标题 | Title |
Int32 | 分配给测试用例的数字(而不是 ID)。 |
OrderId | OrderId |
Int32 | 分配给测试配置的名称。 |
测试套件级别 1 ID 到 测试套件级别 14 ID | IdLevel1 通过IdLevel14 |
Int32 | 嵌套测试套件的级别。 |
测试套件级别 1 游戏 通过 测试套件级别 14 游戏 | TitleLevel1 到 TitleLevel14 |
字符串 | 嵌套测试套件级别的名称。 |
测试套件深度 | Depth |
Byte | 测试计划中测试套件的嵌套级别。 |
测试套件类型 | Type |
Enumerated | 指定测试套件的类型。 TestSuiteType 枚举类型列出了有效值。 |
测试计划 ID | TestPlanId |
Int32 | 分配给测试计划的编号(而不是 ID)。 |
要求工作项 ID | RequirementWorkItemId |
Int32 | 与测试套件关联的工作项用户情景、产品积压工作项或其他要求类别工作项的 ID。 |
测试计划标题 | TestPlanTitle |
字符串 | 为测试计划定义的游戏。 |
导航属性
下表列出了对 TestSuite 实体类型有效的导航属性。
显示名称 | Name | 引用约束 | 引用的属性 |
---|---|---|---|
集成 | Project |
ProjectSK |
ProjectSK |
要求工作项 | RequirementWorkItem |
RequirementWorkItemId |
WorkItemId |
测试计划工作项 | TestPlanWorkItem |
TestPlanId |
WorkItemId |
测试套件工作项 | TestSuiteWorkItem |
TestSuiteId |
WorkItemId |
TestSuiteType 枚举类型成员
为枚举类型定义了 TestSuiteType
以下成员。
成员名称 | 值 | 显示名称 |
---|---|---|
None |
0 | 无 |
QueryBased |
1 | 基于查询 |
Static |
2 | 静态 |
RequirementBased |
3 | 基于要求 |