51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 10271|回复: 11
打印 上一主题 下一主题

[原创] 缺陷密度的意义

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-2 11:11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有文说     缺陷密度=1000*BUG总数/代码行数
也有文说   缺陷密度=缺陷总权值/功能总权值

但是这个缺陷密度值算出来,到底想说明什么或用来做什么呢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-6-2 12:12:41 | 只看该作者
Myers有一个关于软件测试的著名反直觉原则:在测试中发现缺陷多的地方,还有更多的潜在缺陷将会被发现。这个原则背后的原因是,发现缺陷越多的地方,漏掉的缺陷可能性也会越大,或者说测试效率没有被显著改善之前,在纠正缺陷时将引入较多的错误。其数学表达就是缺陷密度的度量--每KLOC或每个功能点(或类似的度量--对象点、数据点、特征点等)的缺陷数,缺陷密度越低意味着产品质量越高。
缺陷密度=已知缺陷数量/产品规模
使用缺陷密度时,有一点需要注意:百分比度量表示相对频率,需要给出足够的上下关系信息。通常的描述在使用百分比和比率时不够小心,例如:"需求缺陷占总数的15%,设计缺陷占总数的25%,编码缺陷占总数的50%,其他的缺陷占总数的10%"。还不能提供更加详细有力的信息,如果按照如下所述,将可以得到更多的信息,即"一个包含了8 000行代码的工程,在其开发期间,检测并排除了约200个缺陷,因此缺陷排除率为每千行代码25个缺陷。在这200个缺陷中,需求缺陷占总数的15%,设计缺陷占总数的25%,编码缺陷占总数的50%,其他的缺陷占总数的10%"。

参考自:http://book.51cto.com/art/200810/93501.htm
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-6-2 15:11:55 | 只看该作者
这里有说的缺陷密度越低 意味着产品质量越高  缺陷密度越高  意味着可能潜在着更多缺陷

那么怎么证明手上得到的缺陷密度值的高低,不是因为测试质量原因产生的呢?

即如果对于A模块,测试比较充分 得出缺陷密度比较高   对于模块B,测试质量比较低下  得到的缺陷密度比较低   是否也适合用这套理论来分析系统呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-6-2 15:24:19 | 只看该作者
呵呵,任何一种框架理论都会存在一个前提。

像Myers的反直觉原则,则是依托于充分测试的前提下。

而当分析缺陷密度时,产品质量好坏与否是根据多种数据组合分析得出的结论,如缺陷率、覆盖率、缺陷曲线、测试人员绩效等等
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-6-2 15:48:20 | 只看该作者
完美

这里又说到缺陷曲线  一般的  项目的缺陷曲线都是一个拱形  到后期缺陷趋于收敛的平稳状态时  
才能有信心发布版本

这个缺陷曲线跟缺陷密度都是拿缺陷在说事  那他们有什么不同之处呢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-2 18:03:24 | 只看该作者
原帖由 迪斯科 于 2010-6-2 15:48 发表
完美

这里又说到缺陷曲线  一般的  项目的缺陷曲线都是一个拱形  到后期缺陷趋于收敛的平稳状态时  
才能有信心发布版本

这个缺陷曲线跟缺陷密度都是拿缺陷在说事  那他们有什么不同之处呢


根本区别在于选取参照物是否可量化,而结论侧重点也稍微有一些不同。

缺陷密度定义的多少是与其他测试点对比得出的结论,也就是它的参照物无法提前评估和量化。而其结论强调当前“质量的结论”。

曲线图则是与标准共性曲线对比的,根据与理想曲线图的差别,判断在某一个时间段内是否存在质量风险。它的参照物是可量化的。其结论重点在于强调某个时间段“活动的结论”。(不仅仅只包含了质量结论,还包括了员工绩效这些东西)
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-6-3 09:01:40 | 只看该作者

回复 5# 的帖子

不管是缺陷密度还是缺陷曲线,都只是在理想条件下才能保证其意义。

比如缺陷发现数量的曲线,
在统计学上称为威布尔模型,在软件测试中使用这种分布模型有很多条件,比如:
1.软件的测试时执行的操作和软件真正的使用时执行的操作类似
2.所有bug的出现可能相同
3.每个bug的修复都不会引入新bug
4.每个bug都是互相独立
5.测试开始时,这个软件中的bug数量已经是固定并且有限的
参Erik Simmons的When will we be done testing?software defect arrival modelling with the weibull distribution

这些非常多的条件,在理想条件下才能成立,也就是说,在现实条件下,所有的模型(包括缺陷密度等等)都只能作为一个参考,都有其局限性。至于怎样克服这种局限性来确定何时测试可以结束,这是另一个非常大的话题了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-6-3 09:29:11 | 只看该作者
缺陷曲线以测试时间为横轴
缺陷密度则以测试阶段/软件版本为横轴

角度不同 目的也不同
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-6-3 12:58:35 | 只看该作者

回复 7# 的帖子

“不管是缺陷密度还是缺陷曲线,都只是在理想条件下才能保证其意义”
这句话说的有些偏激了。

的确,理论都需要理想条件的支持,但是在实际运用中,所谓的理想条件却不是必要条件。(有点绕哈

比如,1+1,在理想条件下等于2,而在实际条件中却等于N。那么我们是否在实际环境中因为没有理想条件就放弃使用1+1的理论了呢?

当然不是,我们只是将理论与实际结合在一起,得到我们需要的结果,而结果的“意义”轻重则在于理论与实际情况的契合度,如果是100%契合,那么结果就是完全正确(当然,这个也是理想条件了,呵呵)。

这才是理论思想存在的真正意义嘛。

所以,理论指导做事的方向和方法,而具体怎么做,则是看个人了

[ 本帖最后由 Jackc 于 2010-6-3 13:00 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-3 15:15:49 | 只看该作者
6楼的回答好专业啊
7楼也很好啊
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-12-13 16:01:15 | 只看该作者
9楼最专业
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-12-13 16:45:10 | 只看该作者
白盒测试容易统计缺陷密度 灰盒呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-27 13:32 , Processed in 0.076505 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表