跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 Rational Team Concert 3.0 及 ODC 改进项目的质量,第 1 部分: 分类并确认缺陷

Anna M Bizoń-Adamczyk, 软件工程师, IBM
Anna Bizoń-Adamczyk
Anna Bizoń-Adamczyk 是位于波兰的 IBM Krakow Software 实验室的一名软件工程师。她于 2006 年加入 IBM。她关注于项目管理,以及配置 Rational Team Concert 用于项目进度跟踪和状态报告相关的活动。

简介: 使用正交缺陷分类法(Orthogonal Defect Classification,ODC)在整个软件开发生命周期进行分析,使得团队能够深度分析缺陷记录以及缺陷趋势。一系列的 ODC 分析功能能够丰富所有的软件开发过程。本文,也就是两篇中专题的第一篇,向您展示了怎样扩展 IBM® Rational Team Concert™ 3.0 版本,以支持 ODC 系统性缺陷数据收集功能。

查看本系列更多内容

发布日期: 2012 年 1 月 19 日
级别: 中级 原创语言: 英文
访问情况 : 1596 次浏览
评论: 


下载试用版:IBM® Rational® Team Concert 标准版  |  IBM® Rational® Team Concert 免费版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

本文向您介绍了怎样使用 IBM® Rational Team Concert™ 3.0 版本特性,来收集正交缺陷分类法(Orthogonal Defect Classification,ODC)数据以便作进一步的分析。本系列的第一篇文章将会描述如何在 IBM® Rational® Jazz™ 环境中,使用 ODC 数据收集的工具来支持 ODC 过程所需要的步骤。第二篇文章会描述怎样创建一系列的评价图,并使 Rational Team Concert 环境中的所有团队成员都能使用该图。

前提条件

要按照本文中介绍的指南操作,您需要安装 Rational Team Concert 3.0 服务器,并配置相应的 Rational Team Concert Eclipse 客户端。您还需要拥有更改过程定义的权限。如果您没有安装 3.0 版本的 Rational Team Concert 服务器或者客户端,您可以查看本文的 参考资料 部分,以找到关于从 Jazz 网站获得,安装和配置需要软件的信息。


ODC 的优势

正交缺陷分类法(Orthogonal Defect Classification,ODC)是一种功能强大的缺陷分析方法,开发团队可以使用该方法来监视项目过程和健康状况,该技术是由 IBM 研发实验室团队开发的。ODC 过程已经有效地应用到许多的项目之中,结果证明它对高质量软件的交付作出了很大的贡献。ODC 是从缺陷分类的一系列简单规则中创建的,以便轻松地应用到多个项目之中。ODC 方法的简便性降低了将其引入到软件开发周期之中的成本。因此,它就为客户与开发团队带来了真正的价值。在与您的开发环境集成后不久,您就可以看到在项目过程追踪、风险管理,以及质量方面重大的改进,这同样也会使得客户满意度也有极大的提高。

ODC 的主要假设在于,扩展每一个缺陷记录及完整定义的其他数据。信息越多,意味着作出的决策越完善。在特定的时间之后,每个缺陷的 ODC 数据会得到系统和综合的收集,以让团队对不同开发活动期间发现的缺陷的特征进行广泛的分析,以找出缺陷趋势。这种分析使得对关键的问题作出了全面的了解。接下来的是最重要的部分:防止不可预料情况进一步发生可以采取的措施。

ODC 语义信息不但有助于作出更好的决策,而且能够极大地降低成本。通过预防缺陷的产生,在开发阶段消除缺陷的隐患,并降低缺陷逃逸率,它为改进软件的质量提供了一种简单有效的方法。ODC 分析可以回答开发阶段所问的大多数问题,例如:

  • 每个活动期间我们是否找到了正确的缺陷?
  • 缺陷通常都在什么地方?
  • 测试中没有涉及到什么?
  • 源代码和测试的质量随着时间的变化怎样?
  • 我们是否得到客户适当的注意力?
  • 我们是否正在不断完成代码?
  • 我们是否让产品更加稳定?

实践 ODC

完整的 ODC 分类及评价过程是定义完善的,由如图 1 所示的主要阶段组成。


图 1. ODC 主过程阶段
四个成功的活动

