手动测试执行趋势示例报告

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

本文介绍如何在 Power BI 中获取一个或多个测试计划的执行状态。 生成的报表类似于下图和进度报表的结果趋势图表

Power BI 测试计划执行堆积面积趋势报表的屏幕截图。

报表显示一个趋势图,该图表汇总了在指定时间段内执行的测试计划的数量和结果状态。

  • 通过:通过的测试用例数。
  • 失败:测试用例数失败。
  • NotApplicable:测试用例数
  • 阻止:阻止的测试用例数。
  • NotExecuted:已定义但未执行的测试用例数。

报告解答的问题

此报告通过回答以下问题,帮助你跟踪团队对产品或服务的计划测试的进度:

  • 完成多少测试?
  • 测试通过、失败或被阻止的当前状态是什么?
  • 通过多少个测试,趋势对软件质量有何指示?
  • 有多少测试失败?
  • 阻止了多少个测试,趋势指示什么?

正常的测试执行趋势报告显示运行和通过的测试计划中的稳定进度。 理想情况下,报表显示给定计划的测试用例数相对固定。 随着开发周期的进行,通过测试用例的数量应增加,其他州的测试用例数量应下降。

重要

Power BI 集成 和对 分析服务的 OData 源 的访问权限通常用于 Azure DevOps Services 和 Azure DevOps Server 2020 及更高版本。 本文中提供的示例查询仅适用于 Azure DevOps Server 2020 及更高版本,具体取决于 v3.0-preview 或更高版本。 我们鼓励你使用这些查询并提供反馈。

先决条件

  • Access:至少是具有基本访问权限的项目的成员。
  • 权限: 默认情况下,项目成员有权查询 Analytics 和创建视图。
  • 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。

注意

本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。

若要使报表生成有用的数据,团队必须执行以下活动来管理测试计划:

  • 定义测试计划、测试套件和测试用例。 指定其状态。 若要运行测试套件,它必须处于“正在进行”状态。 若要运行测试用例,它必须处于“就绪”状态。 有关详细信息,请参阅 创建测试计划和测试套件 以及 创建手动测试用例

  • 运行手动测试并验证结果。 将测试用例中每个验证步骤的结果标记为通过或失败。 有关详细信息,请参阅 “运行手动测试”。

    注意

    测试人员必须标记状态为验证测试步骤的测试步骤。 测试的总体结果反映已标记的所有测试步骤的状态。 因此,如果任何测试步骤标记为失败或未标记,则测试将状态为失败。

示例查询

可以使用实体集的以下查询 TestPointHistorySnapshot 来创建不同的但类似的测试计划执行趋势报告。

注意

若要确定用于筛选器或报表目的的可用属性,请参阅 测试计划分析的元数据参考。 可以使用 提供的 EntitySetNavigationPropertyBinding Path 值下EntityType的任何Property值筛选查询或返回属性。 每个对应 EntitySet 一个 EntityType。 有关每个值的数据类型的详细信息,请查看为相应 EntityType值提供的元数据。

将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。

let 
    Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPointHistorySnapshot?" 
        &"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}') and (DateSK ge {startDate} and DateSK le {endDate}))" 
        &"/groupby(" 
            &"(DateSK)," 
            &"aggregate(" 
                &"$count as TotalCount," 
                &"cast(ResultOutcome  eq 'Passed', Edm.Int32) with sum as Passed," 
                &"cast(ResultOutcome  eq 'Failed', Edm.Int32) with sum as Failed," 
                &"cast(ResultOutcome eq 'Blocked', Edm.Int32) with sum as Blocked," 
                &"cast(ResultOutcome eq 'NotApplicable', Edm.Int32) with sum as NotApplicable," 
                &"cast(ResultOutcome eq 'None', Edm.Int32) with sum as NotExecuted," 
                &"cast(ResultOutcome ne 'None', Edm.Int32) with sum as Executed 
            ) 
        )", null, [Implementation="2.0"]) 
in 
    Source 

替换字符串和查询明细

将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}Fabrikam,而不是 {Fabrikam}

  • {organization} - 组织名称
  • {project} - 对于跨项目查询,团队项目名称或完全省略“/{project}”
  • {testPlanTitle} - 测试计划的标题。 示例:Fabrikam test plan
  • {startDate}{endDate} - 感兴趣的日期范围。 可以采用 YYYYMMDD 格式输入日期。 例如, 20220815 对于 2022 年 8 月 15 日。

查询明细

下表描述了查询的每个部分。


查询部件

描述


filter((TestSuite/TestPlanTitle eq '{testPlanTitle}'))

仅返回所选测试计划的数据。 可以使用子句添加多个计划,例如 filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}'TestSuite/TestPlanTitle eq '{testPlanTitle2}'))。 还可以在此处应用与测试套件和测试配置相关的任何其他筛选器。

and (DateSK ge {startDate} and DateSK le {endDate})

感兴趣的日期范围。 可以采用格式输入日期 YYYYMMDD

/groupby((DateSK)

将数据分组到同一日期的箱中。 它在给定日期范围内每天生成一组值。

/aggregate($count as TotalCount,

聚合筛选的测试点中的数据,其计数为 TotalCount

cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,

聚合时,类型强制转换测试点将最新的执行结果“传递”到 1,并将其求和为 Passed 指标。

(可选) 重命名查询

可以将默认查询标签 Query1 重命名为更有意义的标签。 只需在 “查询设置” 窗格中输入新名称。

Power BI 查询菜单选项的屏幕截图,重命名查询。

更改列数据类型

在Power Query 编辑器中,选择TotalCount列和所有其他列,然后“转换”菜单中选择“数据类型”,然后选择“整数”。 有关更改数据类型的详细信息,请参阅 转换分析数据以生成 Power BI 报表,转换列数据类型

(可选)重命名列字段

可以重命名列字段。 例如,可以将列 NotApplicable 重命名为 Not ApplicableTotalCount 重命名为 Total Count。 若要了解如何操作,请参阅 “重命名列字段”。

关闭查询并应用更改

完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。

Power Query 编辑器“关闭并应用”选项的屏幕截图。

创建堆积面积图报表

  1. 在 Power BI 的“可视化效果”下,选择“堆积面积图”报表。 测试计划执行趋势运行报表的可视化字段选择的屏幕截图。

  2. DateSK 拖放到 X 轴上。

  3. 将 PassedFailedBlockedNotApplicableNotExecuted 拖放到 Y 轴上。

报表应如下图所示。

Power BI 示例测试计划执行堆积面积趋势报表的屏幕截图。