你的位置:首页 > ASP.net教程

[ASP.net教程]BUG数量和项目成本


  在说BUG数量对项目成本的影响之前,首先说下软件测试流程,本人所在的公司使用的是maintis作为跟踪BUG的工具,使用其他的工具,对BUG测试流程没有影响

具体流程如下,

  1. 测试员执行测试用例
  2. 测试员如果发现BUG,在mantis上记录BUG信息,同时将信息转给项目经理
  3. 项目经理浏览BUG记录,把相应的BUG转给对应的开发人员
  4. 程序员按照maintis记录的内容,执行测试用例,确认是否有BUG
  5. 程序员修改BUG
  6. 程序员修改BUG结束后,更新mantis上的BUG状态
  7. 测试员验证已修复的BUG
  8. 测试员关闭BUG状态

 

 

 

 

 

 

 

 

 

 

 

 

 

  

  根据流程图可以发现,测试组发现的BUG和程序员自己发现并修改BUG(绿色),流程会多6个节点(紫色)。每个节点对工作量的影响有多少呢?或许有人会说,这些紫色部分消耗时间很少,1到2分钟最多5分钟能完成,理论上是这样。如果你读了《人件》这本书,关于时间碎片和工作流的介绍(阅读本人《不要随意打断别人的工作》文章),你将知道每一项工作在开始之前都会有工作切换的时间损耗,2分钟的工作或许你的切换和思考进入另一种工作流的时间也需要2分钟,那么每个流程节点或许需要5分钟。也就是说经测试组发现的BUG比程序员自己发现BUG,要多消耗30(5x6)分钟的公司人力成本。

  你是否有了解你所在的公司,2个程序员3个月开发周期的小项目,有多少个BUG呢?50,70,还是100个?CMMI3的BUG率是2.39‰(每千行代码2.39个BUG)来计算,BUG数是50个左右。实际上你所在的公司不会少于50个,可能在70-100甚至更多。我们不讨论因为程序员的能力不足造成的BUG,这种BUG无法避免,也不是可以短期解决的。这70-100个BUG,其中有20-50个或许是比较低级的,程序员稍微仔细点就可以发现的BUG,比如界面错误等等。这些BUG将投入600(30X20)到1500(30X50)分钟,相当于2-4天的公司人力成本。那1年下来,就是8-16天人力成本。如果公司有5个开发小组,则1年的额外人力成本是40-80人天。因为程序员的疏忽或不好的开发习惯,放大到整个公司1年就会增加2-4人月的成本,注意这个人力本是可以避免的。

   写到这里不是说程序员不能出现BUG,BUG率越低,对程序员的要求以及单元测试的要求也越高,而是不要出现低级错误。交付测试组前做好单元测试,不要把测试工作全部依赖测试组,更不要把测试组作为你的专职测试员。项目经理可以把好最后一关,再交付给测试组。