该过程包含了按照以下顺序发生的活动:

  1. 分类(Classify): 分类步骤获取了 ODC 数据收集。收集数据需要团队内的两个基本角色:提交者(Submitter) 以及 响应者(Responder)。测试人员通常会扮演提交者的角色,而开发团队的成员则会扮演响应者的角色。分类是向缺陷实体分配正确权限的持续性过程。
  2. 确认(Validate): 这一步骤必须由拥有特定项目知识储备以及操作技巧的合格人员来执行。Validator 角色会向团队提供基于分类缺陷评审结果的反馈。
  3. 评估(Assess): 对于 ODC,该评价关注于 ODC 属性与其他缺陷相关的数据,例如构件或者安全性。通常来说它还包含了特定 ODC 属性的缺陷趋势的分析,其基础是另一个 ODC 属性内特定属性集的缺陷的数量。
  4. 执行(Act): 这是在分析分类缺陷的基础之上实施操作的阶段。

本文关注的是支持 Rational Team Concert 中正确特性的 分类 以及 确认 阶段,以支持缺陷类型工作项的 ODC 方案。

ODC 成功指南
下面是所有确保项目中 ODC 方法能够取得成功的关键性因素:
  • 团队会一直坚持使用 ODC 方法
  • 适当的知识储备,因为教育不够易导致不适当的数据
  • 缺陷必须由所有的团队成员系统地分类
  • 规范地执行确认操作,并向团队成员提供反馈。
  • 执行评估,并识别团队环境之中执行的操作。工具得到适当地配置,并支持所有阶段之内的过程。


缺陷分类概念

必须要引入 ODC 分类的概念,以理解怎样配置开发环境。缺陷生命周期通常由开发周期的一些状态组成,但是只能两次获得有用的信息:一次是发现缺陷时,一次是开发员交付修复时。

当您在识别缺陷时,在将缺陷传递给开发序列之前,提交者(Submitter)必须要在追踪工具之中收集所有需要的信息并记录它。尽管在缺陷分析中所有的数据都很有用,但是您可以使用初始的 ODC 数据集进行扩展。有三个特定 ODC 的类别会识别打开缺陷的环境。对于缺陷提交者,您可以使用接下来的类别来对其分类:

活动(Activity)
活动是在发现缺陷时执行的。可用的活动是由项目团队定义的。
 
触发器(Trigger)
发现缺陷时就会满足条件,这严格取决于活动。当一项活动取决于特定的项目时,激发器就会一直处于不变更状态。
 
影响(Impact)
对缺陷的评价会影响到客户。
 

当缺陷由响应者(Responder)关闭时,还可以使用描述缺陷本质和范围的其他数据。该信息会归类为以下五种类型中的一种:

目标(Target)
修复的实体
 
缺陷类型(Defect type)
修复的实质内容
 
识别符(Qualifier)
导致缺陷的直接原因
 
源(Source)
识别拥有缺陷目标的起源
 
历史(Age)
目标的历史
 

注意:
每个角色所实现的信息排除在外。您应该配置 Rational Team Concert 以让它们处于分隔状态。这就是我们的目标之一。


Rational Team Concert 与缺陷数据分类

在本文发布时,Rational Team Concert 目前并不直接支持 ODC 缺陷分类功能;但是,您有很多种方法扩展 RTC 的功能以实现这个目标。通过扩展 Rational Team Concert 平台,您就可以使用 ODG 过程来丰富它的功能。

为了在 Rational Team Concert 中实施 ODC 数据收集功能,您就可以定义通用属性来扩展 Rational Team Concert 工作项工件(这就是 Rational Team Concert 的功能)。这可以完美地匹配了 ODC 数据模型的简便性,后者关注的是定义完善的缺陷相关属性。

为了支持 ODC 数据收集功能,您需要定制工作项的 Defect 类型。为了实现这一点,您可以运行 Rational Team Concert Eclipse 客户端,并在 Process Configuration Editor 中选择项目定义或者模板。您可以使用 Process Configuration 的 Work Items 部分:
项目配置 > 配置数据 > 工作项

枚举项

首先,您需要为 ODC 属性添加需要的枚举项。在该 ODC Activity 范例中将会演示创建一个新枚举项的过程:

  1. 打开 Enumerations 编辑器,并在打开的项目中,切换至 Choose enumeration to edit 并点击 Add
  2. 一个对话框窗口会出现,如图 2 所示,这样您就可以提供一个枚举项 ID 及其名字。在您输入信息并点击 OK 之后,编辑就可以使用新的枚举项了。

