




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件可靠性與安全性第七部分軟件可靠性測評提要軟件可靠性建模軟件可靠性測試軟件可靠性評估32133軟件可靠性測試是面向失效的測試方法為了滿足用戶對軟件的可靠性要求, 通過對軟件進行測試, 發現并糾正軟件中的缺陷, 提高軟件的可靠性水平, 并驗證它能否達到用戶可靠性要求的軟件測試方法軟件失效的統計特性IBM關于缺陷與失效的統計研究數據v客戶所看到的客戶所看到的57%以上的失效是由占缺陷以上的失效是由占缺陷總數總數2%以下的缺陷引起的以下的缺陷引起的v超過總數超過總數61%的缺陷只引起低于的缺陷只引起低于3%的客的客戶將會經歷的失效戶將會經歷的失效v不同的缺陷在所引發的失效率上存在高達不同的缺陷在所
2、引發的失效率上存在高達4個數量級個數量級的巨大差異的巨大差異軟件可靠性測試目的驗證軟件可靠性滿足給定的要求 評估軟件可靠性水平 預計軟件可靠性水平 實現軟件可靠性增長 軟件可靠性測試時機軟件可靠性測試與其它測試類型的關系v關注的缺陷類型關注的缺陷類型v測試用例設計的依據測試用例設計的依據建議的軟件可靠性測試時機v軟件系統測試后期軟件系統測試后期軟件可靠性測試類別軟 件 可 靠 性 驗 證 測 試 ( S o f t w a r e Reliability Demonstration Testing)v在軟件確認階段進行,驗證軟件需求規范在軟件確認階段進行,驗證軟件需求規范中軟件可靠性目標的滿足
3、情況,在測試過中軟件可靠性目標的滿足情況,在測試過程中不進行軟件缺陷消除程中不進行軟件缺陷消除軟 件 可 靠 性 增 長 測 試 ( S o f t w a r e Reliability Growth Testing)v在軟件交付前進行,通過可靠性測試暴露在軟件交付前進行,通過可靠性測試暴露軟件缺陷,采取有效地措施排除失效率較軟件缺陷,采取有效地措施排除失效率較大的缺陷,以提高交付軟件的可靠性大的缺陷,以提高交付軟件的可靠性軟件可靠性驗證測試方案無失效運行時間間隔測試 (Failure-Free Execution Interval Test) 定時截尾可靠性驗證測試 (Fixed-Leng
4、th Reliability Demonstration Test) 序貫可靠性驗證測試(Probability-Ration Sequential Reliability Demonstration Test) 序貫可靠性驗證測試演示圖12010862416140246810規格化的單位失效數繼續繼續接受接受拒絕拒絕Fail.No.Mcalls atFailureNormalizedUnits1230.003750.006250.0250.751.25 5 Failure intensity objective: 200 failures / Mcalls軟件可靠性測試方法用系統的預期使用域
5、作為模型來指導測試用例的選擇或生成v基于操作剖面的可靠性測試方法基于操作剖面的可靠性測試方法v基于使用模型的可靠性測試測試基于使用模型的可靠性測試測試根據失效等級、功能使用頻度和重要性來測試軟件, 可對各種使用條件建模v正常使用情況正常使用情況v危險使用情況危險使用情況(高安全軟件高安全軟件)v惡意使用情況惡意使用情況(特殊安全需求特殊安全需求)基于操作剖面可靠性測試方法用操作剖面描述軟件的使用分層建立操作剖面v客戶剖面客戶剖面(CP, Customer Profile)v用戶剖面用戶剖面(UP, User Profile)v系統模式剖面系統模式剖面(SP, System mode Profi
6、le)v功能剖面功能剖面(FP, Function Profile)v操作剖面操作剖面(OP, Operational Profile)每個操作對應若干個運行 剖面的定義二維向量的集合,定義為:vProfile = (item1,p1), (item2,p2), , (itemn,pn)vitemi代表剖面中所包含的互不相交的元素中的一代表剖面中所包含的互不相交的元素中的一個個, 有有:item1item2itemnvpi代表第代表第i個元素的權值或是發生的概率個元素的權值或是發生的概率, 有有:11niip建立客戶剖面CP = (c1, pc1),(c2, pc2),(cn, pcn)為客戶
7、剖面中的用戶構建用戶剖面vUPc1=(u1,pc1_u1),(u2,pc1_u2),(um,pc1_um)vUPc2=(u1,pc2_u1),(u2,pc2_u2),(um,pc2_um)vvUpcn=(u1,pcn_u1),(u2,pcn_u2),(um,pcn_um)建立用戶剖面對相同類型的用戶進行合并, 若用戶ui有m個同類, 則用戶ui出現的概率為:得到用戶剖面vUP = (u1,pu1),(u2 pu2),(um pum)njcjuicjuippp1_建立操作剖面同理, 可以得到系統模式剖面、功能剖面和操作剖面vSP = (s1,ps1),(s2,ps2),(sn,psn)vFP =
8、 (f1,pf1),(f2,pf2),(fn,pfn)vOP = (o1,po1),(o2 po2),(on,pon)操作剖面實例確定操作模式確定操作的發起者選擇表示方法(表格/圖形)創建操作表確定出現率確定出現概率考慮特殊情況操作表例子操作發起者操作發起者操作操作用戶用戶電話號碼輸入電話號碼輸入系統管理員系統管理員增加用戶增加用戶刪除用戶刪除用戶電話網電話網處理語音呼叫,無尋呼,有應答處理語音呼叫,無尋呼,有應答處理語音呼叫,無尋呼,無應答處理語音呼叫,無尋呼,無應答處理語音呼叫,有尋呼,有應答處理語音呼叫,有尋呼,有應答處理語音呼叫,有尋呼,有對尋呼的應答處理語音呼叫,有尋呼,有對尋呼的應
9、答處理語音呼叫,有尋呼,無對尋呼的應答處理語音呼叫,有尋呼,無對尋呼的應答處理傳真呼叫處理傳真呼叫系統控制器系統控制器審計電話號碼數據庫審計電話號碼數據庫恢復硬件失效恢復硬件失效操作出現頻率操作操作出現率出現率(每小時操作數每小時操作數)電話號碼輸入電話號碼輸入10000增加訂戶增加訂戶50刪除訂戶刪除訂戶50處理語音呼叫,無尋呼,有應答處理語音呼叫,無尋呼,有應答18000處理語音呼叫,無尋呼,無應答處理語音呼叫,無尋呼,無應答17000處理語音呼叫,有尋呼,有應答處理語音呼叫,有尋呼,有應答17000處理語音呼叫,有尋呼,有對尋呼的應答處理語音呼叫,有尋呼,有對尋呼的應答12000處理語音
10、呼叫,有尋呼,無對尋呼的應答處理語音呼叫,有尋呼,無對尋呼的應答10000處理傳真呼叫處理傳真呼叫15000審計電話號碼數據庫審計電話號碼數據庫900恢復硬件失效恢復硬件失效0.1操作出現概率操作操作出現概率出現概率電話號碼輸入電話號碼輸入0.10增加訂戶增加訂戶0.0005刪除訂戶刪除訂戶0.0005處理語音呼叫,無尋呼,有應答處理語音呼叫,無尋呼,有應答0.18處理語音呼叫,無尋呼,無應答處理語音呼叫,無尋呼,無應答0.17處理語音呼叫,有尋呼,有應答處理語音呼叫,有尋呼,有應答0.17處理語音呼叫,有尋呼,有對尋呼的應答處理語音呼叫,有尋呼,有對尋呼的應答0.12處理語音呼叫,有尋呼,無
11、對尋呼的應答處理語音呼叫,有尋呼,無對尋呼的應答0.10處理傳真呼叫處理傳真呼叫0.15審計電話號碼數據庫審計電話號碼數據庫0. 009恢復硬件失效恢復硬件失效0.000001準備測試用例估計當前版本所需新測試用例的數量通過隨機選取測試的操作, 為每個操作對應若干個運行 在被測系統之間分配新測試用例的數量在每個系統的操作之間分配新測試用例的數量指定新的測試用例將新測試用例加入測試用例集充分性準則依據可靠性要求和評估的置信度確定的執行數量測試剖面和操作剖面吻合需求的覆蓋操作剖面特點優點v通過分解,可以處理規模較大的系統通過分解,可以處理規模較大的系統v測試用例的規模較均勻測試用例的規模較均勻不足
12、v測試執行缺乏連續性測試執行缺乏連續性v高使用概率的功能被重復測試高使用概率的功能被重復測試軟件可靠性測試方法基于使用模型的可靠性測試測試v用用Markov鏈描述軟件的使用鏈描述軟件的使用v結構構造和統計分配結構構造和統計分配v依據依據Markov模型上每個狀態出邊所關聯的模型上每個狀態出邊所關聯的遷移概率,通過遍歷使用模型的狀態可以遷移概率,通過遍歷使用模型的狀態可以生成測試用例生成測試用例Markov模型未激活未激活終止終止準備準備狀態狀態1狀態狀態2狀態狀態3狀態狀態4S,1.00G,0.50B,0.30R,0.20G,1.00A,0.50B,0.40R,0.10R,0.30C,0.25
13、D,0.50E,0.25F,0.70建立Markov模型用Markov鏈描述軟件的使用v結構構造結構構造v統計分配統計分配結構構造微波爐空閑全功率開半功率開時間設定不可運行可以運行計時運行烹調完成全功率全功率半功率半功率全功率全功率半功率半功率定時定時定時定時定時定時開門開門關門關門開門開門關門關門開始開始T0超時超時開門開門統計分配微波爐空閑全功率開半功率開時間設定不可運行可以運行計時運行烹調完成全功率全功率,0.50半功率半功率,0.50全功率全功率,0.25半功率半功率,0.25定時定時,0.75定時定時,0.75定時定時,0.45開門開門,0.20關門關門,0.35開門開門,0.10關
14、門關門,1.00開始開始T0,0.90超時超時,0.98開門開門,0.02生成測試用例通過觸發當前狀態上的事件, 完成期望的動作, 產生狀態轉移, 來遍歷使用模型, 生成測試用例遍歷使用模型時, 依據當前狀態上每個出邊所關聯的遷移概率, 來確定需要觸發的事件確定需要觸發的事件時, 需要同時考慮防護的作用充分性準則依據可靠性要求和評估的置信度確定的執行時間測試剖面和操作剖面吻合滿足對狀態圖的覆蓋要求狀態圖覆蓋要求所有狀態至少訪問一次所有事件至少觸發一次所有轉換至少遍歷一次(包括隱含)所有基本路徑至少覆蓋一次(循環)對防護(Guard)進行測試(MMC/DC、邊界)Markov模型特點優點v便于自
15、動化便于自動化v每次測試都是新的每次測試都是新的不足v狀態圖的空間爆炸問題狀態圖的空間爆炸問題v以正常測試為主以正常測試為主對使用模型的改進對于操作剖面v采用分類剖面刻畫:功能剖面、數據剖面、采用分類剖面刻畫:功能剖面、數據剖面、環境剖面環境剖面對于Markov模型v多層狀態圖多層狀態圖對使用模型的改進將UML用于刻畫使用模型對UML進行改進, 加入統計分布特征用例圖與類圖、狀態圖、時序圖等相結合, 刻畫嵌入式軟件的各種運行特性, 用于指導測試設計測試過程控制準則軟件的每一個版本必須在唯一的統計實驗中進行檢測v一個版本的數據只能用于評估該版本的可一個版本的數據只能用于評估該版本的可靠性靠性v不
16、同版本的數據可用于描述測試過程不同版本的數據可用于描述測試過程對不同的測試版本,應保持規格說明、環境狀況、性能評估依據的一致性測試用例應該像被生成時那樣使用, 不能在測試集合中再挑選測試準備測試用例準備v估計當前版本所需新測試用例的數量估計當前版本所需新測試用例的數量v在被測系統之間分配新測試用例的數量在被測系統之間分配新測試用例的數量v在每個系統的操作之間分配新測試用例的在每個系統的操作之間分配新測試用例的數量數量v指定新的測試用例指定新的測試用例v將新測試用例加入測試用例集將新測試用例加入測試用例集測試過程準備測試執行分配測試時間按次序執行測試標識系統失效v分析測試輸出的偏離分析測試輸出的
17、偏離v確定哪些偏離是失敗確定哪些偏離是失敗v估計失效出現的時間估計失效出現的時間測試記錄的考慮測試決策可靠性驗證測試可靠性增長測試特殊情況v失效數據計算失效數據計算v缺陷掩蓋問題缺陷掩蓋問題加速測試有效測試與無效測試v通過測試分類優化測試用例集通過測試分類優化測試用例集稀有操作和關鍵操作v非稀有關鍵操作非稀有關鍵操作v稀有非關鍵操作稀有非關鍵操作v稀有關鍵操作稀有關鍵操作稀有關鍵操作處理基于功能重要度等級分類測試v重要功能具有高的可靠性要求重要功能具有高的可靠性要求, 需要提升需要提升測試量測試量混合測試的解決方法v組合或縮減稀有操作組合或縮減稀有操作v根據操作的關鍵程度加權處理操作剖面根據操
18、作的關鍵程度加權處理操作剖面v按照關鍵類別將操作分類按照關鍵類別將操作分類v為稀有關鍵操作分配指定數量的測試用例為稀有關鍵操作分配指定數量的測試用例提要軟件可靠性建模軟件可靠性測試軟件可靠性評估32133軟件可靠性建模基本情況基于對軟件失效特征的理解, 建立軟件可靠性模型, 試圖量化軟件可靠性自1970年代以來, 已經開發了超過200種模型, 但是在軟件可靠性定量評價方面仍然遺留著大量未解決的問題沒有一個適應所有情況的單一模型, 也沒有任何模型是完備的, 甚至是典型的建模的目的預測達到規定目標還需要多少測試時間預測測試結束時軟件的期望可靠性建模的基本思想測試時間失效強度目標值預計完成時間當前時
19、間當前值說明失效過程對影響它的主要因素的通用依賴形式影響失效的主要因素缺陷引入缺陷消除操作環境失效的隨機性變量的值不確定, 有許多可能的值, 每個值都有相應的發生概率精確值不可預知, 平均值和離差是可知的不與特定的概率分布相聯系受測試強度和使用剖面等因素的影響軟件失效的統計特性時間時間失效率失效率硬件硬件軟件軟件(理論理論)軟件軟件(實際實際)模型的應用預計模型估計模型使用時機開發早期開發早期測試運行期測試運行期使用目的初始可靠性和失效率初始可靠性和失效率連續可靠性評價連續可靠性評價失效數據不依賴不依賴依賴依賴輸入數據過程或產品數據過程或產品數據失效數據失效數據輸出數據缺陷密度,總缺陷數缺陷密
20、度,總缺陷數全部可靠性相關度量全部可靠性相關度量模型性質靜態靜態動態動態推斷方法直接換算直接換算直接可測直接可測實 時 性早期早期晚期晚期精 確 度不確定不確定更好更好模型的典型構成模型假設模型因素數學函數v描述可靠性與因素之間的關系描述可靠性與因素之間的關系v通常為高階指數或對數通常為高階指數或對數模型參數估計方式參數評估v通過系統失效數據進行統計推導通過系統失效數據進行統計推導參數預計v根據軟件產品屬性和開發過程確定參數根據軟件產品屬性和開發過程確定參數值值模型參數估計方法估計類別v點估計點估計v區間估計區間估計估計方法v最大似然法最大似然法v最小二乘法最小二乘法v貝葉斯法貝葉斯法Limi
21、tLimit模型的評價論斷的有效性v基于當前數據基于當前數據, 預測失效行為的能力預測失效行為的能力能力v模型預測精確度能達到管理者、工程師、模型預測精確度能達到管理者、工程師、用戶要求的能力用戶要求的能力模型假設的質量可應用性簡單性模型的一般特性隨機過程有缺陷清除和無缺陷清除確定參數模型分類時間域(Time domain)v日歷時間日歷時間v執行時間執行時間類型(Type)v到指定時間發生的失效數分布到指定時間發生的失效數分布模型分類類別(Category)v在無限時間內發生的失效數量是有限的還在無限時間內發生的失效數量是有限的還是無限的是無限的v對于有限失效,用類對于有限失效,用類(Cla
22、ss)表示,是失表示,是失效強度的時間函數形式效強度的時間函數形式v對于無限失效,用族對于無限失效,用族(Family)表示,是失表示,是失效強度的預期出現失效數的函數形式效強度的預期出現失效數的函數形式有限失效模型舉例 類型類泊松二項式其他指數Musa(1975)Moranda (1975)Schneidewind (1975)Goel-Okumoto (1979)Jelinski-Moranda (1972)Shooman (1972)Goel-Okumoto(1978) Musa(1979)Keiller等等(1983)WeibullSchick-Wolverton(1973)Wagon
23、er (1973)C1Schick-Wlverton(1978)ParetoLittlewood (1981)GammaYamada-Ohba-Osaki(1983)無限失效模型舉例 類型族T1T2T3泊松幾何Moranda (1975)Musa-Okumoto (1984)線性倒數Littlewood-Verrall (1973)多項式倒數(二次)Littlewood-Verrall (1973)冪Crow(1974)模型應用的考慮沒有普遍適用的可靠性增長模型可靠性增長與具體應用相關使用多個增長模型擬合觀測數據, 選取與數據最匹配的模型提要軟件可靠性建模軟件可靠性測試軟件可靠性評估32133
24、評估過程 檢查數據 用模型擬合數據 預測模型參數 確定擬合模型 評價模型的合理性 進行可靠性評估檢查數據研究數據特征v數據類型數據類型(失效數、失效間隔失效數、失效間隔)v時間單位時間單位(小時、天、周、月等小時、天、周、月等)v數據跟蹤系統數據跟蹤系統v數據可靠性數據可靠性利用散點圖(Scatter Diagram)分析數據統計規律調整時間單位, 減小數據噪聲的影響用模型擬合數據基于對測試過程、數據、模型假設的理解來選擇擬合的模型基于對數據統計趨勢的分析選擇擬合模型盡量選擇多個模型觀察在不同時間周期模型的擬合程度預測模型參數根據數據的性質確定使用的方法v點估計點估計v區間估計區間估計考慮使用
25、軟件工具輔助確定擬合模型使用預測參數, 替換選擇模型的參數值進行反復擬合試驗得到針對數據集的擬合模型評價模型的合理性進行擬合程度檢驗vKolmogorov-Smirnov擬合度檢驗擬合度檢驗D(n)=Maxx(|F*(x)-F(x)|)進行可靠性評估根據選擇的模型進行可靠性評估根據其他可得到的信息, 評價預測的合理性v類似產品的真實情況類似產品的真實情況v相同產品的前一個版本實際情況相同產品的前一個版本實際情況v開發團隊的主觀評價開發團隊的主觀評價推薦模型基本執行時間模型(Musa, 簡稱: 基本模型)對數泊松執行時間模型(Musa-Okumoto, 簡稱: 對數模型)推薦模型的基本假設 失效
26、是獨立的, 并且被遇到的概率是均勻分布 測試空間覆蓋了使用空間(測試從完整的使用輸入集中選取) 每個運行的輸入集是隨機選取的 所有的失效有明確的定義并易于觀察 導致失效的缺陷立即被修正, 否則重復出現的失效不計算在內基本模型001)(0vev()010()0e00R(|) e0e001e00對數泊松模型1ln1)(0()0e1)(00R(|) 010()11/兩種模型失效強度比較()00平均預期失效數 失效強度 ()對數泊松模型基本模型: 失效強度0: 初始失效強度: 在給定時間點上失效的總平均數v0: 在無限時間范圍內總失效數兩種模型失效強度比較()00執行時間 失效強度 ()基本模型對數泊
27、松模型: 失效強度0: 初始失效強度: 執行時間v0: 在無限時間范圍內總失效數兩種模型平均失效數比較()v0基本模型基本模型對數泊松模型對數泊松模型: 執行時間: 在給定時間點上失效的總平均數v0: 在無限時間范圍內總失效數模型參數參 數模 型基本模型 對數模型初始失效強度初始失效強度00失效強度變化失效強度變化總失效數總失效數0失效強度衰減率失效強度衰減率模型參數預測(1/3) 初始失效強度0 v0 K0 總失效數0 v0 0 /B 失效強度衰減率模型參數預測(2/3) 程序的線性執行頻率 v 程序的平均執行率程序的平均執行率/ 目標指令數目標指令數I 缺陷暴露率Kv導致失效的導致失效的“
28、程序段程序段”所占的時間比所占的時間比模型參數預測(3/3) 固有缺陷數0 v缺陷播種缺陷播種v通過測試確定缺陷密度,參照軟件規模、通過測試確定缺陷密度,參照軟件規模、復雜度,根據經驗公式推算復雜度,根據經驗公式推算v利用過程質量水平數據利用過程質量水平數據 缺陷衰減因子Bv缺陷減少數缺陷減少數/出現的失效數出現的失效數數據處理示例 總失效數: 136 失效時間(CPU秒)數據v3, 33, 146, 227, 342, 351, 353,444, 556, 571, 709, 759, 836 ., 88682 處理v將失效數每將失效數每5個分為一組,獲得失效強度、個分為一組,獲得失效強度、
29、累計累計失效分布和平均失效時間累計累計失效分布和平均失效時間v制表制表v繪圖繪圖數據表累計失效數累計失效數累計時間累計時間失效強度失效強度時間時間53420.014620171.00105710.021834456.50159680.012594769.502019840.0049211476.002530980.0044882541.003050490.0025634073.503553240.0181825186.504063800.0047355852.004576440.0039567012.0050100890.0020458866.5055109820.00559910535.5060125590.00317111770.50失效強度圖示()評估實例1(基本模型)題:假定程序在無限的執行時間里將經歷100次失效, 在最近的 t 時間單位期間, 發生50次失效。初始失效強度為10 次失效/CPU小時。計算當前(在t) 的失效強度:解:HourCPUfailuresv51005
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備聯鎖安全管理制度
- 設計主管績效管理制度
- 設計公司裝修管理制度
- 評估人員崗位管理制度
- 診所打針日常管理制度
- 診所藥品追溯管理制度
- 試述護理文件管理制度
- 財政公司宿舍管理制度
- 貨物公司安全管理制度
- 貨運現場安全管理制度
- 北京市建設工程施工現場安全生產標準化管理圖集(2019版)
- 《卵巢囊腫蒂扭轉》課件
- 《面部美容穴位》課件
- DB32-T 419-2010海蜜二號厚皮甜瓜栽培技術規程
- 《電磁場的邊界條》課件
- 2025年福建泉州水務集團招聘筆試參考題庫含答案解析
- 中國電信外呼培訓
- 2024-2030年中國金剛石鋸片行業市場分析報告
- 利用新媒體技術加強農村科普教育的傳播力度
- 辦公耗材售后服務承諾書
- 電商新秀CEO聘用合同
評論
0/150
提交評論