软件缺陷分析方法:ODC
资料
Orthogonal Defect Classification:简要描述。
ODC-5-2.pdf :详细说明了ODC对于缺陷属性分类的描述,以及具体应该怎么划分。
ODC-5-2-Extensions.pdf:针对GUI 缺陷、用户文档、构建以及区域语言支持所做的扩展。
ODC(Orthogonal Defect Classification)简介
使用 Rational Team Concert 3.0 及 ODC 改进项目的质量,第 1 部分: 分类并确认缺陷
有效进行软件缺陷的管理和分析---正交缺陷分类(ODC)在CQ中的应用
简介
ODC:正交缺陷分类法(Orthogonal Defect Classification)
该技术由IBM在1992年提出。它通过定义缺陷的属性,利用对这些属性的归纳和分析,来反映出产品的设计、代码质量、测试水平等各方面的问题。从而得到一些解决方法来进行改进。
ODC方法定义了八个正交的缺陷属性用于对缺陷的分类。
Opener Section:Activity(活动),Trigger(触发),Impact(影响)
Closer Section:Target(目标),Type(类型),Qualifier(界定),Age(阶段),Source(来源)
分类说明
Opener Section:
These are attributes you can classify when you find a defect.
当我们发现缺陷时,可以进行分类的属性。
- Activity:
This is the actual activity that was being performed at the time the defect was discovered.
For example, during function test phase, you might decide to do a code inspection. The phase would be function test but the activity is code inspection.
缺陷被发现时,实际进行的活动。
比如,在功能测试阶段,我们可能决定要做一个代码审查。这时候,阶段就是功能测试,但是activity是code inspection。
- Trigger:
A trigger represents the environment or condition that had to exist for the defect to surface.
What is needed to reproduce the defect? During Review and Inspection activities,choose the selection which best describes what you were thinking about when you discovered the defect. For other defects, match the description with the environment or condition which was the catalyst for the failure.
缺陷暴露时,必须存在的环境或条件。
比如,设计一致性,向后兼容性,并发等等。
注意:不同的Activity会映射到不同的Trigger。具体参见 ODC-5-2.pdf 的 “Activity to Trigger Mapping”部分。
- Impact:
For in-process defects, select the impact which you judge the defect would have had upon the customer if it had escaped to the field.
For field reported defects, select the impact the failure had on the customer.
缺陷对客户可能造成的影响。
比如,可用性,可靠性,性能等等。
Closer Section :
These are attributes you can classify when you know how the defect was fixed.
知道缺陷是怎样修复后,可以进行分类的属性。
- Target:
Represents the high level identity of the entity that was fixed.
描述被修复实体的高级身份。
比如,设计、编码。
- Defect Type
Represents the actual correction that was made.
描述进行的真正修正。
比如算法,接口,初始化等等。
注意:针对不同的 Target,Defect Type不同。
- Qualifier
QUALIFIER (applies to Defect Type): Qualifier captures the element of a nonexistent, wrong or irrelevant implementation
缺陷限定。
指明了所进行的修复应归于缺失,错误或者还是外来的代码或者信息。
- Age
描述发现缺陷的阶段。
比如,新代码,重写等等。
- SOURCE:
Choose the selection which best defines the fixed Requirements/Design/Code in terms of its developmental history Source
定义发现的缺陷的来源。
指明了缺陷来源是 内部代码编写,重用程序库,外包 或者 移植。