使用工作项透视分析和报告工作项和测试用例数据

你可以通过使用针对 Visual Studio Team Foundation Server 的 SQL Server Analysis Services 多维数据集中的工作项透视定义的度量、维度和特性来分析工作项和测试用例的当前或历史数据。 测试用例是一类在其自己的维度内关联并专门用于支持 Microsoft 测试管理器的工作项。 有关详细信息,请参阅使用 Team Web Access 创建手动测试

工作项透视基于关系表,此表将工作项报告作为工作项属性或链接的工作项启用。 有关详细信息,请参阅“工作项历史记录”表

备注

你可以使用“在 Microsoft Excel 中创建报表”来基于工作项查询创建状态和趋势报表。有关详细信息,请参阅基于工作项查询创建 Excel 报表

工作项度量值组

通过使用工作项透视,你可以创建回答以下问题的报表:

  • 在上次迭代中每天的活动 Bug 总数是多少?

  • 去年每月有多少方案处于活动状态?

  • 上个月每天每个优先级有多少 Bug 处于活动状态?

  • 上个月一组工作项拥有多少未完成及剩余工作?

  • 特定开发人员组完成了多少工作?

  • 特定日期之后创建了多少其他工作?

备注

如果 Visual Studio Application Lifecycle Management (ALM) 的数据仓库使用的是 SQL Server Enterprise Edition,则多维数据集列表中将包括 Team System 和一组透视图。这些透视图提供了数据的集中视图,使你不必在整个 Team System 多维数据集中滚动所有维度和度量组。

主题内容

  • 示例:Bug 重新激活报表

  • 工作项度量

  • 日期筛选器和数值筛选器

  • 工作项透视中支持筛选和分类的维度和特性

    • 按工作项字段筛选

    • 按为链接的工作项定义的链接类型或字段筛选

    • 按变更集筛选

    • 按类别筛选

    • 按分层关系筛选

    • 按测试结果筛选

  • 监视和跟踪工作所需的活动

示例:Bug 重新激活报表

通过使用 Excel 中的数据透视图报表,可以显示一段时间内关闭随后重新激活的 Bug 的数量,这类似于下图中的数据。

Excel 格式的“Bug 重新激活”报表

针对 Microsoft Solutions Framework (MSF) AgileCMMI 的过程模板包括 Excel 中的“Bug 重新激活”报表。 有关详细信息,请参阅Excel 格式的“Bug 重新激活”报表

选择和筛选透视字段

Bug 重新激活报告的透视字段

你可以通过执行以下步骤来创建“Bug 重新激活”报表:

  1. 在 Excel 中,连接到 Team Foundation Server 的 Analysis Services 多维数据集,然后插入数据透视图报表。

    有关详细信息,请参阅基于工作项查询创建 Excel 报表

  2. 打开图表的快捷菜单,依次选择**“更改图表类型”“区域”“堆积面积图”**。

  3. 对于每个报告筛选器,打开以下每个字段的快捷菜单,指定相关的层次结构、周或其他相关元素,然后将该字段拖动到**“报告筛选器”**区域。

    • “团队项目”维度中的“团队项目层次结构”

    • “工作项”维度中的“Work Item.Iteration Hierarchy”

    • “工作项”维度中的“Work Item.Area Hierarchy”

    • “工作项”维度中的“Work Item.Work Item Type”。 选中**“Bug”**复选框以将其作为要显示的唯一类型。

    • “日期”维度中的“年 周 日”

  4. 在**“日期”维度中,展开“更多字段”,并将“日期”“周”“月”字段拖动到“轴字段(分类)”**区域,以指定要生成的报告的粒度级别。

  5. 将**“工作项计数”“工作项”度量值组拖动到“值”**区域中。

  6. 将**“状态”“工作项”维度拖动到“列标签”区域中,然后选中“活动”“已解决”**复选框。

  7. 在**“工作项”维度中,展开“更多字段”,将“以前的状态”拖动到“列标签”区域中,然后选中“活动”“已解决”**复选框。

  8. 在数据透视表中,折叠**“活动”列以仅显示一个列,然后将单元格重命名为“重新激活的和仍为活动的”**。

  9. 在数据透视表中,折叠**“已解决”**列以仅显示一个列。

  10. (可选)右击图表上显示的任意筛选器,然后选择**“隐藏图表上的所有字段按钮”**。

