程序员人生 网站导航

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

栏目:互联网时间:2014-09-26 13:18:12

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

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


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

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

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

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

2.Dropbox宕机一小时

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


云端存储解决服务提供商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日开通运营以来一直遭受各种问题的困扰,比如用户注册失败、浏览器崩溃、性能、数据问题等等。CSDN研发频道曾对该网站架构进行过具体的分析,大家可以移步过去看看: 传说5亿行代码的Healthcare.gov网站的架构。

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

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

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

总结

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

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

来自:SMARTBEAR

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