阿里淘宝的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个之后,还有三个 再出来,待评价还是有九个. 重新打开,下拉刷新都不能改变
随机推荐
- SpringDataJpa2
1.SpringDataJpa的扩展 - 抽取 创建一个BaseRepository接口然后去继承JpaRepository和JpaSpecificationExecutor 然后在里面写我们自己想要 ...
- IDEA 详细使用教程
第一步:安装 略 安装首先需要Java语言的运行环境,这里不做概述. 第二步:破解 这里使用的是2016版的,所以直接在网上搜索秘钥即可 https://blog.csdn.net/ksksjipen ...
- Python获取内网IP
Python 获取本机内网IP 本文记录使用Python获取本机IP的两种方法. 通过hostname来获取本机IP import socket print(socket.gethostbyname( ...
- Soulwail
XMLHttpRequest 属性解读 首先在 Chrome console 下创建一个 XMLHttpRequest 实例对象 xhr.如下所示: inherit 试运行一下代码. var xhr ...
- 一致性哈希算法(consistent hashing)PHP实现
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简单哈希 ...
- On Fixed-Point Implementation of Log-MPA for SCMA Signals
目录 论文来源 摘要 基本概念 1.SCMA 2.SCMA编码器 研究内容 1.基于Log-MPA的SCMA解码器实现过程 论文创新点 借鉴之处 论文来源 本论文来自于IEEE WIRELESS CO ...
- 使用Vagrant部署虚拟分布式开发和测试环境
同步更新到笔者个人博客,可以访问我的博客查看原文:https://www.rockysky.tech 创建自动化配置开发环境 最近由于最近研究和学习的关系,需要经常配置和搭建多个虚拟机组成的分布式系统 ...
- Spring事务Transactional和动态代理(二)-cglib动态代理
系列文章索引: Spring事务Transactional和动态代理(一)-JDK代理实现 Spring事务Transactional和动态代理(二)-cglib动态代理 Spring事务Transa ...
- PostgreSQL与MySQL对比
都属于开放源码的一员,性能和功能都在高速地提高和增强.MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错 ...
- node跨域方法
第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHeadnode部分 var http = require('http') var url = requi ...