测试:为什么你的bug越改越多?
发布时间:2020-10-30

为什么你的改Bug之路漫长而又艰辛?


为了能够减少二次Bug率,一般组织都有一套Bug跟踪流程用来确保Bug修改的正确性。


下面是一个典型的Bug跟踪流程。


登记Bug -> 原因分析 -> 修改方案 -> 影响性分析 -> 修改 -> 测试 -> 测试组再测试。


这个Bug跟踪流程基本上会有一个较高的Bug率,我的经验显示,这个流程的二次Bug率在20%左右,即每修改10个Bug,其中有2个可能没修改完全或者是引起新的Bug。


于是,一个改进的Bug跟踪流程出现了。


登记Bug -> 原因分析 -> 修改方案 -> 方案确认 -> 影响性分析 -> 修改 -> 修改代码确认 -> 测试 -> 测试组再测试。


这个新的流程改进时认为,修改方案没有经过确认是造成二次Bug的重要原因,并且,修改后的代码应该经过代码复查。


但是这个修改后的流程应用后的二次Bug率仍然在20%左右,甚至有抬高的迹象。


于是,一个更新的改进流程出现了。


登记Bug -> 原因分析 -> 修改方案 -> 方案确认 -> 影响性分析 -> 影响性分析确认 -> 修改 -> 修改代码确认 -> 测试用例书写 > 测试 -> 测试组再测试。


因为,过程改进人员认为,影响性分析不足是Bug没有发现的原因之一,并且,测试范围没有留下必备的文档以便确认。


但是这个修改后的流程应用以后,二次Bug率仍然没有得到改善。


于是,大家认为,不是流程的问题,是人的问题。


bug率出现原因是什么呢?


原因1:从第一个流程开始,之所以二次Bug率很高的原因的确是开发组的测试不充分。


原因2:而测试不充分的原因,有时间压力的成分,但是另外一个重要的原因是影响性分析不足之外。而影响性分析不足的原因是——这不是人力办得到的。几乎高手也不可能分析的很全面。这才是改进了三个流程都没有达到效果的主要原因。


原因3:还有一个原因是测试只是执行了部分用例。这也是为什么即使测试组全面测试通过以后交给客户还会被发现Bug的重要原因。


既然明白这两个重要原因,那么流程的改进方式就不能是延长流程。延长流程不仅没有改进效果,并且还造成工时浪费,交货期延长等问题。


所以,最终制定的有效改进方案是,采用自动测试,每个Bug修改的时候都要进行全部测试用例回归。


这样之后,二次Bug率(指交给测试组验证)降到几乎为0(因为有些测试只能采用人工确认)。


自动测试的执行时间随着项目的规模不同而不同,但是整体上来讲,Bug确认的工时降低了大约80%。


文章来源:博客园  作者:史蒂芬.王  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理

相关阅读
/