今天分享一个面试问题,现在有一个面试场景:
项目计划明天发布,但是在今天你作为测试人员发现了一个严重的bug,市场相关人员又在催发布的事情,这个时候你应该怎么办?
这是测试工程师不管是在面试,还是在工作中都会遇到的问题,今天就来聊聊针对这种情况,测试人员比较好的一个处理方案。
1. 首先,确认Bug。
作为测试人员我们要确认这确实是一个稳定存在的Bug,而不是偶然出现的Bug,可以在其它同事的电脑或相关设备上去再次验证。
我们要确认上一版本是否有同样的Bug,以便知道是当前版本新引入的还是一直未发现被漏测的。
我们要在这个版本的不同环境去确认这个缺陷,比如开发环境、测试环境、预生产环境(staging)等,以便知道环境对这个缺陷的影响。
这些工作除了可以帮我们确认这个Bug外,还可以帮助我们在下一步报告这个缺陷时,为团队提供更多更有用的信息。
2. 接着,报告缺陷。
如果确认了这确实是一个稳定存在的严重Bug,就要尽快通知给相关人员,比如相关开发、项目经理、相关市场人员等,最好能组织一个会议,在会议上把缺陷的各种情况说清楚,除了技术层面的情况,还要讲清楚这个Bug对客户可能产生的影响,方便市场人员对缺陷的判断。
3. 分析缺陷解决的可能性
和开发一起分析这个缺陷是否能在明天上线前解决,这个工作量不止包括开发修复Bug的时间,还要包括修复Bug后测试人员对可能影响到的功能的回归测试的工作量,还要分析修复该缺陷时进行的代码更改带来的新风险。
4. 思考替代方案(workaround)
和团队一起思考可行的替代方案,用户完成一项业务,通常都走流程A,但当前走流程A一定会遇到这个严重Bug导致用户无法完成此业务。如果有另一种方案,比如走流程B,虽然复杂一点但仍然可以完成该业务,这就是一种替代方案,当然还有其它技术层面的替代方案。
有替代方案就会好办很多,如果缺陷在明天上线前无法修复,和相关人员商量后,我们可以把这个缺陷做为已知问题(known issue)对项目进行正常的发布,并确保通知到用户该版本存在的已知问题以及替代解决方案。
5. Bug修复验证
如果缺陷在明天上线前可以修复,测试人员应该立即分析修复此缺陷会影响到的相关功能,并把相关测试用例挑选出来准备好,以便修复完成后可以立即开始测试工作,最大限度地减少进一步的延迟。
如果缺陷无法在明天上线前修复,经团队评估做出了延迟发布的决定,测试人员也应该与开发团队保持密切联系,以便缺陷修复后可以尽快开始验证工作。
6. 经验总结
对于项目上线前才发现的严重Bug要及时进行经验教训的总结。
对于测试人员来说,如果是漏测的bug,一定要及时补充和完善测试用例,并注重同行评审。
另外要评估和调整测试用例执行的优先级,确保影响核心功能的高优先级测试用例被优先执行,确保严重的bug应该在此轮测试的最初时间被发现。如果有自动化脚本,也要调整自动化脚本的执行优先级。
分析开发人员产生此bug的原因,并给予相应的建议,比如增加单元测试覆盖率或者代码审查等。
大家对这个问题是怎么回答的呢?或者在实际工作中是怎么处理的呢?欢迎在下方留言^_^