回想让你最有成就感的bug是什么?你是如何发现这个bug的?
上周我们的讨论话题是最让你有成就感的bug:
话题: 回想让你最有成就感的bug是什么?你是如何发现这个bug的?
话题描述: 作为软件测试工程师,你肯定发现了无数让你感到兴奋和骄傲的bug。回想下让你最有成就感的一个bug,并且你是怎么发现这个bug的呢?说不定你发现问题的思路正好可以帮助到其他人。
大家讨论分享的结果
实际参与讨论的人不多,我这里主要分享下我自己碰到的三个印象特别深的bug,前两个是在手淘工作时出现的,最后一个是在宇通工作时出现的。
由使用zipFile不当造成的bug
手淘Android底层框架是Atlas(已经开源,在github上可以找到),当时是安全部门的同事想要对我们打的patch包进行安全性验证,但是patch包经常不能正常安装加载(正常情况下,重启手淘即可生效)。
于是开启了漫长的找问题之路,因为Atlas相当于是一个sdk,所以主要靠debug代码,一步步的跟进看哪里出问题了。印象特别深刻,排查了一个星期,都没有找到问题的真正原因,只是猜测解压缩patch包时,出现了问题,但是看代码ZipFile的使用也看不出来具体问题是什么。
最终一个同事突然说,自己单独写一个zipFile压缩文件的例子,来验证api本身是否有问题。结果神奇的是例子可以运行正常,然后再和Atlas里面的代码做比对,结果发现在使用zipFile解压缩文件时,读和写使用了同一个zipFile。最终造成patch包在本地解压时总是出现错误,从而手淘不能正常的加载patch包。
所以大家碰到无法解决的难题时,可以换个思路,说不定会有意外的收获。
双十一红包活动,服务上线的坑
在2015年双十一时,手淘有个红包活动叫裂变红包,当时是我负责测试的。当时为了在线上环境验证红包逻辑,服务端同学设置了红包金额是0.01元,但是展示的是100倍,也就是1元。
验证没有问题,正常发版等待活动入口放开,等到双十一前几天预热期间活动上线的头两个小时,突然很多用户反馈,提示红包是100元,但是只到账了1元钱(正常的金额是1元、5元、10元,所以有用户就领到了100元、500元、1000元)。
惊出一身冷汗,这可是会造成资损的,难道是测试时有逻辑没测到?
手淘是非常诚信的,所有领到100元、500元、1000元红包的用户,都按照红包面额进行发放,因此造成了很大的资损。后来在做盘点时才发现,是开发部署服务时,有一台机器没有部署成功,所以还用的之前的测试逻辑(红包面额扩大100倍)。
这给了我们一个警示:要敬畏生产环境,一定不能将测试的逻辑为了测试发布到线上,否则,有可能会引起巨大的灾难。
ios app升级之后,出现crash
当时我们团队负责对接公司所有的app,记得很清楚,我们组一个妹子,晚上8点多还在加班测试,最后上架苹果应用商店,但是等到通过审核之后,有用户直接返回,更新完crash了,没办法用了。
首先赶紧先下架我们的应用,接着是安抚客户,好在更新的人还不多。最后就是查找问题,发现开发对数据库结构做了变更,但是没有最好兼容,造成更新之后app就崩掉了。
接着就是解决问题,重新上架应用市场,在之后的复盘会上,我们达成两个共识:
- 开发之后所有的变动,必须邮件通知到测试和产品。
- 测试需要完善自己的回归用例库,同时ios一定要使用testflight进行验证之后,才能上线(之前一直比较懒,没开展)。
通过这个bug,也让我时刻保持警惕:要敬畏生产包,脑袋里时刻装着质量意识。
写在最后
最近的每周话题,参与的同学比较少,可能大家最近刚复工,都比较忙。我自己是希望能打造一个非常好的讨论和交流的氛围,这样每个人才能在讨论中有所收获和进步。
什么样的话题你最感兴趣?什么样的话题你会参与讨论?什么样的话题你比较关注?欢迎给我留言,或者微信跟我联系,我会有针对性的挑选对应的话题。