工作项度量值

下表描述可用于筛选或报告工作状态或进度的度量值。 利用“工作项计数”度量值,你可以报告特定时间点处于特定状态的工作项的总数。 若要报告特定日期发生的活动,可以使用“状态更改计数”或“修订计数”度量值。 当工作项类型定义中的自定义字段指定 Measure 为可报告特性时,该工作项度量值组将包含其他度量值。 有关如何使用可选的 reportable 特性及其值的详细信息,请参见添加或修改工作项字段以支持报告

备注

Microsoft Solutions Framework (MSF) v5.0 中的过程模板包含与计划工作字段关联的计算度量值。如果多维数据集中的某个度量值基于过程模板中的字段,则该度量值的标签基于原始字段的引用名称。但是,当使用 Microsoft Excel 或其他报告工具浏览多维数据集时,将出现度量值标签的本地化翻译。

度量值

描述

业务价值

捕获产品积压工作 (backlog) 项的相对业务价值的主观度量单位。 此度量值的引用名称是 Microsoft.VSTS.Common.BusinessValue。

已完成工作

为满足查询或报表中的条件的工作项完成的工时数。 此度量值的引用名称是 Microsoft.VSTS.Scheduling.CompletedWork。

工作量

满足该查询或报表中的条件的产品积压工作 (backlog) 项的工作量的单位聚合。 工作量是捕获实施产品积压工作 (backlog) 项的工作量等级的主观度量单位。 数字越大表示工作量越大。 只能在 Visual Studio Scrum 过程模板中定义此字段。 此度量值的引用名称是 Microsoft.VSTS.SchedulingEffort。

原始工作

满足查询或报表中条件的工作项的基线计划中的工时数。 此度量值的引用名称是 Microsoft.VSTS.Scheduling.OriginalWork。

剩余工作

作为仍要完成满足查询或报表中条件的工作项的工作预估所记录的小时数。 此度量值的引用名称是 Microsoft.VSTS.Scheduling.RemainingWork。

修订计数

工作项修订过的次数。 你可以使用此度量值查看有关工作项集合或特定工作项的详细历史记录。 例如,可以使用此度量值显示指定时间范围内每个团队成员修改工作项的次数。 若要显示此信息,你需要创建一个查询,在此查询中根据“更改者”维度对“修订计数”度量值进行切片,并按日期范围筛选该度量值。

状态更改计数

团队更改工作项筛选集状态的次数。 你可以使用此度量值在特定产品区域中计算在你指定的时间段内激活 Bug 的次数。 请注意,此度量值返回状态转换事件的数量,而非状态转换中工作项的数量。 例如,如果此团队解决、重新激活且重新解决了相同的 Bug,则此度量值返回的解决率为 2%。

大小

捕获要求的大小的主观度量单位。 只能在 CMMI 的 MSF 过程模板中定义此字段。 此度量值的引用名称是 Microsoft.VSTS.Scheduling.Size。

情景点

捕获用户情景的大小的主观度量单位。 如果为某个用户情景分配多个情景点,则指示实现该用户情景需要执行更多工作。 只能在 Agile 软件开发的 MSF 过程模板中定义此字段。 此度量值的引用名称是 Microsoft.VSTS.Scheduling.StoryPoints。

工作项计数

基于你指定的维度或筛选器的工作项的计数。 如果筛选器包括日期维度,则该度量值将返回历史信息。 否则,该度量值将返回当前信息。

隐藏的度量值

若要生成提供时间点总计的计算,则需使用多个隐藏的度量值。 这些度量值未显示在客户端工具(如 Microsoft Excel、报表生成器或报表设计器)上,但存在于已部署的多维数据集的定义中。 隐藏的度量值通过使用多维表达式 (MDX) LastChild 函数执行计算,该函数可聚合自特定日期起的度量值的总计。

度量值

描述

LastChild 记录计数

