执行树状态

问题

常见的做法是将执行计划置于表示不同测试区域或目的的层次结构中。在某些情况下,例如要了解测试状态,进而确定一个区域或目的的质量,您需要了解总体通过、失败和未执行计数。

解决方案

使用数据集市视图 RV_ExecutionPlanStatusRollup 为特定执行计划文件夹创建报告,以返回按内部版本分组的通过、失败和未执行计数。

SELECT BuildName, PassedCount, FailedCount, NotExecutedCount
FROM RV_ExecutionPlanStatusRollup
WHERE ExecutionFolderID = ${executionPlanID|43|Execution Plan ID}
该查询执行以下操作:
  • BuildName 视图选择 RV_ExecutionPlanStatusRollup 和状态计数。
  • 指定您希望从中获取状态的顶层文件夹 (ExecutionFolderID)。
SQL 查询结果将显示选定文件夹所有执行计划内的测试运行状态,结果按内部版本聚合。
BuildName PassedCount FailedCount NotExecutedCount
351 0 0 2
352 15 7 1
如果您想查看更多详细信息,例如选定层次结构内各执行计划的状态计数,可使用数据集市视图 RV_ExecutionPlanStatusPerBuild
SELECT eps.BuildName, eps.ExecutionPlanID, SUM(eps.PassedCount) PassedCount,
  SUM(eps.FailedCount) FailedCount, SUM(eps.NotExecutedCount) NotExecutedCount
FROM RV_ExecutionPlanStatusPerBuild eps
INNER JOIN TM_ExecTreePaths etp ON eps.ExecutionPlanID = etp.NodeID_pk_fk
WHERE etp.ParentNodeID_pk_fk = ${execFolderID|44|Execution Folder ID}
GROUP BY eps.ExecutionPlanID, eps.BuildOrderNumber, eps.BuildName
ORDER BY eps.BuildOrderNumber, eps.ExecutionPlanID
该查询执行以下操作:
  • 使用 RV_ExecutionPlanStatusPerBuild 视图访问特定于执行计划的数据(ExecutionPlanIDExecutionPlanName)。先前使用的 RV_ExecutionPlanStatusRollup 视图包含预先聚合的数据(已汇总数据),不仅包含执行计划的结果,还包括文件夹节点的结果,因此不适于此目的。
  • JOIN 表执行 TM_ExecTreePath 操作,选定特定文件夹内的所有节点,以获取层次结构信息。
  • 通过 ExecutionFolderID 指定顶层文件夹。TM_ExecutionTreePaths 表中还包含各执行计划的自引用,因此也可以使用 ParentNodeID_pk_fk 的执行计划 ID 运行此查询,以返回与特定执行计划对应的行。
  • 添加 ORDER BY BuildOrderNumberExecutionPlanID 获取经过排序的结果,此时最早的内部版本及其执行计划将显示在最前。
SQL 查询结果将显示选定文件夹所有执行计划内的测试运行状态。
BuildName ExecutionPlanID PassedCount FailedCount NotExecutedCount
351 2307 0 0 2
352 2184 11 2 0
352 2185 0 3 0
352 2186 2 1 0
352 2187 1 0 0
352 2191 0 1 0
352 2307 1 0 1