阿里淘宝的S1级别bug,到底是谁的锅?
3月25日,阿里的淘宝APP在IOS系统上出现BUG:
在打开淘宝APP以后,用户就会收到系统弹窗通知:“您使用的程序是测试/内测版本,将于当地时间2020-03-28到期,到期后将无法使用,请尽快下载最新版本。”

而且,很多网友发现,把手机时间设置为3月28日18时后,淘宝APP仍然会弹跳出一个页面,并提示“您使用的程序是测试内测版本,目前已经过期,请更新到最新版本”。点击确认后,APP会自动闪退,用户无法浏览淘宝页面。
这也就意味着,如果到28号仍然无法修复这个bug,淘宝这个APP将不能再被使用了!所以,事故的严重级别大家应该不言而喻了!

事故发生后,有ios用户声称,在3月24日上午,她登陆淘宝时就发现有该提示,当时她误以为自己的APP版本是测试版,本来准备到应用商店更新至最新版本,结果却发现:她使用的版本就是最新版本。
所以,像该用户的操作也是普遍常规用户的操作思维,因此,此事故让淘宝的卸载率直线上升!!据可靠消息称,APP的卸载率也是被纳入员工绩效考核的一个重要标准,所以,淘宝为此做了紧急处理了:于是用户发现,后来打开淘宝发现了在1s~2s内弹出该提示信息,然后提示框瞬间消失。也就是只能将就着先让它出来,然后给他加一行代码让他快点消失,治标不治本,只是为了从某种程度上减少淘宝APP的卸载量而已。
所以,不管是从事故严重程度,还是从修复的难易程度上来看,这个事故在阿里都属于S1级别,bug级别属于阿里最高P0级别!!!
那么,阿里淘宝如此严重的bug,到底是谁的锅呢?
测试的锅?
可能大家一看到线上bug,自然第一想到的就是测试的锅!没办法,谁让测试是质量的把关者呢?专业背锅几十年,也习惯了。但是,这个事故真的是测试的责任么?
从苹果商店的更新历史可以发现,这个有问题的APP版本(9.5.7)是一周前发布的。

也就是发布之后的一周内都没有问题任何问题,然后代码里有一个“定时器”,到了“3.25”这个日子,就弹出这个alert消息。
所以如果从测试方面找原因的话,测试也是比较委屈的。毕竟任何一个测试也很难想到要去设计用例检查手机的时间并且是遍历今后的每一天吧?万一代码设置的定时器是特定的某个小时、特定的某分钟,再给我100万个测试人员也无法完成的任务。
所以这个锅测试背的是有点冤的!!
开发的锅?运维的锅?
从bug现象来看,比较直观的判断应该是发布的版本不对。 发到苹果商店的应该是正式版本,这个弹框提示信息来看是内部测试版本。
我们从项目流程上来分析一下:
首先,开发编写完代码后提测一个内部版本,测试就是在该内部版本上进行测试,保证功能和非功能的需求都被满足了之后,测试出测试报告告知可以上线了;
然后,由开发将测试版本重新打包为正式版本,基本代码是不再修改的,只是重新换个版本号,不再是内侧版本,而是正式发布的版本号。
最后就是上线了。负责上线的有些公司是开发人员,有些公司是运维人员。
所以,如果真的是发错版本这种低级错误,基本就是开发或者运维人员的责任了!不过,如果不是故意而为之,那么相关的开发或运维人员也太不专业了,这个锅背的一点都不委屈!
对考核制度的报复性行为?
当然,在BUG出现后,坊间有消息称,今天是3月25日,而在阿里有一个潜规则——绩效被打3.25分意味着公司冷处理,连年终奖都拿不到了。因此怀疑是之前的iOS端开发工作人员因为被打了3.25的绩效分数,报复性留下的隐患。那么有意给代码里埋一个“定时雷”,那也是防不胜防,所以很多网友笑称“得罪谁也别得罪开发!”。当然,这个传言被淘宝官微辟谣了:“大家连接WiFi,更新手机淘宝到最新版就好了。”对于上述坊间说法,淘宝官微并没有给出其他解释,仅在网传图片上打上了“纯属谣言”。

