关于BUG率的计算和它的实际意义的思考

个人微信号是Shalayang,如下是个人二维码名片,欢迎添加。编程

 

问题1:bug率有什么做用?微信

my opion:用处有不少,须要具体状况具体分析,不过主要做用通常是来评价工做产品的质量。若是bug率较高,说明系统质量较差,须要大量的返工。项目经理就须要作好缺陷分析(缺陷的类型、分布、严重程度等),找出缘由,以便作好下一阶段的缺陷预防工做。除此以外,还能够结合其它方面的信息,判断是否一些工做不充分。譬如,若是缺陷密度太低,有两个缘由:可能工做产品质量确实高;也可能评审或测试不充分,更多的缺陷没有发现。在某些公司,bug率也做为项目度量考核的一项指标。编程语言

问题2:bug率的计算公式是什么?工具

流行的公式主要如下两个:测试

观点1、bug率=bug数/代码行数编码

观点2、bug率=bug数/功能点数spa

my opion:.net

网上对于这两个公式的争议比较多,这个问题上,我的以为不必争哪一个才是正道。说句惟心主义的话,存在便是合理,每一个公式都有他生存的环境和产生的根源,对于咱们须要用到它的时候,只须要根据公司须要进行择优选择就行了,不是吗。设计

问题3:哪一种方法更有效,更合理可行呢?orm

my opion:

使用代码行进行计算,优势是能够经过自动统计工具计算(特别是对于大型项目,确定会计算代码行数),比较方便,因此该方法比较广泛,是大多数公司或项目运用的计算方法。但它的缺点是受开发人能力影响大(毕竟不一样开发人员的编码能力不同),且不用编程语言差异较大。

使用功能点进行计算,优势是计算方法适用性强,不一样语言之间也有可比性,但缺点是参数较多,比较复杂,并且目前尚未比较方便的工具。其次,计算功能点虽然与开发人员的代码能力无关,可是与计算功能点的人有关,对于没有根基的人而言,能准确的计算出功能点也不是一件容易的事。并且功能点涉及的内容也比较多。

网上看过有人说到“功能点与不一样语言的代码行数之间有一个对应,能够在统计出代码行数后根据比例换算成功能点”, 具体对应关系是什么我没有查到,但愿有知道的童鞋告知一下。

问题4:bug率计算公式中的bug数怎么取值?

在看到上面的公式后,也许有人疑惑:

  1. 能很方便的统计出新版本变化的代码行数吗?

  2. 分子中的bug数是本次剩余的bug数呢,仍是总共的bug数?

  3. 若是代码行数为总行数,那么bug数就应该为总的bug数呢?即全部bug的和呢?并且若是是总的bug数那么对于后期的仅仅改错的阶段而言,可能代码的增长会不多,可是这时bug数会不断增长,这样一来,bug率岂不是在不断的升高?可是按常理而言是应该减小的呀,应该越到后期bug率越小才对,是不?

  4. 或者bug数取剩余的bug总数(上几个版本剩余未修改的bug和本版本的新bug)呢?而代码行数仍然是总的代码行数。这样是否是有问题呢?

 解惑:

一、代码统计工不少都能作到新旧两个版本对比,很容易获得版本变化的代码行数.

2-三、那就看你用这个度量项来讲明什么问题:若是是评价新增代码的质量,那不该该包括之前未解决的Bug,能够用“新增的bug数/新增+修改+删除代码行数”,若是是当前版本的整个系统的代码质量-----总的bug数/总代码行数。

四、这个就是至关于统计bug收敛率了。

是这样吗?

问题5:对于迭代方式开发的缺陷统计怎么作?

如今有不少项目是采用迭代的方式来进行的,每次可能添加的代码部分比较少,那如何来计算其bug率呢?是用新增的bug数/新增的代码行数?仍是总的bug数/ 总的代码行数?

my opion:

采用何种统计策略,还要看该统计项目的,若是用于评价新开发工做的质量,那就不能把原有系统缺陷统计在内;若是不做为评价新的开发工做,那就都统计在一块儿(譬若有的只是跟踪版本质量)。

每个统计项都应有它的目的,不该该机械地去作统计,还要看设计该统计项的目的是什么。

 


本文分享自微信公众号 - 软件测试经验与教训(udatest)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索