Bug作者:
技术质量部-综合业务-无线互动-士敦
Bug描述
秒杀开始前,PC扫码进入秒杀详情页,秒杀按钮显示“秒杀结束”。
 发现阶段,项目提测阶段。
Bug影响
秒杀活动期间会有大量的请求在秒杀开始前进入秒杀详情被告知“秒杀结束”,造成用户无法接受的用户体验效果,可能会带来大量的投诉(为什么秒杀未开始就提示“秒杀结束”,大忽悠,造成极其恶劣的负面影响)。
Bug发现过程
PC-扫码唤起手机淘宝秒杀详情页--提示“秒杀结束”。(发现时的现象是:不是每次都必现!)

Bug分析

判断1:显示“秒杀结束”,可能是码缓存问题导致。原因:PC二维码,码的缓存是主动失效,生效时间很长。很有可能是同一个宝贝,上一个宝贝已经秒完未失效引起的“秒杀结束”提醒。其在业务上的存在也不合理,与开发PD讨论之后改成:被动生效(后台绑定秒杀宝贝,即刻更新缓存,保证扫码是最新的宝贝)。排除干扰后,依然出现“秒杀结束”,还是偶现,PD决定放弃修改。

判断2:秒杀结束条件:总库存为空,秒杀时间到了,然后总库存为空,秒杀结束。通过review代码,发现IOS是按分钟做判断,客户端时间大于秒杀时间(分钟级别),那么在秒杀前分钟级内进入秒杀详情的都会被判断为秒杀已经开始,然后去请求总库存数(实际秒杀未开始,总库存为空。)总库存为空,判定为秒杀结束。开发将代码改成了按秒级判断。回归,但是还会偶现!偶现频率降低!
判断3:与开发一起review代码,发现代码秒级判断,在秒杀开始前秒级内进入秒杀详情显示:“秒杀结束”!
Bug解决办法:
大于改成大于等于。或者比较的时间改成统一的系统ms级一致的时间。
GBA传承:
1:针对有特性较强的功能测试,可以针对特性进行测试,分析项目bug遗漏的影响面(比如:秒杀涉及交易,并注重推广。所以我们在交易下单减库存和付款阶段加强测试以及让用户能顺利进行秒杀环节,达到推广的目的。)
2:针对链路较长的功能测试,项目前期做好长链路分析,可以借鉴长链路分析,排除干扰,清新明确快速定位问题。
3:不放过任何细小问题,小问题可能会造成大影响。
4:review开发修复bug的代码,有针对性的进行回归测试。
5:不能存任何侥幸心理,要相信开发的能力,但是不敢保证开发不会跟你开玩笑。保持怀疑的态度和清晰的逻辑判断!