6.容錯設計
提高可靠性的技術一般可以分為兩類,一類是避免故障,在開發過程中,盡可能不讓差錯和缺陷潛入軟件,這類常用的技術有:
算法模型化,把可以保證正確實現需求規格的算法模型化。
模擬模型化,為了保證在確定的資源條件下的預測性能的發揮,使軟件運行時間、內存使用量及控制執行模型化。
可靠性模型,使用可靠性模型,從差錯發生頻度出發,預測可靠性。
正確性證明,使用形式符號及數學歸納法等證明算法的正確性。
軟件危險分析與故障樹分析:從設計或編碼的結構出發,追蹤軟件開發過程中潛入系統缺陷的原因。
分布接口需求規格說明:在設計的各階段使用形式的接口需求規格說明,以便驗證需求的分布接口實現可能性與完備性。
這些技術一般都需要比較深厚的數學理論知識和模型化技術。
另一類就是采用冗余思想的容錯技術。
容錯技術的基本思想是使軟件內潛在的差錯對可靠性的影響縮小控制到最低程度。
軟件的容錯從原理上可分為錯誤分析、破壞程度斷定、錯誤恢復、錯誤處理四個階段。
常用的軟件容錯技術有N-版本技術、恢復塊技術、多備份技術等。
N-版本程序設計是依據相同規范要求獨立設計N個功能相等的程序(即版本)。獨立是指使用不同的算法,不同的設計語言,不同的測試技術,甚至不同的指令系統等。
恢復塊技術是使用自動前向錯誤恢復的故障處理技術。
以上這些技術可參考有關文獻,這里要說的是防錯性程序設計,在程序中進行錯誤檢查。被動的防錯性技術是當到達檢查點時,檢查一個計算機程序的適當點的信息。主動的防錯性技術是周期性地搜查整個程序或數據,或在空閑時間尋找不尋常的條件。采用防錯性程序設計,是建立在程序員相信自己設計的軟件中肯定有錯誤這一基礎上的,有的程序員可能對此不大習慣,因為他可能太相信自己,相信自己的程序只有很少錯誤,甚至沒有錯誤,作為一個項目管理員應該能說服他或者強制他采用這種技術,雖然在設計時要花費一定的時間,但這對提高可靠性很有用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/