不过也不得不佩服淘宝的紧急处理能力,在3.25号8点左右更新了一版本(9.5.15版本),更新后已经解决了这个问题。
后话
这个事故在互联网行业也算起引起了不小的轰动,bug的具体根本原因恐怕也只有淘宝自己知道了,不过可以肯定的是,淘宝整个项目团队相关的人员,肯定都需要为这个事故付出一定的代价。
作为测试从业者除了吃瓜之外,也不禁心里一阵唏嘘。淘宝如此大的团队,都各种新奇bug都层出不穷,以后的测试工作中,恐怕也要让自己的测试思维和测试方法不断与时俱进了!
阿里淘宝的S1级别bug,到底是谁的锅?的更多相关文章
- 淘宝WAP版小BUG分析
前几天发现的一个淘宝WAP版的小BUG,就是用桌面版chrome看的时候产品评价中的图片显示不出来,都是图裂了. 这是什么原因呢?图片为什么会显示不出来呢?淘宝的技术人员.测试人员不可能没发现啊.开启 ...
- 解决淘宝sui插件后退bug
淘宝的sui插件在微信里,第一次访问没有问题,跳转走以后,再后退回来, 插件就无法正常加载. 一下是官方给出的说法 切换到的新页面中的 js 不执行 由于浏览器安全性考虑的限制以及可能的 js 重复执 ...
- thinkphp接收阿里淘宝客数据
坑在于淘宝客api返回的数据对象是SimpleXMLElement Object类型,不转为php的json array类型数据直接扔到thinkphp循环输出中会达不到要的效果,奇奇怪怪的数组,一度 ...
- maven 修改镜像为阿里淘宝源
修改maven根目录下的conf文件夹中的setting.xml文件,(或者当前用户目录 的 .m2 目录下的 setting.xml 文件) 内容如下: <mirrors> <mi ...
- npm 更换阿里淘宝源
执行命令 npm config set registry https://registry.npm.taobao.org/ 查看是否已经更换成功 npm config get registry
- 浅析 阿里 OceanBase 双十一 淘宝天猫 天量交易 承载能力 原理
我们先看看 这 2 篇文章: <秘诀!支付宝支撑双十一4200万次/秒的数据库请求峰值的技术实现> https://mp.weixin.qq.com/s?__biz=MzI3MzEzMD ...
- 淘宝购物车页面 PC端和移动端实战
最近花了半个月的时间,做了一个淘宝购物车页面的Demo.当然,为了能够更加深入的学习,不仅仅有PC端的固定宽度的布局,还实现了移动端在Media Query为768px以下(也就是实现了ipad,ip ...
- 陈思淼:阿里6个月重写Lazada,再造“淘宝”的技术总结
小结: 1. 所谓的中台技术,就是从 IDC,网络,机房,操作系统,中间件,数据库,算法平台,数据平台,计算平台,到业务平台,每一层都有清晰的定义和技术产品. 具体来看,首先,集团技术的分层和每层的产 ...
- 淘宝bug bug bug
手机淘宝(苹果版)出现了一个挺耀眼的bug...... 待评价有九个,如图 点进去评价6个之后,还有三个 再出来,待评价还是有九个. 重新打开,下拉刷新都不能改变
随机推荐
- 通过samus驱动实现基本数据操作
传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(documen ...
- liubo.im
elite-lessons (37) --> 1025 精英水平的道歉 29/10/2016 1027 听大脑说话.给大脑编程 27/10/2016 1022 美国两党政治为什么越来越极化? 2 ...
- SWUST OJ 东6宿舍灵异事件(0322)
东6宿舍灵异事件(0322) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 88 Accepted: 31 Descriptio ...
- js作用域其二:预解析
文章目錄 解析机制 JavaScript是一门解释型的语言 , 想要运行js代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解析(预处理)阶段,在这个阶段JavaScript ...
- HINOC2.0标准介绍(1):概述
本文首发于'瀚诺观察'微信公众号 摘要: 2016年3月18日,国家新闻出版广电总局批准发布了行业标准GY/T 297-2016<NGB宽带接入系统HINOC2.0物理层和媒体接入控制层技术规范 ...
- CentOS7 部署K8S集群,最新版1.17.3-0
小白在网上找了很多关于k8s集群部署的文档,但是版本老旧,到处踩坑,终于部署成功,记录下过程. 一.准备工作 虚拟机:VMware® Workstation 15 Pro Xhell 6:Xshell ...
- 分布式系统一致性问题与Raft算法(下)
上一篇讲述了什么是分布式一致性问题,以及它难在哪里,liveness和satefy问题,和FLP impossibility定理.有兴趣的童鞋可以看看分布式系统一致性问题与Raft算法(上). 这一节 ...
- node跨域方法
第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHeadnode部分 var http = require('http') var url = requi ...
- removeAttribute getAttribute setAttribute
1.removeAttribute() 方法删除指定的属性. 注:removeAttributeNode() 方法从元素中删除指定的属性节点.简单的来讲,removeAttribute() 移除元素内 ...
- Java多态实现的机制
Java提供了编译时多态和运行时多态两种多态机制.前者是通过方法重载实现的,后者是通过方法的覆盖实现的. 在方法覆盖中,子类可以覆盖父类的方法,因此同类的方法会在父类与子类中有着不同的表现形式. 在J ...