程序员写了个bug,英特尔损失4.75亿美元,测试该背锅?
有程序的地方,就有bug。作为一名合格的bug架构师,写个程序没bug,都不好意思出来见人。大部分bug会在测试阶段被消灭,然而这些逃脱“法网”的bug,往往成为致命的存在,这不,历史上就有这么几件事,因为一个小小的bug,而造成重大的损失。
一直有一个疑问,假如产品上线了,出现bug了,这锅该谁背?程序员?测试?还是产品?亦或是项目经理?
抓包,指的是通过修改app和服务器之间的通讯数据。
2016,亿美软通公司的程序员,犯了一个极其低级的错误,服务器不对传回的数据,进行有效性验证。于是只有初中学历的王某,就利用了这个bug,多次用1分钱,充值300元话费,总计赚了8990元。最后王某为他的行为付出了代价。
利用漏洞牟利,并不是什么大事,但千万别小看这些“小bug”,历史上,有很多的人为此付出了血的代价。
1991年2月,第一次海湾战争期间,伊拉克发射了一枚飞毛腿导弹,以袭击美军。然而,美国的爱国者导弹系统,并未成功追踪和拦截它,于是28名士兵付出生命代价,100多人因此受伤。
导致128人伤亡事故的,并非是系统故障,而是计算机算法上,一个很不起眼的bug。当时,爱国者导弹系统,每工作1小时,就会产生毫秒级的误差。事情发生时,它已连续工作了100小时,产生了三分之一秒的误差,于是悲剧就发生了。
如今,奔腾处理器已经慢慢淡出了我们的视野,可在二十多年前,奔腾还是主流、1994年,因为浮点单元的分频器中的一个除法表,出现了一个小的bug,在90亿次除法中,会出现一次计算不正确的情况。
于是英特尔公司为用户更换了500万个缺陷芯片,付出4.75亿美元的代价。这件事还有一个小插曲,为了铭记教训,英特尔把这些故障的处理器,做成了钥匙链。
这些事情,不由得让我们引发一些思考,这名让公司损失了4.75亿美元的程序员,该不该为此时负责呢?亦或者测试这件产品的测试员们?还是产品经理呢?