关于BUG率的计算和它的实际意义的思考
我的号是Shalayang,以下是我的⼆维码名⽚,欢迎添加。
问题1:bug率有什么作⽤?
my opion:⽤处有很多,需要具体情况具体分析,不过主要作⽤⼀般是来评价⼯作产品的质量。如果bug率较⾼,说明系统质量较差,需要⼤量的返⼯。项⽬经理就需要做好缺陷分析(缺陷的类型、分布、严重程度等),出原因,以便做好下⼀阶段的缺陷预防⼯作。除此之外,还可以结合其它⽅⾯的信息,判断是否⼀些⼯作不充分。譬如,如果缺陷密度过低,有两个原因:可能⼯作产品质量确实⾼;也可能评审或测试不充分,更多的缺陷没有发现。在某些公司,bug率也作为项⽬度量考核的⼀项指标。
问题2:bug率的计算公式是什么?
流⾏的公式主要以下两个:
观点⼀、bug率=bug数/代码⾏数
观点⼆、bug率=bug数/功能点数
my opion:
⽹上对于这两个公式的争议⽐较多,这个问题上,个⼈觉得没必要争哪个才是正道。说句唯⼼主义的话,存在即是合理,每个公式都有他⽣存的环境和产⽣的根源,对于我们需要⽤到它的时候,只需要根据公司需要进⾏择优选择就好了,不是吗。
问题3:哪种⽅法更有效,更合理可⾏呢?
my opion:
使⽤代码⾏进⾏计算,优点是可以通过⾃动统计⼯具计算(特别是对于⼤型项⽬,⼀般都会计算代码⾏数),⽐较⽅便,所以该⽅法⽐较普遍,是⼤多数公司或项⽬运⽤的计算⽅法。但它的缺点是受开发⼈能⼒影响⼤(毕竟不同开发⼈员的编码能⼒不⼀样),且不同编程语⾔差别较⼤。
使⽤功能点进⾏计算,优点是计算⽅法适⽤性强,不同语⾔之间也有可⽐性,但缺点是参数较多,⽐较复杂,⽽且⽬前还没有⽐较⽅便的⼯具。其次,计算功能点虽然与开发⼈员的代码能⼒⽆关,但是与计算功能点的⼈有关,对于没有根基的⼈⽽⾔,能准确的计算出功能点也不是⼀件容易的事。⽽且功能点涉及的内容也⽐较多。
有意义的号⽹上看过有⼈说到“功能点与不同语⾔的代码⾏数之间有⼀个对应,可以在统计出代码⾏数后根据⽐例换算成功能点”,具体对应关系是什么我没有查到,希望有知道的童鞋告知⼀下。
问题4:bug率计算公式中的bug数怎么取值?
在看到上⾯的公式后,也许有⼈疑惑:
1. 能很⽅便的统计出新版本变化的代码⾏数吗?
2. 分⼦中的bug数是本次剩余的bug数呢,还是总共的bug数?
3. 如果代码⾏数为总⾏数,那么bug数就应该为总的bug数?即所有bug的和?⽽且如果是总的bug数那么对于后期的仅仅改错的阶段⽽
⾔,可能代码的增加会很少,但是这时bug数会不断增加,这样⼀来,bug率岂不是在不断的升⾼?但是按常理⽽⾔是应该减少的呀,应该越到后期bug率越⼩才对,是不?
4. 或者bug数取剩余的bug总数(上⼏个版本剩余未修改的bug和本版本的新bug)呢?⽽代码⾏数仍然是总的代码⾏数。这样是不是有问
题呢?
解惑:
1、代码统计⼯很多都能做到新旧两个版本对⽐,很容易得到版本变化的代码⾏数.
2-3、那就看你⽤这个度量项来说明什么问题:如果是评价新增代码的质量,那不应该包括以前未解决的Bug,可以⽤“新增的bug数/新增+修改+删除代码⾏数”,如果是当前版本的整个系统的代码质量-----总的bug数/总代码⾏数。
4、这个就是相当于统计bug收敛率了。
问题5:对于迭代⽅式开发的缺陷统计怎么做?
现在有很多项⽬是采⽤迭代的⽅式来进⾏的,每次可能添加的代码部分⽐较少,那如何来计算其bug率呢?是⽤新增的bug数/新增的代码⾏数?还是总的bug数/ 总的代码⾏数?
my opion:
采⽤何种统计策略,还要看该统计项⽬的,如果⽤于评价新开发⼯作的质量,那就不能把原有系统缺陷统计在内;如果不作为评价新的开发⼯作,那就都统计在⼀起(譬如有的只是跟踪版本质量)。
每⼀个统计项都应有它的⽬的,不应该机械地去做统计,还要看设计该统计项的⽬的是什么。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论