用于计算“工作项计数”度量值的隐藏度量值。

LastChild Microsoft_VSTS_Scheduling_RemainingWork

用于计算“剩余工作”度量值的隐藏度量值。

LastChild Microsoft_VSTS_Scheduling_CompletedWork

用于计算“已完成工作”度量值的隐藏度量值。

LastChild Microsoft_VSTS_Scheduling_BaselineWork

用于计算“基线工作”度量值的隐藏度量值。

日期筛选器和数值筛选器

你可以使用**“日期筛选器”“数值筛选器”来基于此集合中的一个或多个值筛选报表。 这些筛选器显示在标记了“值”**的度量值组下。 你可以使用每组中的选定内容来筛选工作项集。 不应直接将它们添加到数据透视表中。 相反,你可以通过执行以下步骤来筛选数据透视表中的行或列:

  1. 选择数据透视表中的**“行标签”“列标签”的筛选器图标,指向“值筛选器”,然后指定所需条件(例如,“大于”**)。

  2. 在第一个字段中,选择所需的日期或数值筛选器(例如,“创建日期”)。

  3. 在第三个字段中,键入符合筛选条件的值,然后选择**“确定”**。

    例如,若要显示 2010 年 6 月 1 日后创建的所有工作项,请键入**“6/1/2010”**。

下表描述了可用于优化报告返回的工作项集的日期筛选器。 你甚至可以合并筛选器。

字段名

描述

激活日期

激活或重新激活工作项的日期和时间。 此筛选器对应于 Microsoft.VSTS.Common.ActivatedDate 字段。

关闭日期

关闭工作项的日期和时间。 此筛选器对应于 Microsoft.VSTS.Common.ClosedDate 字段。

创建日期

创建工作项的日期和时间。 此筛选器对应于 Microsoft.VSTS.Common.CreatedDate 字段。

截止日期

团队预测任务或问题将完成的日期和时间。 此字段仅适用于任务和问题工作项。 此筛选器对应于 Microsoft.VSTS.Scheduling.DueDate 字段。

完成日期

日程安排指示任务将完成时的日期和时间。 此筛选器对应于 Microsoft.VSTS.Scheduling.FinishDate 字段。

解决日期

解决 Bug 或其他类型的工作项时的日期和时间。 此筛选器对应于 Microsoft.VSTS.Common.ResolvedDate 字段。

开始日期

日程安排指示任务将开始时的日期和时间。 此筛选器对应于 Microsoft.VSTS.Scheduling.StartDate 字段。

下表描述了可用于提取出现在报告中的工作项集的数值筛选器。

度量值

描述

ID

每个工作项的唯一 ID。 在团队项目集合中的所有团队项目中,工作项 ID 是唯一的。 在数据仓库中,你应预计到集合中会存在重复的 ID。 此筛选器对应于 System.Id 字段。

优先级

与业务相关的 Bug、问题、任务或测试用例的主观分级,通常在值 1 和 3 之间。 此筛选器对应于 Microsoft.VSTS.Common.Priority 字段。

修订

为工作项的修订指定的编号。 此筛选器对应于 System.Rev 字段。

堆栈级别

与相同类型的其他工作项比较的用户情景、任务、问题或 Bug 的主观分级。 分配较低数字的项应先于分配较高数字的项进行修复。 此筛选器对应于 Microsoft.VSTS.Common.StackRank 字段。

工作项透视中的维度、特性、筛选器和类别

你可以合并多个维度中的特性以筛选报表中显示的工作项集或突出显示关于工作项组的特定详细信息。 这些特性对应于将可报告特性设置为 Dimension 的任何类型的工作项的所有字段。 你可以基于字段特性按工作项、测试用例、链接的工作项或链接的测试用例进行筛选。 你还可以根据类型或它们之间的链接类型来筛选工作项集。

在 Excel 中的**“显示相关字段”组合框中选择“工作项”后,你不仅获取了对测试用例、工作项和工作项类别维度的访问权限,还获取了对日期和团队项目共享维度的访问权限。 若要分析工作项或测试用例,并根据日期、项目集合、项目或工作项类别进行筛选,请选择“工作项”**。 有关日期和团队项目维度的信息,请参见Analysis Services 多维数据集中的共享维度