图 2. 为 ODC Activity 添加一个新的枚举项
Enumeration ID 字段:ID,Name

现在可以通过将其添加到 Enumeration Literals 列表,来定义枚举项及它们的顺序。

  1. 通过点击每一个枚举项类型的 Add Literal,您可以定义条目,包括“未指派”。
  2. 然后,在 Enumeration 部分之中,将 Default Literal 及 未指派 Literal 设置为值 未指派,如图 3 所示。

图 3. 向枚举项添加条目
默认条目与未指派条目下拉菜单

对 ODC 属性所需要的剩余枚举项重复上述步骤,以创建枚举项。表 1 与表 2 显示了每一个创建枚举项的条目。表 3 显示了枚举项 ID 和名字。


表 1. ODC Submitter 属性的 Enumeration 条目
ODC 活动ODC 触发器ODC 影响
未指派
设计评审
代码检查
单元测试
构建
BVT
CVT
SVT
IVT
GVT
TVT
DBCS IVT
性能
评测性
ID 评审
GUI 评审
接受性
Beta
未指派
设计一致性
逻辑,流程
反向兼容性
项目兼容性
并发性
内部文件
语言依赖
边缘效应
稀少情况
简单路径
复杂路径
覆盖面
变量
序列
交易
工作负荷,压力
恢复性,预期
启动,重新启动
硬件配置
软件配置
屏幕截图,字符
导航
工具,GUI 行为
未指派
不稳定性
标准
可服务性
完整性
安全性
转移
可靠性
性能
文献
需求
维护性
实用性
可访问性
功能

表 2. ODC Responder 属性的枚举项
ODC 目标ODC 缺陷类型ODC 标识ODC 时间ODC 源
未指派
需求
设计
代码
构建,包
信息开发
国家语言支持
未指派
分配
检查
规则,方法
函数.类,对象
计时,序列化
界面,O-O 信息
关系
用户界面
转化
未指派
丢失
不正确
不相关的
未指派
基础

覆盖
重新修复
未指派
室内开发
库再使用
外来源
固定的

表 3. ODC 通用属性名及识别符
名称ID
ODCActivityodc.activity
ODCTriggerodc.trigger
ODCImpactodc.impact
ODCTargetodc.target
ODCDefectTypeodc.deftype
ODCQualifierodc.qualifier
ODCAgeodc.age
ODCSourceodc.source

创建的枚举项会用作缺陷 ODC 通用属性的类型。

通用属性

当您定义所有需要的枚举项时,您可以向 Defect 工作项添加 ODC 通用属性。您可以按照下面的步骤来实现该操作:

  1. 打开 Types and Attributes 并确保您选择了工作项的 Defect 类型。

图 4. Types 及 Attributes 编辑器
类型与属性,缺陷以及工作项编辑器

  1. 切换至 Types and Attributes 编辑器的 Attributes 部分,并选择 Show only custom attributes
  2. 点击 Add
  3. 在新窗口(见于图 5)之中,提供关于 ODC Activity 通用属性所需要的信息,包括用于相应枚举项的适当枚举项以及相同 ID。

图 5. 创建一个新的通用属性
Add Custom Attribute 对话框窗口

  1. 重复第 1 步和第 2 步以完成剩余的 ODC 属性。

Defect Presentation Editor 定制

当您在创建所有的 ODC Submitter 属性时,您需要扩展 Defect 编辑器,这样它就可以显示 ODC 数据。在此之前,您就需要为编辑 ODC 数据的 Defect 编辑器定义一个 UI 区域。按照下面的操作来完成它:

  1. 打开 Types and Attributes 部分,检查是否选中了 Defect 选项,确定在 Work Item Types 中选中了 Defect 项目,并查看 Work Item Editor 下面显示了什么编辑器 ID。图 4,在上面显示了类型与属性的配置。
  2. 打开 Editor Presentations 并为 Defect 选中适当的演示。
  3. 点击 Add Tab 按钮,并在适当的位置提供 Title,Layout 及 ID(见于图 6)。
  4. 点击 OK

