资料

Orthogonal Defect Classification:简要描述。

ODC-5-2.pdf :详细说明了ODC对于缺陷属性分类的描述,以及具体应该怎么划分。

ODC-5-2-Extensions.pdf:针对GUI 缺陷、用户文档、构建以及区域语言支持所做的扩展。

ODC(Orthogonal Defect Classification)简介

正交缺陷分类(ODC)流程简介及应用经验分享

结合正交缺陷分类法(ODC)理论分析客户报告的软件缺陷

使用 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

定义发现的缺陷的来源。

指明了缺陷来源是 内部代码编写,重用程序库,外包 或者 移植。

软件缺陷分析方法:ODC的更多相关文章

  1. Android APP性能分析方法及工具

    近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...

  2. Linux下java进程CPU占用率高分析方法

    Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...

  3. Mysql 死锁的详细分析方法

    用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿.客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁.出现死锁的时候,如果只是想解锁,用show full proc ...

  4. 面向对象分析方法(I)

    找出最关键的一些业务场景:一般通过动词来寻找,比如招聘系统中,一个应聘人投递一个职位就是一次应聘,应聘就是一个业务场景:一个学生参加某门课的考试,那么考试就是一个业务场景:一个学生去图书馆借书,那么借 ...

  5. Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

  6. Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)

    转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...

  7. Linux内核源代码分析方法

    Linux内核源代码分析方法   一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...

  8. 【转】Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

  9. Linux内核分析方法谈

    本文来自 http://blog.csdn.net/ouyang_linux007/article/details/7422346 Linux的最大的好处之一就是它的源码公开.同时,公开的核心源码也吸 ...

随机推荐

  1. maven一些问题

    maven一些问题 - ljhzzyx的日志 - 网易博客 1. The container 'Maven Dependencies' references non existing library ...

  2. windows下使用xampp一键安装apache+php运行环境

    感谢浏览,欢迎交流=.= 想为我老爸开发一套库存管理系统,借此机会打算使用下ext+php+apache+linux环境尝尝鲜. 为了在windows搭建本地开发测试环境,官网下载xampp,一键安装 ...

  3. ubuntu14.04+opencv 3.0+python2.7安装及测试

    本文记录了ubuntu下使用源码手动安装opencv的过程.步骤来自opencv官网 此外记录了在python中安装及载入opencv的方法. 1.安装opencv所需的库(编译器.必须库.可选库) ...

  4. JS对于字符串的切割截取

    对于字符串的切割截取平时所用可能不是特别多,而且分的比较细,所以自备自查.有备无患. 由于之前所有均在一个demo测试,若是哪里打错了,敬请谅解.一些其余属性找时间继续添加. 1.函数:split() ...

  5. dom例子

    //凡是html标签中的属性和值是一样的,那么在js中用true或者false 1,阅读协议倒计时 <input type="button" name="name& ...

  6. Python学习_IDLE快捷键以及列表相关杂记

    IDLE快捷键 Tab完成:键入部分代码,按下TAB键,IDLE将给出列表帮助完成语句 回退代码语句:按下Alt+P(Previous),可以回退到IDLE中之前输入的代码语句, 下一个代码语句:按下 ...

  7. STM32内存映射

    一.概述 STM32内存映射是STM32的架构的重要组成部分,不可或缺. 二.STM32内存映射图 1.内存映射图--摘自<CM3权威指南> 2.内存映射图--摘自<STM32F10 ...

  8. bzoj2427: [HAOI2010]软件安装

    Description 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和 ...

  9. TCP/IP入门学习(1)---分层概述

    本文旨在记述一些学习中的笔记 OSI分层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 详细点: 1.应用层:为应用程序提供服务并规定程序中通信相关细节. 2.表示层:将应用处理的信息转 ...

  10. java 常用基本数据类型的默认值

    在使用基本数据类型作为类成员的时候,有时只初始化了而没有给变量赋值,那么此时,java会给你的变量赋一个默认初始值. boolean        false char              '/ ...