xsnzhq 发表于 2008-10-7 14:42:40

究竟什么是缺陷密度?

很想知道关于缺陷密度的定义,什么是缺陷密度呢?有的人认为1、缺陷密度=发布后的缺陷数/总缺陷数*100%
另一种为2、缺陷密度=缺陷数/代码行数既等同于缺陷率。
到底哪一种是对的呢?对于第一种很想知道这个得出的数据能体现什么呢?

chengxq 发表于 2008-10-7 16:37:51

对于数据的统计没有谁对谁错,只是出于不同的统计目的,就有了不同的公式。
第一个公式说实话,我是第一次看到,不过我能猜到这个是从测试的有效性考虑的,如果所得数值很大,那说明我们的测试有效性很低,如果-------
对于第2个现在用的比较的多,就不多说了

xsnzhq 发表于 2008-10-7 16:53:33

:) 感谢!开始我只是觉得迷糊,现在好了,我其实觉得第一种似乎没有什么实际的意义,能从中看到什么呢?发布的缺陷数/总缺陷数,也只能看到缺陷修改的比率。还是第二种用的比较多而且也比较一目了然。能够看到在千行代码的缺陷数。:lol

chengxq 发表于 2008-10-7 17:03:07

原帖由 xsnzhq 于 2008-10-7 16:53 发表 http://bbs.51testing.com/images/common/back.gif
:) 感谢!开始我只是觉得迷糊,现在好了,我其实觉得第一种似乎没有什么实际的意义,能从中看到什么呢?发布的缺陷数/总缺陷数,也只能看到缺陷修改的比率。还是第二种用的比较多而且也比较一目了然。能够看到在千行 ...
呵呵,我也谢谢你,让我知道了第一种统计的方式方法,我感觉这个还是有用的,因为我们在很多情况下,都说客户在用的时候发现了很多bug,但是bug到底发生了多少,这个量是没有作用的,只有将其和总的量进行比较后,就能得出一个有用的比值,通过这个百分比,我们就可以对我们测试的有效性做出一个评价。

zhongmg108 发表于 2008-10-7 17:29:59

第一个应该叫做"遗留缺陷率"(residual defect ratio),注意这个ratio是"比率"的意思,实际上是同类型数据之间的比,一般是指"部分"占"总体"的比率. 这个数据越大,说明项目的质量控制活动效果越差, 可以把缺陷进行分类, 然后去回溯发现哪些活动没有到位或执行的效果不佳.

缺陷密度,一般都是这样定义: 缺陷数/产品规模.
这个产品可能是指文档, 这时单位用"页"; 也可能指用例数,这时单位用"个"; 大多数情况下指代码,这时单位是"NBNC行".

xsnzhq 发表于 2008-10-8 09:46:26

感谢大家的回答,从中学到了不少知识。:loveliness: 多谢!

ftoilove 发表于 2008-10-8 11:35:29

我在实际工作中,经常度量第一个数据,原因如下
1、缺陷率(缺陷数量/规模):很好度量,用于开发过程中,如果使用了bug管理系统的话,这个数据能很轻易得出,例如我们公司使用的JIRA系统,目的在于:一方面作为对开发人员的考核,另一方面用于分析开发过程的bug原因分析及预防。
2、缺陷密度(发布缺陷数/总缺陷数):我把他叫缺陷密度,用于产品发布后,产品进入维护阶段,主要有两个来源,一是客户自己发现,二是在维护中开发人员发现。主要用于分析产品发布的过程改进,如果这个数据过大,说明我们的放行标准过低,如果这个数很低,说明我们的放行标准过高,事实发布后是允许存在bug的,那么如何改进发布放行,就必须用这个数据来度量,我目前只找到这个方法:)
3、根据缺陷率及缺陷密度进行分析统计,以得出在整个开发过程中基于测试和评审的粒度!
4、可能跟我们公司的项目有关系,我们的生命周期是一直存在到维护中的,如果生命周期到交付客户就结束,那么这个度量项意义真的不大,大家可以自己斟酌!

zj101582 发表于 2008-10-8 13:07:33

学习了:handshake

Jon 发表于 2008-10-8 16:25:35

呵呵 楼上都说很明白
这些都是量具,来度量软件的质量,一般SQA会使用他们来出报表

xsnzhq 发表于 2008-10-9 15:38:24

