Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
可以在 Power BI 中报告一个或多个测试计划的执行状态。 使用本文中的信息创建的报表类似于下图和“跟踪测试状态 - 进度”报表的摘要图表。
此报表显示两个圆环图,这些图表汇总了已执行且未执行的测试计划,以及执行的测试计划的状态。
-
已执行与未执行
- 已执行:已运行的测试用例的总和百分比。
- NotExecuted:未运行的测试用例的总和百分比。
-
按结果拆分
- 通过:通过的测试用例的总和百分比。
- 已阻止:当前被阻止运行的测试用例的总和和和百分比。
- 失败:运行时失败的测试用例的总和和和百分比。
- NotApplicable:未运行的测试用例的总和百分比。
报告解答的问题
总体执行状态报告通过回答以下问题,帮助你跟踪团队对产品或服务的计划测试的进度:
- 完成多少测试?
- 测试通过、失败或被阻止的当前状态是什么?
重要
Power BI 集成 和对 分析服务的 OData 源 的访问权限通常用于 Azure DevOps Services 和 Azure DevOps Server 2020 及更高版本。 本文中提供的示例查询仅适用于 Azure DevOps Server 2020 及更高版本,具体取决于 v3.0-preview 或更高版本。 我们鼓励你使用这些查询并提供反馈。
| 类别 | 要求 |
|---|---|
| 访问级别 |
-
项目成员。 - 至少 基本 访问权限。 |
| 权限 | 默认情况下,项目成员有权查询 Analytics 和创建视图。 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。 |
注意
本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。
若要使报表生成有用的数据,团队必须执行以下活动来管理测试计划:
定义测试计划、测试套件和测试用例。 指定其状态。 若要运行测试套件,它必须处于“正在进行”状态。 若要运行测试用例,它必须处于“就绪”状态。 有关详细信息,请参阅 创建手动测试用例。
运行手动测试并验证结果。 将测试用例中每个验证步骤的结果标记为通过或失败。 有关详细信息,请参阅 “运行手动测试”。
注意
测试人员必须标记状态为验证测试步骤的测试步骤。 测试的总体结果反映已标记的所有测试步骤的状态。 因此,如果任何测试步骤标记为失败或未标记,则测试将状态为失败。
示例查询
可以使用实体集的以下查询 TestPoints 来创建不同的但类似的测试计划进度报告。
注意
若要确定用于筛选器或报表目的的可用属性,请参阅 测试计划分析的元数据参考。 可以使用 提供的 Property或 EntityType 值下NavigationPropertyBinding Path的任何EntitySet值筛选查询或返回属性。 每个对应 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}')"
&"/aggregate("
&"$count as TotalCount,"
&"cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,"
&"cast(LastResultOutcome eq 'Failed', Edm.Int32) with sum as Failed,"
&"cast(LastResultOutcome eq 'Blocked', Edm.Int32) with sum as Blocked,"
&"cast(LastResultOutcome eq 'NotApplicable', Edm.Int32) with sum as NotApplicable,"
&"cast(LastResultOutcome eq 'None', Edm.Int32) with sum as NotExecuted,"
&"cast(LastResultOutcome ne 'None', Edm.Int32) with sum as Executed"
&")/compute("
&"Executed mul 100 div TotalCount as ExecPct,"
&"iif(TotalCount gt NotExecuted, Passed mul 100 div Executed,0) as PassedPct"
&")", null, [Implementation="2.0"])
in
Source
替换字符串和查询明细
将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}Fabrikam,而不是 {Fabrikam}。
-
{organization}- 组织名称 -
{project}- 对于跨项目查询,团队项目名称或完全省略“/{project}” -
{testPlanTitle}- 要返回其数据的测试计划的标题。
查询明细
下表描述了查询的每个部分。
查询部件
描述
filter((TestSuite/TestPlanTitle eq '{testPlanTitle}'))
仅返回所选测试计划的数据。 可以使用子句添加多个计划,例如 filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}' or TestSuite/TestPlanTitle eq '{testPlanTitle2}'))。 还可以在此处应用与测试套件、测试配置相关的任何其他筛选器。
/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 编辑器中,选择TotalCount列和所有其他列,然后从“转换”菜单中选择“数据类型”,然后选择“整数”。 有关更改数据类型的详细信息,请参阅 转换分析数据以生成 Power BI 报表,转换列数据类型。
(可选)重命名列字段
可以重命名列字段。 例如,可以将列 NotApplicable 重命名为 Not Applicable或 TotalCount 重命名为 Total Count。 若要了解如何操作,请参阅 “重命名列字段”。
关闭查询并应用更改
完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。
创建圆环图报表
在 Power BI 的“可视化效果”下,选择圆环报表。
若要创建 Executed v/s Not executed 的环形图,请按指示的顺序将以下字段添加到“值”。
Executed-
NotExecuted。
若要按结果拆分圆环图,请按指示的顺序将以下字段添加到 “值”。
PassedFailedBlockedNotApplicable- 等等。
下图显示了生成的报表。