手动测试套件聚合视图示例报告
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
可以报告一个或多个测试套件的执行状态。 使用本文中的信息创建的报表与下图类似。
如下图所示,可以在分层组织中排列测试套件。 如图所示,在两个 标记为澳大利亚 和 亚洲的测试套件下,有三个具有相同名称的测试套件。 本文概述了如何聚合特定测试套件级别的数据。
重要
Power BI 集成 和对 分析服务的 OData 源 的访问权限通常用于 Azure DevOps Services 和 Azure DevOps Server 2020 及更高版本。 本文中提供的示例查询仅适用于 Azure DevOps Server 2020 及更高版本,具体取决于 v3.0-preview 或更高版本。 我们鼓励你使用这些查询并提供反馈。
先决条件
- Access:至少是具有基本访问权限的项目的成员。
- 权限: 默认情况下,项目成员有权查询 Analytics 和创建视图。
- 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。
注意
本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。
若要使报表生成有用的数据,团队必须执行以下活动来管理测试计划:
定义测试计划、测试套件和测试用例。 指定其状态。 若要运行测试套件,它必须处于“正在进行”状态。 若要运行测试用例,它必须处于“就绪”状态。 有关详细信息,请参阅 创建测试计划和测试套件 以及 创建手动测试用例。
运行手动测试并验证结果。 将测试用例中每个验证步骤的结果标记为通过或失败。 有关详细信息,请参阅 “运行手动测试”。
注意
测试人员必须标记状态为验证测试步骤的测试步骤。 测试的总体结果反映已标记的所有测试步骤的状态。 因此,如果任何测试步骤标记为失败或未标记,则测试将状态为失败。
示例查询
可以使用实体集的以下查询 TestPoints
来创建聚合的测试套件报表。
注意
若要确定用于筛选器或报表目的的可用属性,请参阅 测试计划分析的元数据参考。 可以使用 提供的 EntitySet
或 NavigationPropertyBinding Path
值下EntityType
的任何Property
值筛选查询或返回属性。 每个对应 EntitySet
一个 EntityType
。 有关每个值的数据类型的详细信息,请查看为相应 EntityType
值提供的元数据。
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPoints?"
&"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))"
&"/groupby("
&"(TestSuite/TitleLevel3),"
&"aggregate("
&"$count as TotalCount,"
&"cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as PassedCount,"
&"cast(LastResultOutcome eq 'Failed', Edm.Int32) with sum as FailedCount,"
&"cast(LastResultOutcome eq 'None', Edm.Int32) with sum as NotRunCount,"
&"cast(LastResultOutcome ne 'None', Edm.Int32) with sum as RunCount"
&")"
&")"
&"/compute("
&"RunCount mul 100 div TotalCount as RunPercentage,"
&"NotRunCount mul 100 div TotalCount as NotRunPercentage,"
&"iif(TotalCount gt NotRunCount, PassedCount mul 100 div RunCount,0) as PassedPercentage,"
&"iif(TotalCount gt NotRunCount, FailedCount mul 100 div RunCount,0) as FailedPercentage"
&")"
&"&$orderby=RunPercentage desc", null, [Implementation="2.0"])
in
Source
替换字符串和查询明细
将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}
Fabrikam
,而不是 {Fabrikam}
。
{organization}
- 组织名称{project}
- 对于跨项目查询,团队项目名称或完全省略“/{project}”{testPlanTitle}
- 要返回其数据的测试计划的标题。
查询明细
下表描述了查询的每个部分。
查询部件
描述
filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))
仅返回所选测试计划的数据。 此外,还返回级别 3 测试套件的数据。 可以使用子句添加多个计划,例如 filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}' or TestSuite/TestPlanTitle eq '{testPlanTitle2}' and TestSuite/IdLevel3 ne null))
。 还可以在此处应用与测试套件、测试配置相关的任何其他筛选器。
/groupby((TestSuite/TitleLevel3),
要分组的测试套件。 如果有兴趣获取位于测试套件层次结构级别 3 的所有不同测试套件的报告,可以指定此查询部件。 可以将级别编号从 1-14 更改为。 如果想要将具有相同名称的测试套件分开,则可以确保 /groupby((TestSuite/TitleLevel3, TestSuite/IdLevel3),
即使有两个具有相同名称的测试套件,它们也会显示为两个不同的条目,因为它们具有两个不同的 ID。
/aggregate($count as TotalCount,
聚合筛选的测试点中的数据,其计数为 TotalCount
。
cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,
聚合时,类型强制转换测试点将最新的执行结果“传递”到 1,并将其汇总为“”Passed
指标。
/compute(Executed mul 100 div TotalCount as ExecPct
提供等于(执行的测试点/总计数 * 100)的计算指标 ExecPct。
(可选) 重命名查询
可以将默认查询标签 Query1 重命名为更有意义的标签。 只需在 “查询设置” 窗格中输入新名称。
展开 Power Query 编辑器 中的列
在创建报表之前,需要展开 TestSuite
列以将记录平展到特定字段中。 若要了解如何操作,请参阅 转换分析数据以生成 Power BI 报表。
在 Power BI 中,执行以下步骤。
完成后,可以选择重命名列。
扩大
TestSuite
选择展开按钮。
选择要平展的字段。
该表现在包含和
TestSuite.TitleLevel3
. 的TestSuite.IdLevel3
实体字段。
右键单击列标题并选择“ 重命名...”
更改列数据类型
从Power Query 编辑器中,选择包含数字的所有列,例如 TotalCount、RunCount 和 Passed;从“转换”菜单中选择“数据类型”,然后选择“整数”。 有关更改数据类型的详细信息,请参阅 转换分析数据以生成 Power BI 报表,转换列数据类型。
(可选)重命名列字段
可以重命名列字段。 例如,可以将列 NotApplicable
重命名为 Not Applicable
或 TotalCount
重命名为 Total Count
。 若要了解如何操作,请参阅 “重命名列字段”。
关闭查询并应用更改
完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。
创建表报表
- 在“可视化效果”下,选择“表”。
- 在“列”下拖放、
TotalCount
NotRunCount
PassedCount
RunCount
拖放、TestSuite.TitleLevel3
- 选择“总和”作为计数的聚合。
报表应如下图所示。