很想向大家请教,关于缺陷遗留率=发布后缺陷数/缺陷总数*100%,对于迭代开发的系统而言如何来进行计算,什么时候是对该数据进行统计的时机?
因为迭代开发的项目通常来说是开发一部分功能就要发布至客户方,然后再进行新一部分的功能开发。那么该数据是只要发布至客户方就要统计呢,还是要等到功能全部实现再作统计?
而这个数据是什么时候进行统计呢?是发布前统计呢还是要等待客户反馈信息后再作统计?如果是发布至客户方前统计,那么发布后缺陷数就是本版测试部测试出来的缺陷,如果是等待客户的反馈信息,那么等待时间是多久呢?

xsnzhq 发表于 2008-10-10 13:26:07

大家有没有什么好的建议呢?请大家指教!感谢!

xsnzhq 发表于 2008-10-10 13:29:20

大家关于迭代开发模式下的缺陷遗留率的统计有什么好的建议,请指教!

zhongmg108 发表于 2008-10-10 13:52:30

我个人觉得,与非迭代项目没有太大区别,还是归结底还是用这个度量项度量什么?这样的度量项反映了什么问题?
如果用于评估该次迭代开发的质量,那就把缺陷的范围界定在该次迭代所涉的功能范围内。那这个遗留缺陷率的计算依然是:
遗留缺陷率=交付后发现缺陷个数/定位在该轮迭代范围内的缺陷

所以在缺陷的统计中需要增加界定缺陷范围的属性。

xsnzhq 发表于 2008-10-10 14:10:35

原帖由 zhongmg108 于 2008-10-10 13:52 发表 http://bbs.51testing.com/images/common/back.gif
我个人觉得,与非迭代项目没有太大区别,还是归结底还是用这个度量项度量什么?这样的度量项反映了什么问题?
如果用于评估该次迭代开发的质量,那就把缺陷的范围界定在该次迭代所涉的功能范围内。那这个遗留缺陷率 ...
您的意思是说遗留缺陷率=交付后发现缺陷个数/定位在该轮迭代范围内的缺陷公式中的,交付后发现缺陷个数为客户反馈+发布后测试部再发现的?是吗?而定位在该轮迭代范围内的缺陷 则为发布前的测试部发现的缺陷个数+客户反馈+发布后测试部再发现的缺陷个数吗?而并不是总的缺陷数?
对于您说的定位也就是说定位在本次发布中是吗?所有的数据均为本次发布版本的缺陷数?

zhongmg108 发表于 2008-10-10 14:43:32

原帖由 xsnzhq 于 2008-10-10 14:10 发表 http://bbs.51testing.com/images/common/back.gif

您的意思是说遗留缺陷率=交付后发现缺陷个数/定位在该轮迭代范围内的缺陷公式中的,交付后发现缺陷个数为客户反馈+发布后测试部再发现的?是吗?而定位在该轮迭代范围内的缺陷 则为发布前的测试部发现的缺陷个数 ...
是的,因为这样才有意义,不然都混在一起,有什么意义呢,能做什么判断呢!“交付后发现的缺陷个数”当然也是定位在该次迭代范围内的缺陷,“定位在该轮迭代范围内的缺陷”包括项目组发现的缺陷、测试部发现的缺陷和客户发现的缺陷。分子与分母是部分与总体的关系。
什么是遗留缺陷?这个概念的定义可能会有一些差异,通常认为是开发团队完成工程级测试后,交付客户(有的公司是独立的测试部门)验收,项目进入发布阶段,此后发现的问题都属于遗留缺陷。
每个度量项,都应该在特定时间段和特定范围内的。也就有“时间”和“空间”两个维度。以这个度量项为例子,从“时间”维度上当然是指本次迭代所涉及缺陷,从“空间”维度来看是指本次迭代所产生代码及受影响的代码这个范围。

guoyh 发表于 2008-10-10 15:28:45

对于迭代开发的缺陷遗留率,可以分块进行统计。并且第1个迭代的缺陷遗留率可以作为后面迭代发布决策的参考数据。

johsonwy 发表于 2012-3-13 22:04:53

路过,正好学习一下。谢谢各位大哥的经验分享!

liuyang0618 发表于 2012-12-26 16:35:21

缺陷密集式是缺陷出现的一种想象,我们需要重视该模块的测试。

xiaochenyu 发表于 2013-2-5 17:15:32

缺陷密度=发布后的缺陷数/总缺陷数*100%
我们管这个叫BUG逃逸率

tianyu890619 发表于 2013-2-20 09:37:34

学习了!
页: [1] 2
查看完整版本: 究竟什么是缺陷密度?