提示

始终通过为项目集合集以及希望报告的团队项目指定标准来启动筛选过程。

若要创建有关当前工作项的状态的报表,请在组合框中选择**“当前工作项”。 此维度组合不包含日期维度。 若要分析趋势报表中工作项的历史数据,请在组合框中选择“工作项”**。

在“工作项”维度下按工作项字段筛选

“工作项”和“测试用例”维度包含特定于工作项的所有特性,例如状态、工作项类型以及工作项 ID。 此外,可报告特性设置为“Dimension”的过程模板中的工作项字段反映为“工作项”维度中的特性。

特性显示在“测试用例”和“工作项”维度中的显示文件夹的下方。 维度特性归类到文件夹中,这些文件夹基于在每种工作项类型的定义中分配的报告引用名称。 类型映射如下:

  • 带“System”前缀的内部字段直接显示在“测试用例”或“工作项”维度下。

  • 其他字段显示在其名称对应于字段的引用名称中的前缀的文件夹下。 例如,带“Microsoft.VSTS.Common”前缀的字段显示在标记为“Microsoft.VSTS.Common”的文件夹下。

例如,工作项字段显示在“工作项”维度下,如下图所示。 “链接的工作项”和“测试用例”维度有相似的结构。

OLAP 多维数据集中的文件夹结构

有关每个字段的信息,请参见Visual Studio ALM 的工作项字段参考。 关联维度下仅显示具有 reportable=”Dimension” 的字段。 当工作项类型的定义中的自定义字段指定 Dimension 为可报告特性时,其他特性将显示出来。 有关如何使用可选的 reportable 特性及其值的详细信息,请参见添加或修改工作项字段以支持报告

有关如何使用日期层次结构的信息,请参见Analysis Services 多维数据集中的共享维度

下表描述了未与特定工作项字段关联的特性和“工作项”维度提供的分层特性。

特性

描述

区域

包含 14 级层次结构(如下图所示),它根据其关联的区域分类来关联多维数据集中的度量值。 你可以使用此父子层次结构来根据它们在区域层次结构中的级别汇总或筛选度量值。

区域层次结构维度

有关详细信息,请参阅添加和修改区域和迭代路径

区域路径

所有团队项目的区域路径的简单列表。

更改日期

可用于根据团队修改项的日期来筛选工作项集的日期的简单列表。

按月划分的更改日期层次结构

支持基于团队修改项的月份来筛选和报告工作项集的分层树。 例如,可以使用“按月或按周划分的更改日期层次结构”(如下图所示)来筛选或创建基于更改日期的趋势报表。 有关如何使用日期分层的详细信息,请参见Analysis Services 多维数据集中的共享维度

已更改的日期层次结构

按周划分的更改日期层次结构

支持基于团队修改项的周来筛选和报告工作项集的分层树。

创建日期

可用于根据团队创建项的日期来筛选工作项集的日期的简单列表。

按月划分的创建日期层次结构

可用于根据团队创建项的月份来筛选和报告工作项集的分层树。

按周划分的创建日期层次结构

可用于根据团队创建项的周来筛选和报告工作项集的分层树。

迭代

包含 14 级层次结构(如下图所示),它根据其关联的迭代分类来关联多维数据集中的度量值。 你可以使用此父子层次结构根据它们在迭代层次结构中的级别来汇总或筛选度量值。

迭代层次结构维度

有关详细信息,请参阅添加和修改区域和迭代路径

迭代路径

为所有团队项目定义的迭代路径集的简单列表。

先前状态

“更多字段”下的唯一字段是“以前的状态”,可使用此字段根据在将工作项分配给当前状态之前为其分配的状态来筛选报表。 状态是工作项类型的工作流特性。 有关详细信息,请参阅更改工作项类型的工作流

按为链接的工作项定义的链接类型或字段筛选

在**“显示相关字段”组合框中选择“链接的当前工作项”**条目后,你就获取了对“工作项”、“工作项链接类型”和“链接的工作项”维度的访问权限。 如果你希望基于链接到其他工作项的工作项中的链接类型或字段值来筛选报表中的工作项集,请选择此项。

