一. 第一步 — 评估bug的影响范围
(1)分析bug影响的用户数量
检查bug是否业务核心环节的功能问题,是的话则影响的用户量比较多
(2)分析bug影响的严重程度
检查bug是否涉及到用户的个人信息泄露、资金财产损失等比较敏感的功能,涉及的话则
认为bug比较严重
对于bug影响范围的评估,必须尽可能的快速且准确,因为影响范围和程度会随着时间不
断扩大,及时了解目前的bug影响,可以为后续解决问题提供最适合的指导意见。
二. 第二步 — 解决线上问题
针对线上问题最重要的是要解决,在评估完影响范围后,就需要制定对应的措施来解决问 题并恢复系统的正常使用。
(1)影响范围比较小的bug
了解bug出现的场景,业务操作,努力复现bug
测试人员结合bug出现时的各种日志(系统日志、数据库日志、操作日志、debug日
志),定位bug产生的原因
按照项目规划的发布/升级的时间节点,将bug修复的代码发布到线上,bug解决
(2)影响范围比较大的bug
bug影响范围比较大时,如果还是通过修复bug的方式来解决,对用户的影响或者公司的
损失无法把控,此时最重要的是:将问题范围降到最低。无法明确问题引入原因时,可
以通过回滚版本的方式来规避。部分用户功能可以通过后台配置的方式将功能降级或关
闭,如果是资源不足等性能问题时,可以通过重启系统或者扩容的方式解决,再进一步
观察,以上几种规避问题的方法只是帮助我们争取到时间,规避问题后还是要按照之前
修复bug的方式来定位问题,修复问题,并将修复的代码发布线上,将bug彻底解决。
在实际工作中,我们需要根据bug的影响范围来选取最适当的解决方法,目的只有一个:
将问题影响范围降到最低。
三. 第三步 ——回溯线上问题
当线上问题解决后,我们还需要对问题进行总结回溯,避免同样的问题再次发生。线上
问题回溯主要从如下几个方面进行:
(1)检查其他的业务是否有同类型的问题
有问题的话提前解决,避免遗漏上线
(2)分析bug的根本原因,考虑如何避免此类问题再次发生
分析bug是在哪个阶段引入?是设计阶段、开发阶段、测试阶段?
分析bug引入的原因是什么?是流程问题、技术问题、管理问题?
处理问题的流程是否合理?是否有问题预警、是否有紧急上线规范?
立即下线公司内部开发人员对BUG进行处理并解决测试再根据情况进行测试和迭代测试