2013年软件领域因缺陷导致的五大事件

jopen 11年前

        英文原文:Top 5 Software Blunders of 2013

        时间飞逝,农历的 2013 年也快要跟大家说再见了。在软件领域里,2013 年是个不平凡的一年,越来越多的科技产品走进了人们的生活,移动、大数据、云计算的快速发展给许多企业带来了各种机遇和挑战。作为程序员,除了要回顾自己 一年所参与的项目之外,还得了解去年的业内动态、发生过哪些令人深思的互联网事件。

        本文作者总结 2013 年软件领域因软件缺陷导致的五大事件,提醒所有的各位程序员在开发项目时,除了注重功能的实现,还得考虑一些其它因素,例如性能、代码规范等等。下面让我们一起来看下。

2013年软件领域因缺陷导致的五大事件

        1. 美国联航系统免费发放机票

        2013 年 9 月 12 日,美联航售票网站一度出现问题,售出票面价格为0-10 美元的超低价机票,引发乘客抢购。大约 15 分钟后,美联航发现错误,关闭售票网站并声称正在进行维护。大约两个多小时后,该公司购票网站恢复正常,并且承认已卖出的票有效。

        但是事情并没有结束,一个月后,注册常旅卡的用户在取消过程中,只需花几美元即可购买实际价值为几千美元的机票。美联航发飙了,指责发现该 bug 的用户,认为有人“有意”操作网站,因此不承认这些票。通常,软件公司会对发现重大 bug 的用户给予一定的奖励,但这样的事情并未在美联航身上发生。

@united 你不能指责用户在您的网站上的购票行为,即使是使用了“漏洞/缺陷”购票。测试并修复它吧。

— Gregory Mooney (@BearQuality)

        2. Dropbox 宕机一小时

        你在把数据上传到公共云时,你是否担心过数据会被黑客攻击,有一天你无法访问这些数据,虽然很恐怖,但噩梦还是变成了现实。

2013年软件领域因缺陷导致的五大事件

        云端存储解决服务提供商 Dropbox 在 2013 年 5 月份发生了一次宕机事件,事件持续 1 小时,用户无法使用 Dropbox,在页面上显示无法链接服务器。而就在 2013 年,Dropbox 共发生过两次宕机事件,虽然官方回应并非遭到黑客攻击,但仍然引发不少用户的担心。

        现在,越来越多的用户喜欢把数据、资料都上传到云端,因为它实在是备份文件或远程开发、测试软件的一个很好选择。尽管有这些事件发生,但事实上,把数据放在云中远比保存在家庭电脑上安全的多,所以选择一个优秀的云端存储网站/服务商也是非常重要的。

        3. CBOE 事件

        由于发布时间问题,程序员明明知道软件存在一些缺陷,但仍然会发布。对于轻微的软件错误,这倒没什么,但如果该缺陷影响到用户对产品的使用,那发布它,就相当于搬石头砸自己的脚。 

        CBOE(Chicago Board Options Exchange)是美国最大的期权交易所,在 2013 年 4 月,CBOE 因软件故障引起延迟开盘事件,事故从早上8:30 开始,直到中午 12 点才全部开盘。

        导致此事件的缺陷主要源于一个产品维护功能,是由于该功能中针对一个期权类进行标识符号改变而引起的。在事件结束后, CBOE 因监管失败被罚款 600 万美元

        4. FSSA 信息泄露事件

        联邦条例规定,技术的加密和授权主要是用来安全地发送和接收保密信息。然而不幸的是,在 2013 年 5 月, 印第安纳州家庭和社会服务管理局(FSSA)泄露了用户的私人信息,其中包括社会安全号码以及错误的收件人信息,其中大约有 188000 人信息遭到公开。

        FSSA 花了一个月的时间来修复这些错误,并且被公开信息的用户也的确因此受到了影响。现在,不仅用户在使用该系统时会陷入了困境,而且他们更担心个人信息会被陌生人利用或者操作来攻击他们。

        其实,像这种错误应该在数据系统开发和测试过程中就应该快速发现,并且想办法解决,而不是事后才花那么长的时间解决。

        5. Healthcare.gov 灾难

        HealthCare.gov 是美国联邦健康保险交换系统的核心,该网站自 2013 年 10 月 1 日开通运营以来一直遭受各种问题的困扰,比如用户注册失败、浏览器崩溃、性能、数据问题等等。

        承包商表示,他们仅有两周的时间来测试该系统,实际上需要几个月的时间才可以完成,因此,网站崩溃的原因之一便是测试时间太短。更糟糕地是,共和党人试图利用这个原因来解释奥巴马医改系统为什么不能工作。

        事实上,作为典型的政府项目,它失败的原因有很多,Ars 网站便列出了 HealthCare.gov 的七宗罪

  1. 承包商太多,导致最终结构过度复杂;
  2. 整个项目都依赖于 Experian 提供的数据,而无论是政府还是承包商都对数据质量没有发言权,数据出现问题会导致整个网站遭遇问题;
  3. 从未经过时间检验的全新结构;
  4. 需求不断变化,设计不断改变;
  5. 由于需求直到上线最后一分钟还在改,导致网站根本无法进行全面的测试;
  6. 不是逐步增加新特性,网站将全部功能一下子推出,由于没有办法在高负荷下测试网站的性能,政府无法根据测试结果扩建基础设施;
  7. 网站没有有效的方法在多层组件中管理 bug 跟踪,没有方法识别问题的根源。

        总结

        大家每天都在与软件打交道,我们的世界已经整个运行在软件中。但随着市场对软件质量的要求不断提高,软件测试将变得越来越重要。

        同样,从这些事件中我们也应该提高自己的上网安全意识,提高警惕,尤其是输入私人信息时。以上都是国外的一些互联网事件,那么在国内,2013 年又有哪些引起大家关注的事件呢?比如最近讨论比较火的 12306 网站问题、全国 DNS 解析出现大规模故障等事件,大家不妨一起来讨论讨论。

来自: CSDN