图 6. 向缺陷演示编辑器添加 ODC 项
添加项目对话框

  1. 点击 Add Section,并将其命名为 ODC Submitter,然后选择一个选项。
  2. 重复上述的步骤来添加 ODC Responder 部分。
  3. 对于 ODC Submitter 部分,为 ODC ActivityODC TriggerODC Impact 添加演示。Add Presentation 按钮显示了创建演示的对话框。在 Attribute-based Presentation 部分之中,选择一个适当的属性,并在 Kind 下拉菜单之中,选择 Enumeration。您还可以选择输入一个标签,描述及一个 ID。

图 7. 向 ODC Submitter 部分添加 ODC Activity 演示
Add Presentation 对话框窗口

  1. 在 ODC Responder 部分之中,添加 ODC TargetODC Defect TypeODC QualifierODC Age 以及 ODC Source
  2. 创建一个新的范例缺陷,并确认 ODC 项目和部分得到了适当的创建。

依赖枚举项

ODC 属性之间的依赖也可以反映在缺陷提供者的 ODC 项目上。ODC Activity 与 ODC Trigger 之间的关系显示在 Submitter 部分中。ODC Target 与 ODC Defect Type 之间的其他关系在 ODC Responder 部分之中。

ODC Trigger 的可能值取决于 ODC Activity 的当前值。ODC Target 与 ODC Defect Type 之间也是这样。您可以在 Attribute Customization 编辑器 Value Sets 特性中管理它们之间的关系。您需要创建 Dependent Enumerations 值的新定义并选择枚举项,以定义依赖值。对于源枚举项的每一个选项,如果其值已经选中的话,那么您可以选择目标枚举项中可用的值。确定 未指派 一直被选中以预防初始化期间产生问题。图 8 展示了 ODC Activity 与 ODC Trigger 依赖的一个范例。


图 8. ODC 活动与 ODC 激活器的依赖值
定制属性对话框


ODC 确认

您还可以使用 ODC 项,它位于缺陷编辑器中,以追踪 ODC 确认。当您想要向存储其他数据的地方添加一个通用选项时,您可以使用该项。您可以看到其他的选项,该选项指示了是否执行了确认,以及确认执行到什么程度(ODC 确认枚举项:None,ODC Submitter,ODC Responder 与 ODC Submitter 及 ODC Responder)。

您还可以添加一个 ODC Comments 字段,以提供对缺陷有反馈的初始者和拥有者。图 9 显示了 Validation 与 Comments 字段,而图 10 在 Defect Editor 中显示了结果。


图 9. ODC 项上其他的部分以便确认
Editor Presentations 视图上的 ODC 项


图 10. Defect 编辑器的复杂表达式以便 ODC 数据追踪和确认
缺陷的总结


总结

正交缺陷分类发(ODC)是每个项目阶段分类缺陷并节省项目团队大量时间的一种有效方法,但是只是在该方法得到适当地实施和使用时才会这样。过程与开发平台的适当集成对成功非常关键。正如您从本文中所看到的那样,Rational Team Concert 3.0 可以按照对 Defect 工作项和确认活动轻松应用 ODC 方案的方式进行扩展。在本系列的下一篇文章中,我们将会描述如何使用 Rational Team Concert 以支持 ODC 分析阶段的方式。

由两篇文章所组成专题的下一篇文章向您解释了怎样扩展 Rational Team Concert 3.0 以支持 ODC 分析阶段。


致谢

我先要感谢 Michael Spisak,IT Architect,IBM Certified Consulting IT Specialist 及 Master Inventor 对本文所作的技术评审工作,以及 Witold Kopel,Justyna Drozdz 和 Rafal Adamczyk 对本文做的一般性评审工作和鼓励。


参考资料

学习

获得产品和技术

讨论

关于作者

Anna Bizoń-Adamczyk

Anna Bizoń-Adamczyk 是位于波兰的 IBM Krakow Software 实验室的一名软件工程师。她于 2006 年加入 IBM。她关注于项目管理,以及配置 Rational Team Concert 用于项目进度跟踪和状态报告相关的活动。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=788513
ArticleTitle=使用 Rational Team Concert 3.0 及 ODC 改进项目的质量,第 1 部分: 分类并确认缺陷
publish-date=01192012

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。