搜狗输入法BUG分析(一):根据bug趋势确定代码稳定性

来源:互联网 发布:nginx ab压力测试 编辑:程序博客网 时间:2024/05/22 16:07

项目在上线前,代码稳定后,测试人员一般会要求开发同学进行代码冻结,测试进行上线前的最后一次回归。

而测试人员是如何评估代码稳定可进入冻结的呢?

代码稳定有三个基本要求:

1. 需求实现完毕

2. 高优先级的BUG完成收敛,收敛到“零BUG”,并且再回归期没有出现“零BUG反弹”。

3. 总Bug趋势收敛,接近“零BUG”状态,“零BUG反弹”在低阈值,


需求实现完毕,一般是通过需求list回归实现的,

那我们又是如何评价BUG趋势收敛到“零BUG”状态的呢?一般情况下可使用BUG趋势图评估BUG是否收敛到“零BUG”状态。

BUG趋势图包含当前未BUG趋势和打开/关闭BUG

未关闭BUG趋势:以时间轴为横坐标,以当前高优先级未关闭BUG数和未关闭BUG总数为纵坐标,进行绘制。

打开/关闭BUG数:以时间轴为横坐标,统计当天打开的bug数(包含新增bug和关闭后又开启的bug)和当天关闭的BUG数。如下图所示:

有了bug趋势图,我们又是如何评估代码稳定的呢?


代码稳定的表现

测试执行阶段:测试组对测试对象开始进行全面测试,新建bug的速度一般高于关闭bug的速度,未关闭bug数急速上升,当完成了全部测试用例的执行时,未关闭bug数达到最大;


Bug修复阶段:开发在全力修复bug,测试一边验证bug,一边bug的小范围的回归。这时,关闭bug的速度高于打开bug的速度,逻辑开启bug数回落。


当未关闭bug数刚开始回落的时候,称为“bug收敛”。最终,未关闭bug会降到一个很低的位置,有时,会达到“零bug ”状态。则可以进行功能回归。


测试回归阶段:测试再次对软件系统进行一次完整的回归测试。在这个过程,还会打开一些bug,但是,代码稳定的版本数量很少,这称为“零bug反弹”。完成了这一轮回归之后,软件代码才真正稳定下来,在这个阶段,高优先级的bug,应该非常少量的反弹,其他bug的“零BUG反弹”也应该是一个较低阈值。


代码不稳的表现和解决方案

测试执行阶段:测试后期,未关闭BUG,斜率没有降低,说明一直在发现大量的新增bug,这种情况需要具体问题具体分析。


如果是需求没实现,或是需求实现的有问题,建议让开发提供一个相对稳定的版本。还有一种情况是测试安排不合理,这种情况需要进行测试安排调整,把容易出现问题的功能,放到前期进行测试


BUG修复阶段:未关闭bug没有回落到低水平,说明大量的bug还需要修复,代码质量还是在不稳定阶段,不适合进行回归。


此时建议和开发一起评估目前存在的问题以及共同研讨修改方案,提供一套稳定的修改方案。


测试回归阶段:打开、新建、关闭bug的次数很多,说明bug活动频繁,“零BUG”状态不稳,代码还未到稳定状态。


可能是前期回归不足、或开发改动影响到不相关的模块了,建议此时加大回归力度,完成回归后,可再进行一次功能回归。



原文链接

如需转载该篇文章,请注明来自“搜狗测试”


0 0