测试中比较郁闷的一件事就是遇到偶现bug。测个10次~20次才难得出来一次,甚至有时几天才会出现一次,真的去复现的时候又不记得自己执行了哪些步骤。所以遇到这样的问题都是比较头疼的。
举个例子:
打开一个论坛,有一个在线人数的信息列表,在测试中会发现偶尔的列表数据不显示。
曾经一度怀疑是不是在那一刻没有人在线,又遇到几次后就发觉不对,不会那么凑巧,几次的没有人在线居然都被自己碰到了,而且虽然别人不在线,自己也在线呀。所以当时肯定是遇到bug了,正在得意自己绩效的时候,发现是偶现的,不太好复现,日志也没有抓,捶胸顿足呀~~~
后来又遇到几次类似的问题,就总结了一下:
第一步:先提交bug
不论是偶现还是必现,遇到bug一定要提交,以作记录,避免后面忙忘记了。(更重要的是为了避免后续在线上由用户发现,造成自己漏测)
第二步:打开日志随时记录
在测试中一定要记得把日志打开,这样即便是偶现的问题也是有日志生成的,提交后也是有日志作为“证据”
第三步:尽量复现
这个就要分析了,可以从以下几个方面入手:
① 请求延迟:本地网络不佳或者服务器网络波动,导致未能及时获取数据
② 异步加载:网络延迟、服务器响应时间太久、处理回调的时间较长影响数据的及时显示
③ 定时器:可能开发写了定时更新或者刷新玩家列表,你刚好在刷新的那一刻点进去
④ 内存泄漏导致:卡顿和响应延迟、刷新频率降低、内存回收等
⑤ 缓存:缓存加载延迟、缓存过期导致显示为空、缓存刷新
大家可以在评论区聊一聊遇到的偶现bug?
END