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