基于链接类型的特性筛选

通过在下表中指定一个或多个特性,你可以筛选至少拥有一个其链接类型符合你指定的条件的链接关系的工作项。 有关详细信息,请参阅链接类型元素引用管理链接类型 [witadmin]

备注

你可以使用下表中的任何特性来筛选报表,但你会发现“链接名称”和“链接引用名称”特性最为实用。所有布尔值特性都具有值 True 或 False。

特性

描述

已删除

一个指定是否删除链接类型的布尔值。

是拒绝删除

一个指定能否删除链接类型的布尔值。 例如,可以删除自定义链接类型,而不能删除内置的链接类型。

是拒绝编辑

一个指定是否能修改链接类型的布尔值。 例如,可以修改自定义链接类型,而不能修改内置的链接类型。

是定向的

一个指定链接类型是否为定向的布尔值。 定向链接用于构成依赖关系并禁止循环关系。

已禁用

一个指定是否已禁用链接类型的布尔值。 你可以使用此特性来查找或筛选包含链接类型已停用或已禁用的链接关系的工作项。

是非循环的

一个指定链接类型是否禁止循环链接关系的布尔值。

是单个目标

一个布尔值,该值指定链接类型是否允许用户仅为此类型的每个链接指定一个目标。 例如,子工作项只能有一个父级,该父级由父链接类型定义。

是树

一个指定链接类型是否基于树拓扑的布尔值。

链接 ID

系统分配给内置和自定义链接类型的整数。

链接名称

链接类型的友好名称。 友好名称对应于分配给该链接类型的正向或反向名称。

引用名称

分配给链接类型的名称。 例如,System.LinkTypes.Related 是“相关”链接类型的引用名称。

规则

该系统将值分配给该链接类型使用的规则。 不要使用此特性。

基于链接工作项的特性进行筛选

“链接的工作项”维度包含与“测试用例”和“工作项”维度相同的特性集。 你可以使用这些特性根据链接到你正在分析的工作项的工作项特性来查找工作项或筛选度量值。 通过运行此类查询,可以回答问题,例如“有多少活动的 Bug 链接到优先级别 1 用户情景?”

备注

你可以使用“工作项链接类型”和“链接的工作项”维度来筛选仅与当前工作项有关的报表。你无法使用这些维度来分析历史数据。

“工作项链接类型”和“链接的工作项”维度是链接到“当前工作项”事实数据表的多对多维度。 团队成员可以将任何工作项链接到多个其他工作项。

如果维度对应于工作项之间的链接特性,则维度名称会以“链接的工作项”短语作为前缀。例如,对于 OLAP 多维数据集中的所有其他工作项字段,“指派给”特性与“Work Item Linked.Assigned To”等特性对应。 有关详细信息,请参见本主题中之前讨论的在“工作项”维度下按工作项字段筛选。

按变更集筛选

你可以在组合框中选择**“工作项变更集”**条目来访问“版本控制变更集”和“工作项”维度。 当你希望根据链接到工作项的变更集中的信息筛选工作项集时,请选择此项。 在使用 Team Foundation 版本控制对代码进行更改并签入所做的更改时,可以将此变更集与更改所涉及的工作项关联。 变更集列出为变更集签入的源文件以及已链接到该变更集的所有工作项列表。 有关详细信息,请参阅向团队的代码库签入工作成果

“版本控制变更集”维度是父子维度类型,并且将通过中间多对多事实数据表链接到“当前工作项”事实数据表。 团队成员可以将任何工作项链接到多个变更集。 下表描述了“版本控制变更集”维度中的特性。

特性

描述

变更集 ID

分配给变更集的编号。

签入者

签入变更集的团队成员的用户名。

描述

与变更集关联的签入注释。

策略重写注释

重写策略时提供的注释。 如果策略未由变更集重写,该字段将为 null。

按类别筛选

组合框中的**“工作项到类别”**条目包含“工作项”和“工作项类别”维度。 当你希望按照工作项关联的类别来筛选工作项集时,请选择此项。 当团队项目包含以不同方式命名的类似工作项类型时,可以使用类别。 有关详细信息,请参阅使用类别对工作项类型进行分组

