2013年軟件領域因缺陷導致的五大事件
英文原文:Top 5 Software Blunders of 2013
時間飛逝,農歷的 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 日開通運營以來一直遭受各種問題的困擾,比如用戶注冊失敗、瀏覽器崩潰、性能、數據問題等等。
承包商表示,他們僅有兩周的時間來測試該系統,實際上需要幾個月的時間才可以完成,因此,網站崩潰的原因之一便是測試時間太短。更糟糕地是,共和黨人試圖利用這個原因來解釋奧巴馬醫改系統為什么不能工作。
事實上,作為典型的政府項目,它失敗的原因有很多,Ars 網站便列出了 HealthCare.gov 的七宗罪:
- 承包商太多,導致最終結構過度復雜;
- 整個項目都依賴于 Experian 提供的數據,而無論是政府還是承包商都對數據質量沒有發言權,數據出現問題會導致整個網站遭遇問題;
- 從未經過時間檢驗的全新結構;
- 需求不斷變化,設計不斷改變;
- 由于需求直到上線最后一分鐘還在改,導致網站根本無法進行全面的測試;
- 不是逐步增加新特性,網站將全部功能一下子推出,由于沒有辦法在高負荷下測試網站的性能,政府無法根據測試結果擴建基礎設施;
- 網站沒有有效的方法在多層組件中管理 bug 跟蹤,沒有方法識別問題的根源。
總結
大家每天都在與軟件打交道,我們的世界已經整個運行在軟件中。但隨著市場對軟件質量的要求不斷提高,軟件測試將變得越來越重要。
同樣,從這些事件中我們也應該提高自己的上網安全意識,提高警惕,尤其是輸入私人信息時。以上都是國外的一些互聯網事件,那么在國內,2013 年又有哪些引起大家關注的事件呢?比如最近討論比較火的 12306 網站問題、全國 DNS 解析出現大規模故障等事件,大家不妨一起來討論討論。
<span id="shareA4" class="fl"> </span>
</div>