软件评估---Bug的价值(生产过程分析)

来源:互联网 发布:苹果加密软件 编辑:程序博客网 时间:2024/04/29 16:02

    一个bug从open到fix-pending,在到fixed,或者中间再经历其他的状态,最后close掉,从产生到消亡,QA和DEV都付出了不少的心血。所以我认为,这个心血也是Bug价值的一个衡量。所以bug价值 = QA的付出 + DEV的付出。

    Bug产生的位置和隐含性,都会体现思维量,需要思考的过程复杂,逻辑性强的话,这个bug的价值应该会大一点。从我们EC 5.0来看吧,page部分,用户用浏览器将要求的page的URL传给apache server, 一般的请求是一个html, php, 或javascript的综合page. Apache 处理server端代码(一般是php),将html和javascript的page代码丢给浏览器,在客户端运行。如果bug只出现在html和javascript的代码中,就是说只在client出现问题,不牵涉到php的部分,那么它也比较容易发现和修改。对QA和DEV来说都挺简单,花的代价也不大,初级测试员就应该按testcase走简单的就能发现,DEV也能很快解决。如果Bug的位置是在php代码里面的话,它可能要复杂的多,毕竟所有数据库的查询修改的工作都在php里完成的,发现起来可能也比较困难,而且修改的也有风险。特别是一个功能要调用几个php的page,几个php的page都对数据库有修改时候,就是低内聚高藕合的性质功能块。这种bug难发现,也难改!QA和DEV都要付出挺高的代价的。一个bug的修改如果要牵涉到两个以上page的php代码的时候,风险和代价都会成倍增加的。


    QA和DEV的付出怎么来量化计算呢?怎么把付出的心血折算成价值呢?肯定还是要细分其中做了那些事来衡量的。分成下面几个过程来看吧!

//发现bug的价值
    发现一个bug这个过程,是测试员在测试时思考得出的一个结果,肯定是有价值的。做黑盒测试,测试员输入原数据然后验证结果。Page上的原数据输入大都是鼠标的点击操作和文本的键盘输入,有大量的testcase来覆盖基本的功能。目前感觉上testcase是都是覆盖基本功能的,对系统测试时还是需要测试员的个人经验为主。用testcase来发现的bug和用经验来发现的bug它们的价值肯定也不一样哦!用testcase的便宜,用经验加临场思考的当然价值会高一点。能力是有leader评估的,能力的体现就是薪水。呵呵,当然往往能力和薪水的差异都挺大。这样而言的话,发现一个bug的价值和测试水平相关了,这样我就没有办法得出结论了。测试水平的衡量挺困难的,估计大家都是用感性来评估的。下次看看能不能把测试水平分级,如果一个bug需要高级别的测试水平才能测出来的话,价高,只需要低级别的测试水平就能发现的bug,当然价低。

//发现产生bug原因的价值
    一直感觉在CC以后,DEV的工作效率是建立在QA的工作效率上的。QA报了bug后,一般会提供足够的信息,让DEV发现bug的具体位置,相应的代码块。因为产品太大了,复杂度高,都是很多DEV合作开发。一个bug出来后,往往要经过几个人的周转才到相应的修改的DEV手里,这个DEV再找出bug产生的原因来修改自己的代码块。这个过程,好象是要需要一般是靠提高流程的效率和QA的技术水平来解决的。如果,QA足够强悍,他在发现bug的时候,已经发现了产生bug的原因的话,在QAforum里有分析的话,这个bug很快会流到DEV手里,DEV也会很快定位代码,做详细的分析来修改。

//修改bug的价值
    一个bug的修改是DEV在做的,暂时无法了解DEV内部的工作机制的详情。无法估价。

结论:内部生产过程看bug的价值: 发现bug的价值 + 发现产生bug原因的价值 + 修改bug的价值。 其中发现产生bug原因的价值一般QA做黑盒测试会弱很多,这部分价值一般都是在DEV的那边。如果要提高QA的实力的话,显然要大大提高QA的技术水平的。