测试示例报告的通过率趋势
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。
示例查询
注意
本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Test/TestName eq '{testName}' "
&"And Workflow eq 'Build') "
&"/groupby((Date/Date), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultAbortedCount with sum as ResultAbortedCount, "
&"ResultErrorCount with sum as ResultErrorCount, "
&"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
&"/filter(ResultFailCount gt 0) "
&"/compute( "
&"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
替换字符串和查询明细
将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}
Fabrikam
,而不是 {Fabrikam}
。
{organization}
- 组织名称{project}
- 团队项目名称{pipelinename}
- 管道名称。 示例:Fabrikam hourly build pipeline
{testName}
- 测试名称{startdate}
- 开始报表的日期。 格式:YYYY-MM-DDZ。 示例:2021-09-01Z
表示 2021 年 9 月 1 日。 不要将引号或括号括起来,并且对月份和日期使用两个数字。
查询明细
下表描述了查询的每个部分。
查询部件
描述
$apply=filter(
Start filter()
子句。
Pipeline/PipelineName eq '{pipelineName}'
返回指定管道的测试运行
And Date/Date ge {startdate}
返回在指定日期或之后运行的测试。
And Test/TestName eq '{testName}'
仅返回指定测试名称的测试运行。
and Workflow eq 'Build'
返回工作流的测试运行 Build
。
)
Close filter()
子句。
/groupby(
Start groupby()
子句。
(Date/Date),
按测试运行完成日期分组。
aggregate(
Start aggregate
子句,用于对与筛选条件匹配的不同测试运行结果求和。
ResultCount with sum as TotalCount,
将测试运行总数计为 TotalCount
。
ResultPassCount with sum as ResultPassCount,
将通过的测试运行总数计为 ResultPassCount
。
ResultFailCount with sum as ResultFailCount,
将失败的测试运行总数计为 ResultFailCount
。
ResultAbortedCount with sum as ResultAbortedCount,
将中止的测试运行总数计为 ResultAbortedCount
。
ResultErrorCount with sum as ResultErrorCount,
计算标记为出错 ResultErrorCount
的测试运行总数。
ResultNotExecutedCount with sum as ResultNotExecutedCount,
将未执行的测试运行总数计为 ResultNotExecutedCount
。
ResultNotImpactedCount with sum as ResultNotImpactedCount
将未受影响的测试运行总数计为 ResultNotImpactedCount
。
))
Close aggregate()
和 groupby()
clauses。
/compute(
Start compute()
子句。
iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate)
对于所有日期,计算 。PassRate
)
Close compute()
子句。
(可选) 重命名查询
可以将默认查询标签 Query1 重命名为更有意义的标签。 只需在 “查询设置” 窗格中输入新名称。
在 Power BI 中展开“日期”列
展开列 Date
以显示展开的实体 CompletedOn.Date
。 展开列会将记录平展到特定字段中。 若要了解如何操作,请参阅 转换分析数据以生成 Power BI 报表,展开列。
更改列数据类型
在Power Query 编辑器中,选择
TotalCount
列;从“转换”菜单中选择“数据类型”,然后选择“整数”。选择
PassRate
列;从“转换”菜单中选择“数据类型”,然后选择“十进制数字”。
有关更改数据类型的详细信息,请参阅 转换分析数据以生成 Power BI 报表,转换列数据类型。
关闭查询并应用更改
完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。
创建折线图和堆积柱形图报表
在 Power BI 的“可视化效果”下,选择“折线图”和“堆积柱形图”,然后将字段拖放到图表区域。
添加到
Date.Date
X 轴,右键单击字段并选择 Date.Date 而不是 日期层次结构。添加
ResultPassCount
列 y 轴并ResultFailCount
添加到 列 y 轴。添加到
PassRate
线条 y 轴。
报表应如下图所示。
测试任务资源
- 使用 Visual Studio 测试任务并行运行测试
- 针对任何测试运行程序并行运行测试
- 使用测试影响分析 (TIA) 加快测试速度
- 管理浮点测试
- UI 测试注意事项
- Azure 负载测试
- Azure Pipelines 任务参考、测试任务