我的微信号是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:

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

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

关于BUG率的计算和它的实际意义的思考的更多相关文章

  1. 你的leader还在考核你的千行代码Bug率吗?

    管理学大师德鲁克说:你如果你无法度量它,就无法管理它.要想做有效的管理,就很难绕开度量的问题. 软件开发的过程或者技术团队的管理也存在着如何去合理的度量效率的问题.而度量是把双刃剑,度量具有极强的引导 ...

  2. 初级Bug率,随时受不了

    一听到初级Bug这个名字,很多开发工程师都会觉得很头痛,还有那个“初级Bug率”,让人随时受不了. 初级Bug这个概念,在多数缺陷跟踪工具中,是不存在的,可以说是淘宝研发部的特色.初级Bug对应Bug ...

  3. 一次发现underscore源码bug的经历以及对学术界『拿来主义』的思考

    事情是如何发生的 最近干了件事情,发现了 underscore 源码的一个 bug.这件事本身并没有什么可说的,但是过程值得我们深思,记录如下,各位看官仁者见仁智者见智. 平时有浏览园区首页文章的习惯 ...

  4. 从函数计算架构看 Serverless 的演进与思考

    作者 | 杨皓然  阿里巴巴高级技术专家 导读:云计算之所以能够成为 DT 时代颠覆性力量,是因为其本质是打破传统架构模式.降低成本并简化体系结构,用全新的思维更好的满足了用户需求.而无服务器计算(S ...

  5. 关于Haskell计算斐波那契数列的思考

    背景 众所周知,Haskell语言是一门函数式编程语言.函数式编程语言的一大特点就是数值和对象都是不可变的,而这与经常需要对状态目前的值进行修改的动态规划算法似乎有些"格格不入", ...

  6. lcd参数解释及刷新率计算,LCD时序

    一.LCD显示图像的过程如下: 其中,VSYNC和HSYNC是有宽度的,加上后如下: 参数解释: HBP(Horizontal Back Porch)水平后沿:在每行或每列的象素数据开始输出时要插入的 ...

  7. PCB 线路铜皮面积(残铜率)计算的实现方法

    一个多月没更新博客园了,这里继续分享关于PCB工程相关一些知识,做过PCB工程都知道用使用genesis或incam是可以非常方便的计算得到铜皮面积这个参数[下图],但实际这个软件是通过什么算法计算出 ...

  8. <更新日期03-31-2016> 复利计算5.0 <已改进>

    作业要求: 1.客户说:帮我开发一个复利计算软件. 完成复利公式计算程序,并成功PUSH到github上. 客户提出: 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养 ...

  9. 互联网中一些常用指标(PV、UV、蹦失率、转换率、退出率)

    1) PV:PageView  页面点击量,每次刷新就算一次浏览,多次打开同一页面会累加. 通常是衡量网站的主要指标. 2)UV:Unique  Visitor一天内访问网站的人数(是以cookie为 ...

随机推荐

  1. Cocostudio 文章列表

    Cocostudio 文章列表 Cocostudio(1) 容器层的使用- ScrollView ListView PageViewhttp://www.cnblogs.com/TS-qrt/arti ...

  2. 分析sql语句所有表名及其别名的正则表达式

    最近为了 写一个分布式的数据组件构想了很多的方案,最近一个简单易行的方案终于在脑袋里成型.昨晚想到凌晨1点多,发现方案虽简单,但所有的数据库工具就不能使用了 .除非自己写一下查询分析器来执行程序员自己 ...

  3. UVALive 4329 Ping pong(树状数组)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=13895 题意:一条街上住有n个乒乓选手,每个人都有一个技能值,现在 ...

  4. Navicat Premium下sql导入中文乱码解决方案

    今天帮忙朋友找bug的时候,准备导入她数据库里面的数据,所以我就试图在mysql管理工具Navicat下面导入相应的mysql命令.结果发现导入的中文字符全部变成乱码,所以做了如下这种尝试: 在“连接 ...

  5. Kernel Functions for Machine Learning Applications

    In recent years, Kernel methods have received major attention, particularly due to the increased pop ...

  6. SQL Server 2008 R2 下移动数据库的存储位置

    使用场景:1. 该数据库增长的较大,存储磁盘空间不足:   2. 在特定情况下该数据库需要移动到另外一块磁盘上(呵呵...我的情况就是之前的磁盘要还给别人) 步骤: 1. 新建查询 SELECT na ...

  7. 3.使用CXF开发webService

    CXF 简介 关于 Apache CXF Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache ...

  8. WP7系统托盘和应用程序栏

    (一)系统托盘和应用程序栏系统托盘(1)显示系统级别的状态信息(2)Apps能隐藏和显示系统托盘Micosoft.Phone.Shell.SystemTray.IsVisible=true;应用程序栏 ...

  9. Hadoop2.20集群搭建

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等. 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C+ ...

  10. iOS 资源大全

    这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...