錯誤引入軟件的方式可歸納為兩種特性:程序代碼特性,開發過程特性。
程序代碼一個最直觀的特性是長度,另外還有算法和語句結構等,程序代碼越長,結構越復雜,其可靠性越難保證。
開發過程特性包括采用的工程技術和使用的工具,也包括開發者個人的業務經歷水平等。
除了軟件可靠性外,影響可靠性的另一個重要因素是健壯性,對非法輸入的容錯能力。
所以提高可靠性從原理上看就是要減少錯誤和提高健壯性。
三. 提高軟件可靠性的方法和技術
1.建立以可靠性為核心的質量標準
在軟件項目規劃和需求分析階段就要建立以可靠性為核心的質量標準。這個質量標準包括實現的功能、可靠性、可維護性、可移植性、安全性、吞吐率等等,雖然還沒有一個衡量軟件質量的完整體系,但還是可以通過一定的指標來指定標準基線。
軟件質量從構成因素上可分為產品質量和過程質量。
產品質量是軟件成品的質量,包括各類文檔、編碼的可讀性、可靠性、正確性,用戶需求的滿足程度等。
過程質量是開發過程環境的質量,與所采用的技術、開發人員的素質、開發的組織交流、開發設備的利用率等因素有關。
還可把質量分為動態質量和靜態質量。靜態質量是通過審查各開發過程的成果來確認的質量,包括模塊化程度、簡易程度、完整程度等內容。動態質量是考察運行狀況來確認的質量,包括平均故障間隔時間(MTBF)、軟件故障修復時間(MTRF)、可用資源的利用率。在許多實際工程中,人們一般比較重視動態質量而忽視靜態質量。
所定的質量標準度量,至少應達到以下兩個目的:
(1).明確劃分各開發過程(需求分析過程,設計過程,測試過程,驗收過程),通過質量檢驗的反饋作用確保差錯及早排除并保證一定的質量。
(2).在各開發過程中實施進度管理,產生階段質量評價報告,對不合要求的產品及早采取對策。
確定劃分的各開發過程的質量度量:
(1).需求分析質量度量
需求分析定義是否完整、準確(有無二義性),開發者和用戶間有沒有理解不同的情況,文檔完成情況等,要有明確的可靠性需求目標、分析設計及可靠性管理措施等。
(2).設計結果質量度量
設計工時,程序容量和可讀性、可理解性,測試情況數,評價結果,文檔完成情況等。
(3).測試結果質量度量
測試工時,差錯狀況,差錯數量,差錯檢出率及殘存差錯數,差錯影響評價,文檔等,以及有關非法輸入的處理度量。
(4).驗收結果質量度量
完成的功能數量,各項性能指標,可靠性等。
最后選擇一種可靠度增長曲線預測模型,如時間測量、個體測量、可用性,在后期開發過程中,用來計算可靠度增長曲線的差錯收斂度。
在建立質量標準之后,設計質量報告及評價表,在整個開發過程中就要嚴格實施并及時作出質量評價,填寫報告表。
文章來源于領測軟件測試網 http://www.kjueaiud.com/