使用代码改动和运行覆盖率透视分析和报告代码改动和代码覆盖率
您可以使用来自 SQL Server 的 Visual Studio Team Foundation Server Analysis Services 多维数据集的代码改动和运行覆盖率透视图来报告软件质量。 利用这些透视图,您可以查看与代码行中的更改关联的度量值、维度和特性以及生成和测试运行中覆盖的代码的范围。
这些透视图基于关系表,您可以使用这些关系表报告作为生成、生成程序集或平台、测试运行或者变更集的属性的代码更改和覆盖率。 有关详细信息,请参阅“代码改动”表和“运行覆盖率”表。
![]() |
利用代码改动透视图,您可以创建回答以下问题的报表:
|
![]() |
利用运行覆盖率透视图,您可以创建回答以下问题的报表:
备注 如果 Visual Studio Application Lifecycle Management (ALM) 的数据仓库使用的是 SQL Server Enterprise Edition,则多维数据集列表中将包括 Team System 和一组透视图。这些透视图提供了数据的集中视图,使你不必在整个 Team System 多维数据集中滚动所有维度和度量组。 |
主题内容
示例:代码改动报表
代码改动度量值
运行覆盖率度量值
支持筛选和分类的代码改动透视图的维度和特性
支持筛选和分类的运行覆盖率透视图的维度和特性
所需的活动
示例:代码改动报表
利用 Excel 中的数据透视图报表,您可以创建显示一段时间的代码改动的趋势报表,这与以下图表显示的报表类似。
Microsoft Solutions Framework (MSF) Agile 的过程模板和 CMMI 提供了 Excel 中的代码改动报表。 有关详细信息,请参阅Excel 格式的“代码改动”报表。
选择和筛选透视字段
您可以通过执行以下步骤创建代码改动报表:
在 Excel 中,连接到 SQL Server 的 Visual Studio Team Foundation Server Analysis Services 多维数据集,然后插入数据透视图报表。
有关详细信息,请参阅基于工作项查询创建 Excel 报表。
右击图表,然后选择**“更改图表类型”、“区域”和“堆积面积图”**。
对于每个报告筛选器,打开以下每个字段的快捷菜单,指定相关的层次结构、周或其他相关元素,然后将该字段拖动到**“报告筛选器”**区域。
“团队项目”维度中的“团队项目层次结构”
“工作项”维度中的“‘工作项.迭代’层次结构”
“工作项”维度中的“‘工作项.区域’层次结构”
“日期”维度中的“年 周 日”
在**“日期”维度中,展开“更多字段”,并根据要生成的报告的粒度级别将“日期”、“周”或“月”字段拖至“轴字段(分类)”**区域。
将**“添加的行数”、“修改的行数”和“删除的行数”字段从“代码改动”度量值组拖动到“值”**区域。 您必须单独拖动每个字段。
代码改动度量值
代码改动度量可确定您的项目中正在发生的更改的数量。 通常,改动的程度越高,就表明项目越不稳定。 在产品周期开始时或团队实施很多更改后,可以预计改动率会很高。 临近迭代结束时或在发布之前,可以预见代码改动程度将降低,这表明您的项目更加稳定。
下表说明了代码改动度量值组中的度量值。 利用这些度量值,您可以创建报表来显示 Team Foundation 版本控制 中存储的文件版本的数量以及代码的更改程度。 您可以按文件目录、生成或签入更改的团队成员分析指标,也可以确定这些指标随时间变化的方式。
有关可从生成收集的相似度量值的信息,请参见使用生成透视分析和报告生成详细信息和生成覆盖率。
度量值 |
描述 |
---|---|
代码改动计数 |
团队在版本控制中更改文件的次数。 |
添加的行数 |
团队针对您指定的维度添加到文件的代码的行数。 |
删除的行数 |
团队针对您指定的维度从文件中删除的代码的行数。 |
修改的行数 |
团队在您指定的时间段内修改的代码的行数。 |
改动项总数 |
代码中的改动,计算方式如下:[添加的行数] + [删除的行数] + [修改的行数]。 |
总行数 |
您指定的文件路径层次结构的部分中的行数。 您还必须指定一个或多个生成来指示在其中执行此计算的一个或多个点。 如果您未指定一个或多个生成,则会返回 NULL。 行数等于分配给特定生成类型和操作系统组合的已添加行数加上已删除行数。 提示 总行数度量可能导致 OLAP 查询超时。如果您的报告用时过长而难以呈现,请考虑缩小变更集、生成、测试运行或日期范围。 |
运行覆盖率度量值
下表说明了运行覆盖率度量值组中的度量值。 利用这些度量值,您可以创建报表来显示测试运行中的测试覆盖的代码的范围。 有关可从生成收集的相似度量值的信息,请参见使用生成透视分析和报告生成详细信息和生成覆盖率。
度量值 |
描述 |
---|---|
运行覆盖率 |
具有与之关联的代码覆盖率统计信息的测试运行的数量。 |
运行覆盖率覆盖的块数 |
运行中的所有测试覆盖的块数。 但是,测试之间的覆盖率可能重叠。 |
运行覆盖率未覆盖的块数 |
运行中的任何测试均未覆盖的块数。 但是,测试之间的覆盖率可能重叠。 |
运行覆盖率覆盖的行数 |
运行中的所有测试覆盖的行数。 但是,测试之间的覆盖率可能重叠。 |
运行覆盖率未覆盖的行数 |
运行中的任何测试均未覆盖的行数。 但是,测试之间的覆盖率可能重叠。 |
运行覆盖率部分覆盖的行数 |
运行中的测试部分覆盖的行数。 但是,测试之间的覆盖率可能重叠。 |
支持筛选和分类的代码改动透视图中的维度和特性
下表说明了代码改动透视图中的维度和特性。 这些特性是对使用共享维度所述的**“团队项目”和“日期”**共享维度的补充。 您可以沿这些特性中的每一个聚合度量值。
维度 |
特性 |
描述 |
---|---|---|
生成 |
生成定义名称 |
分配给为其运行生成的生成定义的名称。 |
生成 ID |
分配给生成的编号。 每次运行特定生成定义时,此特性都会增加 1。 |
|
生成名称 |
唯一标识生成的名称或表达式。 有关详细信息,请参阅使用生成号为已完成的生成指定有意义的名称。 |
|
生成开始时间 |
生成开始的日期和时间。 |
|
生成类型 |
运行生成的原因。 生成类型与已为此生成定义的触发器关联。 Team Foundation Server 支持以下类型的生成:手动、持续(由每一次签入触发)、滚动(聚合签入,直到上一个生成完成)、封闭签入和计划。 有关详细信息,请参阅指定生成触发器和原因。 |
|
放置位置 |
已完成的生成的统一资源标识符 (URL)。 URL 指定 Web 浏览器用来查找 Internet 资源的协议。 每个 URL 包括生成详细信息所在的服务器的名称。 您还可以包含资源路径。 |
|
版本控制变更集 |
变更集 ID |
分配给包含了文件更改的变更集的编号。 |
签入者 |
签入变更集的团队成员的用户名。 |
|
描述 |
与变更集关联的签入注释。 |
|
策略重写注释 |
重写策略时提供的注释。 如果某个策略并未用此变更集重写,则此字段为空。 |
|
版本控制文件 |
“版本控制文件.文件”层次结构 |
源文件的完整网络路径。 |
“版本控制文件.文件”扩展名 |
源文件的扩展名。 |
|
工作项 |
工作项类型等 |
有关详细信息,请参阅使用工作项透视分析和报告工作项和测试用例数据。 |
支持筛选和分类的运行覆盖率透视图的维度和特性
下表说明了运行覆盖率透视图中的维度和特性。 这些特性是对本主题后面的使用共享维度所述的**“团队项目”和“日期”**共享维度的补充。 您可以沿这些特性中的每一个聚合度量值。
备注
在使用“程序集”或“生成风格”特性之前,测试团队必须指定它们并将测试结果发布到 Team Foundation Server 的数据存储区。有关详细信息,请参见本主题后面的必需的活动。
维度 |
特性 |
描述 |
---|---|---|
程序集 |
程序集 |
(仅限已发布的测试结果)作为生成的一部分测试的应用程序代码的名称。 有关详细信息,请参阅在生成过程中运行测试。 |
生成 |
生成定义名称 |
分配给为其运行生成的生成定义的名称。 |
生成 ID |
分配给生成的编号。 每次运行特定的生成定义时,“生成 ID”都会增加 1。 |
|
生成名称 |
唯一标识生成的名称或表达式。 有关详细信息,请参阅使用生成号为已完成的生成指定有意义的名称。 |
|
生成开始时间 |
生成开始的日期和时间。 |
|
生成类型 |
运行生成的原因。 生成类型与已为此生成定义的触发器关联。 Team Foundation Server 支持以下类型的生成:手动、持续(由每一次签入触发)、滚动(聚合签入,直到上一个生成完成)、封闭签入和计划。 有关详细信息,请参阅指定生成触发器和原因。 |
|
放置位置 |
已完成的生成的统一资源标识符 (URL)。 URL 指定 Web 浏览器用来查找 Internet 资源的协议。 URL 还包含资源所在的服务器的名称。 您还可以指定资源的路径。 |
|
生成风格 |
生成风格 |
(仅限已发布的测试结果)一个用来指定类别的名称,该类别已分配到已作为测试运行的一部分发布的一组已完成生成。 例如,您可以使用生成风格指定 Beta 版本或最终发布版本。 |
生成平台 |
生成平台 |
(仅限已发布的测试结果)为其执行端到端(非桌面)生成(已作为测试运行的一部分发布)的计算机平台的名称(例如,“x86”或“任何 CPU”)。 有关使用此特性的报表的示例,请参见“生成摘要”报表。 |
测试运行 |
按月或按周划分的完成日期层次结构 按月或按周划分的创建日期层次结构 |
基于测试运行创建和完成的日期的日期维度。 有关详细信息,请参阅Analysis Services 多维数据集中的共享维度。 |
所需的活动
若要创建包含代码改动和代码覆盖率数据的报表,团队成员应查看以下主题中的信息: