軟件開發需要重視對異常的處理

發表于:2010-01-05來源:作者:點擊數: 標簽:軟件開發
軟件 開發 需要重視對異常的處理 軟件測試 軟件系統對異常情況的處理能力屬于“健壯性”的范疇。健壯性是指在異常情況下,軟件能夠正常運行的能力。 健壯性有兩層含義:一是容錯能力,二是恢復能力。容錯是指發生異常情況時系統不出錯誤的能力,對于應用于航

  軟件開發需要重視對異常的處理   軟件測試 

    軟件系統對異常情況的處理能力屬于“健壯性”的范疇。健壯性是指在異常情況下,軟件能夠正常運行的能力。

  健壯性有兩層含義:一是容錯能力,二是恢復能力。容錯是指發生異常情況時系統不出錯誤的能力,對于應用于航空航天、武器、金融等領域的這類高風險系統,容錯設計非常重要。容錯是非常健壯的意思,系統即使發生異常也不出問題。而恢復則是指軟件發生錯誤后(不論死活)重新運行時,能否恢復到沒有發生錯誤前的狀態的能力。從語義上理解,恢復不及容錯那么健壯。

  例如,某人挨了壞蛋一頓拳腳,特別健壯的人一點事都沒有,表示有容錯能力;比較健壯的人,雖然被打倒在地,過了一會還能爬起來,除了皮肉之痛外倒也不用去醫院,表示恢復能力比較強;而虛弱的人可能短期恢復不過來,得在病床上躺很久。

  對用戶來說,軟件出錯是不能容忍的,軟件出錯后還不能快速恢復是更不能容忍的。因此,提高軟件的容錯能力和恢復能力是軟件供應商的義務。

  對軟件開發來說,不僅僅需要在編碼的時候考慮到對異常情況的處理,在軟件開發的整個過程中都需要考慮。在需求分析時,需要分析系統的健壯性需求,甚至對每一個功能需求也需要考慮對異常的處理。在概要設計、詳細設計、編碼的時候需要考慮如何滿足系統的健壯性需求。在單元測試、集成測試、系統測試的時候需要有異常相關的測試用例,并且需要加強對異常情況的測試。

  現實中,軟件開發對異常處理的重視度還不夠,開發人員往往沒有這個意識。我所在的組織就存在這樣的問題。開發人員知道的最多的恐怕就是在函數實現的時候需要對異常情況進行錯誤返回,當然,這并沒有錯,只是這遠遠不夠。比如,錯誤返回后上層函數是否對錯誤進行處理,整個系統是否能夠處理出現的異常,這往往就沒有考慮,甚至有的可能有的認為這不是自己模塊的責任。

  軟件開發人員對可能發生的異常情況不了解也是不重視的原因之一。調查分析在線運行的系統曾經發生過的錯誤是了解異常的途徑之一。

  對于非純軟件系統來說,軟件系統對硬件系統可能出現的異常也需要進行考慮。對不可恢復的硬件問題,軟件至少需要能夠上報告警,通知用戶更換硬件。如果設備除了問題,連軟硬件問題都分不清的話,用戶恐怕對軟件系統也不會有好感。

  總之,在軟件開發過程中,需要重視軟件的健壯性,加強軟件對異常情況的處理,提高軟件系統甚至整個設備系統的健壯性。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97