2020 年 3 月 25 日,一个索然无味的的星期三,阿粉日常打开手机淘宝,看看有什么需要买的。然后阿粉就看到了下面的提示:
刚看到这个阿粉本来还觉得很奇怪,自己什么时候参加淘宝 TestFlight 内测计划?
“可能有些小伙伴对 TestFlight 不太熟悉,阿粉这里解释一下:TestFlight 是苹果公司帮助开发者分为 Beta 版软件的应用,开发者可以通过 TestFlight 邀请用户参与参与版本内测。通过这种方式可以在 App 正式上线 appstore 之前,提前收集一些用户使用反馈,为之后的正式版本做准备。
打开 TestFlight 并没有发现参与记录,招呼几个身边的小伙伴打开淘宝,所有使用 ios 的小伙伴都复现这个问题,而使用安卓的小伙伴却没有这个问题。
针对这个问题,淘宝官方微博 09:11 分发布回应:
当大家都以为这只是一个小问题的时候,网友测试反馈,只要将手机时间调整到提示的 2020-03-28日,手机淘宝就会无法使用。再次打开时,淘宝 App 将会显示异常退出页面,甚至账号无法登录。
图片来自网上
中午的时候,阿粉再打开手机淘宝,查看一下这个问题是否被修复。可惜并没有,弹窗还是会出现,只不过很快就会被自动关掉。
下午一两点的时候,阿粉再打开发现已经没有这个弹窗,不过这个问题还是没有被修复。淘宝通过技术手段,在打开手机淘宝时,快速自动关闭弹窗,让我们感知不到这个弹窗。网友通过录屏软件,还是能复现这个弹窗。
由于这个问题影响面太大,再加上今天这个特殊的日期 3.25,网上流传一张图片,传言之前被打 3.25 ios 开发故意报复性留下隐藏 BUG。
可能有些小伙伴不知道 3.25 是什么东西。简单来说这是阿里一种考核方式,员工如果连续两次拿 3.25 就将会被劝退。
img
不过很快淘宝官方发布回应辟谣,并且紧急在 AppStore 更新最新版本的应用,只要版本更新到 9.5.15,问题最终被解决。
IMG_6894
还没更新的小伙伴,赶紧更新了,不然等到 28 那天,还真不能用了。
虽然问题解决了,但是这次问题影响面这么广,想必内部问题定级肯定会高,可能是 P0 级。心疼手淘 ios 开发跟测试,很多人会背上 3.25。
tempImage1585146549572
不得不说,我们今天又一次见证了历史!
对于今天的问题,作为后端开发,阿粉可能并没有什么发言权。
不过生产问题日常开发中我们也会经常遇到,阿粉仔细想了一下,也许我们可以从三方面出发,减少生产问题。
事前
对于生产发布的需求,一定要制定规范的流程,包括需求评审,设计评审,测试用例评审,代码交叉 Review 等。
千万不要觉得以上流程繁琐,一旦设计在源头就是错误的,下面工作就是白费功夫。另外代码交叉 Review 非常重要,开发一般都会对自己的代码过分自信,往往觉得不就改了几行么,肯定没问题的。殊不知,不自觉就写了 Bug。
所谓当局者迷旁观者清,通过旁人代码 Review,就可以发现这类问题。
另外还需要建立一套完整的自动化测试流程,方便测试新功能,快速回归老功能。防止改动一个新功能点,从而引起新的 Bug。
事中
即使事前做的再完美,意外也总会发生。当问题发生时,不要慌张,根据应用日志,系统监控一点点排查问题。记住千万不要想着先甩锅!
另外建立一套自动发布系统也非常重要,关键时刻,快速回滚回应用的上一个版本记录。
事后
最后解决完问题,不要想着就结束了,我们还需要复盘问题。复盘的目的不是为了分锅,而是为了充分吸取这次的经验教训,排查整个发布过程中一些漏洞,并且提出相应改进措施,持续追踪,不断改进,也是为了避免后续小伙伴们再踩坑。
最后
愿以后不会有 3.25!!!