拼多多现重大Bug被薅羊毛,教科书级别的示范,作为软件测试工程师你知道该怎么避免吗

相信大家周末都被拼多多被薅(普及一下:这个字念hao)羊毛事件给霸屏了,各大主流公众号以及知乎微博都推送了该条消息。
相信各位软件测试工程师的大佬们,都已经在默默的分析这个问题是怎么产生的, 外行人看热闹,内行人需要分析问题。
做测试工作更加需要谨慎,千万不要把这种价值200亿的bug落到自己身上, 不然打工几辈子都是不可能还清的。
这次bug可以说是优惠券引起的血案,之前柠檬班就给大家分享过优惠券的测试的公开课以及文章。
没想到这个周末就让我们碰到了,可以说是这个是教科书级别的bug示范了。

事件回顾:20号凌晨起,拼多多出现了一个超级大bug,用户可以领取100元无门槛优惠券,注意是领取,不是抢购。
专职薅羊毛的人士发现了这个大 bug,因为怕自己涉事金额过大,便把这个领取优惠券的方式广而告之,于是开始了大批量的薅羊毛操作。
20号9点左右拼多多开始把全部的优惠券领取方式全部下架,并且把用户已经领用但并未使用的全部下架,以达到减少损失的目的。
随后广大网友开始去围攻官微,质问为何100元优惠券不能用了!
之前其他平台出现这些bug都是平台自认倒霉自掏腰包来填空,但是拼多多这次损失过大,据不可靠消息,拼多多可能会通过特殊方式召回产品,强制撤销订单。
通过整个事件的回顾,有同学说这个肯定是测试的锅。
其实整个事件,开发/测试/运营/风控一个都跑不了,暂且不说其他岗位的过错,但是站在测试的角度,这个问题其实是可以避免的。
这次优惠券有消息说是因为过期的优惠券出现bug才导致的问题。

02
其实作为软件测试工程师,如果我们可以质量把关严格一点,也许可以避免这个问题。
我们可以从如下几个方面去进行测试分析和质量把控:、

一般对于秒杀的产品或者是大额的优惠券,应该设置一个用户只能购买限定数量的产品或者是限定数量的优惠券。
这样也可以避免出现重大问题,如果做了这个限制,那么也不会出现网传的那种用户疯抢优惠券的情况了,至少可以减少一点损失。

即使用户领用了优惠券,那么限定用户一个产品只能使用一次优惠券或者是一天只能使用一张。
那么即使是拼多多滞后这么多才发现bug也不至于损失这么大。

优惠券使用最基本的一个规则是产品的金额要大于优惠券金额,或者是会自动的判断使用的金额门槛。
如果我们加了这个逻辑判断,那么只有满足门槛金额的产品才能够抵用。
但是有同学会说,这个都是无门槛的了,这个规则无效。
所以无门槛的优惠券,不管是测试同学还是运营同学,都需要注意!不然小手一抖,就黄金万两了!

一般来说实物类的产品可以支持优惠券,不管是什么优惠券都可以。
因为有发货这个操作,那么即使是出现了重大bug,还有时间来做召回处理。
But,虚拟产品千万不要支持优惠券,要千万注意!
比如说QQ币/话费/流量/游戏装备等千万不要支持无门槛的优惠券!
用户使用的时候,应该要提示不可用。
第一:这类产品涉及到第三方召回比较困难,人家第三方平台也不会为了你而得罪用户,追回成本大!
第二:虚拟的产品,一旦交易后马上生效,用户一旦开启使用,就代表虚拟产品的价值开始损失,用户不会赔偿,第三方平台也不会赔偿!背锅的还是你!

我们一般都是默认优惠券过期了就不能用了,我们也常说只有脑子被门夹了才会出现这种情况.
但是不怕一万就怕万一,所以优惠券的期限也是我们测试的一个重点,千万不要小瞧过期优惠券带来的灾难级损失.
作为一个合格的测试工程师,这是我们必须要考虑到的!

对于大流量电商系统,比如淘宝/京东/聚美/拼多多这类型交易流水特别大的平台,应该要对流量异常/风控系统/清算系统设定报警机制。
发现这种交易飙升的高峰,应该马上触发警报,虽然这个不是测试应该管的事情,但是技术管理部门必须要有这种意识,也许有一天你也可以用到!

对于任何上线的功能,不管是旧功能还是新功能,尤其是跟钱挂钩的功能,必须谨慎而又谨慎,想想我们亿级别的网民,就算一人一毛,也能够让公司一不小心倾家荡产!
所以不能小看任何一次上线,虽然背锅的可能会是我们,但是我更希望我们会成为那个拯救bug的hero!

其实任这么多环节何一个人稍微细心点,都会阻止这场年底的薅羊毛盛宴。
虽然也许没有网络传闻的200亿这么夸张,虽然拼多多18年上市可能也不缺钱。
但是作为软件测试工程师,发现bug消灭bug就是我们的天职。
大家如果还有其他要补充的,欢迎在留言区讨论哦
柠檬班希望各位小可爱都不会被拉出去背锅或祭天,希望2019年你会是把控产品质量的hero,为了不被祭天,是时候涨一波技能了!
最后发文本的配套视频:2019年做软件测试工程师吗?一个bug200亿的那种?
https://pan.baidu.com/s/1f1c77FygENOWkC9WVQ4hrg