0

我正在构建一个 Power BI 报告以显示 Azure DevOps(本地)的测试执行。此数据未通过 OData 公开,因此我必须使用到 TFS 分析实例的实时连接。由于 Power BI 中的实时连接,我无法根据需要添加到数据模型中。我已经编写了一些查询来从我需要的数据仓库中检索数据,但我注意到 FactTestResult 表中有许多额外的行包含PointId 和 ChangeNumber 的值 - 不太确定这些记录的用途我在 UI - Azure DevOps Server 2020 中看不到它们。添加过滤器 ResultCount = 1 将删除这些其他行,从而生成单行。然而,只剩下一行AreaSK 和 IterationSK 都为空- 与我刚刚过滤掉的列不同。理想情况下,我将能够加入区域和迭代,我可以解决这个问题,我只想了解这些额外行的目的是什么 - PointID 和 ChangeNumber 以及是否有更好的方法来编写测试执行历史下方查询。

SELECT *
  FROM [Tfs_Warehouse].[dbo].[vFactTestResultOverlay] FTRO
  join vDimTestRunOverlay DTRO on 
  DTRO.TestRunSK = FTRO.TestRunSK 
  where DTRO.TestRunId = "testRunID" and 
  TeamProjectCollectionSK = "projectCollectionID"

在此处输入图像描述

4

2 回答 2

1

提取测试运行历史记录的 TFS 数据仓库问题 - FactTestResult 表中的额外行(PointID、ChangeNumber)

对于PointID,我们可以知道它是测试点的ID。事实上,我们无法直接在 UI 上看到它,但我们可以通过 REST API 获得它:

点 - 列表

GET https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/Suites/{suiteId}/points?api-version=6.0

在此处输入图像描述

我们可以在 UI 上看到 Points:

在此处输入图像描述

对于ChangeNumber,我也无法获得太多关于它的信息,只有关于它的文档:

测试结果和测试运行

于 2020-09-11T07:40:21.173 回答
0

使用类似于以下的代码,我设法订购并找到了没有空条目的最新记录,用于迭代和区域。最后没有明确提到changeNumber。

select 
*, 
Row_Number() over (partition by FTR.TeamProjectSK,FTR.TestSuiteSK,FTR.TestCaseId,FTR.ConfigurationSK order by FTR.ResultDate desc) as TestResultsPerTestCaseOrderedDesc
from [Tfs_Warehouse].[dbo].[FactTestResult] FTR 
where PointrecordCount = 1
于 2021-01-19T23:50:55.680 回答