缺陷跟踪过程是软件工程中的一个极其重要的过程。本文介绍了如何使用两个经典的分析模型,来控制缺陷跟踪的过程。这两个模型叫做《活动bug走势图》、《bug打开关闭图》。
另外,在文章中还会提到两个概念:“bug收敛”、“零bug反弹”,具体含义会在介绍中说明。
先看张图片,这就是两个模型的分析图片,集成在一个坐标里面了。活动bug走势是一条线,bug打开关闭是柱图,X轴是时间。下面我们详细说说这两个模型的含义。
先要说几个名词解释:
1.活动bug数。状态不是closed的所有bug的总数。活动bug指在项目中还需要大家去关注的bug,有的bug管理工具还有invalid、duplicate状态,这些是不属于活动bug的,但是later的bug,属于活动bug。
2.打开bug次数和关闭bug次数。每新增1个bug或者是reopen一个bug,打开次数都会被记加一。每close一个bug,关闭次数会加一。
说明了这些概念,上面两个模型就比较好理解了。活动bug走势曲线上的每个点,表示当天软件中还存在多少个活动bug。这个数字越大,说明软件的质量越差。而bug打开关闭图中,每天都会有红色、蓝色共两根柱子,表示当天打开、关闭bug的次数,如果当天这两个数字都很高,说明bug的处理非常活跃,软件非常不稳定。注意,活动bug的单位是“个”,而打开关闭的单位是“次”,因此我们用线图和柱图分别表示。
下面讲一下模型的用法。一般的软件测试过程,都有3个阶段,从上面的图中能清楚的看出来。
阶段1:测试组对系统开始进行全面测试,打开bug的速度明显高于关闭bug的速度,活动bug数急速上升,当完成了全部测试用例的执行时,活动bug数达到最大;
阶段2:开发组全力修复bug,测试组一边验证bug,一边小范围的回归测试,验证bug的周边功能。这时,关闭bug的速度高于打开bug的速度,活动bug数回落。当活动bug数刚开始回落的时候,称为“bug收敛”。最终,活动bug会降到一个很低的位置,有时,会达到“零bug ”,不过,这并不说明项目可以发布。
阶段3:测试组再次对软件系统进行一次完整的回归测试。在这个过程,还会打开一些bug,但是,数量很少,这称为“零bug反弹”。完成了这一轮回归之后,软件才真正稳定下来,进入发布候选过程。
所以,我们可以通过这两个模型,来检查项目的测试进展是否正常,软件的质量是否稳定,检查方法如下:
- 如果第二阶段已经开始,但是活动bug仍在继续上升,没有回落,说明打开bug速度仍很高,可能是第一阶段用例执行还没有完成,或者开发组修复bug速度较低;
- 如果第二阶段结束,活动bug没有回落到低水平,说明大量的bug还需要修复,软件质量低;
- 如果第三阶段,打开、关闭bug的次数很多,说明bug活动频繁,系统稳定性差。
因此,正常的项目测试应该是,活动bug先上扬,再回落,最后在低位小幅振荡,并且打开关闭次数很少。有了这两个分析模型,我们对项目进度得控制,就更有把握了。