下表描述了“工作项类别”维度中的特性。

特性

描述

名称

分配给工作项类别的友好名称。

引用名称

分配给工作项类别的引用名称。

按分层关系筛选

组合框中的**“工作项到树”**条目包含“工作项”和“工作项树”维度。 当你要按照工作项(这些工作项通过父类型链接和子类型链接或其他自定义类型的树拓扑链接进行链接)的层次结构嵌套进行筛选时,请选择此项。

备注

你可以使用“工作项树”维度筛选仅与当前工作项有关的报表。你无法使用此维度分析有关工作项的历史数据。

“工作项树”维度是父子维度类型,并通过中间多对多事实数据表链接到“当前工作项”事实数据表。 任一工作项均可与多个工作项链接,从而显示在树中的多个位置。

如下图所示,工作项树层次结构包括八个分层筛选器。 第一个层次结构支持在该树顶部筛选工作项,工作项树 1 支持筛选嵌套级别深的工作项,依次类推。

工作项树

下表描述了“工作项树”维度中的特性。 使用基于树拓扑的链接类型在工作项之间创建多级分层关系。 除了支持多级分层视图,分层链接类型还支持方向性并限制循环关系。 有关详细信息,请参阅链接类型元素引用

特性

描述

工作项树层级

通过分层链接类型链接的工作项。

树类型名称

分层链接类型的引用名称(例如,System.LinkTypes.Hierarchy)。 可以根据团队项目集合中使用的链接的分层类型筛选报表。 若要基于链接类型的正向或反向名称筛选报表,请使用“工作项链接类型”维度提供的“链接名称”特性。

按测试结果筛选

组合框中的**“带结果的工作项”**条目包含“测试结果”、“版本控制变更集”、“工作项”、“工作项类别”和“工作项树”维度。 你可以使用“测试结果”维度中的特性来根据与测试用例及其链接的工作项关联的测试结果来筛选报表。

使用“工作项计数”度量值不仅可确定链接到测试结果的工作项数,还可以报告工作项及其关联的测试结果。 有关每个“测试结果”特性的说明,请参见在 Visual Studio ALM 的 Analysis Services 数据库中使用测试透视分析和报告测试结果

监视和跟踪工作所需的活动

若要创建包含有关状态、过程和工作项趋势的有用数据的报表,团队成员必须完成以下活动:

  • 创建工作项。 团队成员必须创建工作项以管理用户情景或 Bug 的积压工作 (backlog)、使用任务跟踪工作以及管理测试用例。 根据每个工作项类型的过程指南更新工作项的状态。

    有关详细信息,请参见 敏捷过程模板工作项类型和工作流CMMI 过程模板工作项类型和工作流Scrum 过程模板工作项类型和工作流

  • 将工作项链接到其他工作项或变更集。 若要跟踪工作项之间的关系,团队成员必须创建用户情景和任务等之间的链接。 团队成员可以创建以下各项之间的其他有用链接,例如用户情景和测试用例之间、Bug 和测试用例之间,以及变更集和用户情景、任务和 Bug 之间。 团队成员可以通过指定适当的链接类型来显示关联性、依赖项或层次结构。

    有关详细信息,请参阅链接工作项以支持可跟踪性

  • 指定区域和迭代路径。 若要通过筛选报表来监视有关产品区域或里程碑的状态或趋势,团队成员必须为每个工作项设置“区域”和“迭代”字段。

  • 将工作分配给所有者并更新工作项状态。 随着工作的进行,当工作项从新的或已建议状态转换到活动或正在进行的状态以及关闭或完成状态时,团队成员必须更改分配给他们的工作项状态。

  • 更新工作量。 若要监视团队在迭代或其他时间间隔工作中取得的进度,团队成员必须更新分配给他们的工作项的已完成工作量和剩余工作量。

请参见

概念

Visual Studio 的 Analysis Services 多维数据集中提供的透视和度量值组

其他资源

Table reference for the relational warehouse database for Visual Studio ALM