TFS 测试用例步骤数据统计

Posted 叶祖辉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TFS 测试用例步骤数据统计相关的知识,希望对你有一定的参考价值。

TFS系统集成了一套BI系统,基于SQL Server的Analysis Service进行实现的。通过这几年的深入使用,能够感触到这个数据数据仓库模型是多么的优秀,和微软官方提供的数据仓库示例AdventureWorksDW有的一比。系统本身从基础数据ETL到数据仓库再到Cube中,整个过程浑然一体,对应用户和系统管理员来说,几乎都是透明的。并且对TFS工作项的定制扩展自动支持,用户通过添加工作的相关的维度或度量元数据的属性,在最终的Cub都可以自动的加入和统计数据。

但是,在一个大型客户使用过程中,提出了统计TFS中全部测试用例的全部测试步骤的数据,这个测试步骤的在TFS系统中根本就没有设计成为可度量的数据,直接从TFS的数据仓库中统计这个数据,显然是不可能。通过分析,TFS中的htmlFieldControl的类型的数据是存储在TFS_Collection库的WorkItemLongTexts表中,测试步骤是以XML结构组织的文本形式存储的。因此要统计这个数据也必须要从这个点进行着手,通过几次尝试,按照下面的步骤终于统计出了各个项目的测试步骤数量。

1, 跨库查询抽取全部的测试用例相关数据到一个临时的表中。

1
2
3
4
5
select cwv.ProjectNodeName,cwv.System_AssignedTo, cwv.System_CreatedDate, cwv.System_Id,cwv.System_Title,  wilt.words
 from WorkItemLongTexts wilt
left join
[Tfs_Warehouse].[dbo].[CurrentWorkItemView] cwv on wilt.ID = cwv.System_Id and cwv.System_WorkItemType = \'测试用例\'
where wilt.fldid = 10181 and wilt.EndDate = \'9999-01-01\' and  SUBSTRING(wilt.Words,1,6) = \'<steps\'

  

2, 针对上面抽取出来的临时表,创建了一个存储过程,把其中XML类型的测试步骤数据进行解析,提取出步骤数据。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CREATE PROCEDURE [dbo].[CalcTestSetpProg]
AS
BEGIN
SET NOCOUNT ON
 --Delete illegal record
  delete  [TeamProjectTestStep] where isnull(system_id,0)=0
DECLARE @temp TABLE
(
    sys_id INT,
    word ntext
)
INSERT INTO @temp(sys_id, word ) select [System_Id],words from [dbo].[TeamProjectTestStep];
DECLARE
    @sys_id AS INT,
    @word As nvarchar(max)
WHILE EXISTS(SELECT sys_id FROM @temp)
        BEGIN
               SET ROWCOUNT 1
               SELECT @sys_id= sys_id,@word = word FROM @temp;
               BEGIN Try
                UPDATE [TeamProjectTestStep] SET StepCount = Cast(@word as xml).value(\'count(/steps/step)\',\'int\')  WHERE System_Id=@sys_id;
               END Try
               Begin Catch
               End Catch  
               SET ROWCOUNT 0  
               DELETE FROM @temp WHERE sys_id=@sys_id;
        END 
END

  

 

3, 使用报表进行展示

 

 

以上是关于TFS 测试用例步骤数据统计的主要内容,如果未能解决你的问题,请参考以下文章

在单元测试用例的 TFS 构建中找不到路径的一部分

TFS 2015-使用不同配置重复测试用例-看不到配置选项

如何使用 TFS 2015 / VS 2017 将通用测试与测试用例相关联?

通过 REST API 将测试结果发布到 TFS 2018 测试用例

在 TFS 2017 中运行非无头自动化测试

TFS Rest API - 通过测试用例名称或标题获取测试用例