午夜做網站營銷網站的宣傳、推廣與運作
文章目錄
- 1. 概述
- 2. 定義軟件運行剖面
- 2.1 軟件的使用行為建模
- 2.2 輸入域分層
- 2.3 弧上的概率分配
- 2.4 其他注意點
- 3. 可靠性測試用例設計
- 4. 可靠性測試的實施
- 4.1 測試前檢查
- 4.2 注意點
- 4.2 可靠性測試的難點
- 1)失效判斷的主觀性
- 2)計算的錯誤結果不易被發(fā)現(xiàn)
- 4.3 用時間定義的可靠性數(shù)據(jù)
- 4.4 測試記錄包含的信息
- 4.5 測試報告
1. 概述
- 其主要活動:可靠性目標的確定、運行剖面的開發(fā)、測試用例的設計、測試實施、測試結果的分析
2. 定義軟件運行剖面
【擴展】
- 馬爾可夫鏈:
- 是一種隨機過程,它描述了系統(tǒng)在不同狀態(tài)之間的轉移概率
- 系統(tǒng)的未來狀態(tài)僅取決于當前狀態(tài),而與過去的狀態(tài)無關
- 弧:在軟件運行剖面中,用來表示軟件系統(tǒng)在不同狀態(tài)之間轉換的一種抽象
2.1 軟件的使用行為建模
- 建模過程:
- 用
馬爾可夫鏈
將輸入域
編碼為一個代表用戶觀點的軟件使用的狀態(tài)集
- 用
弧
連接兩個狀態(tài),它表示由各種激勵
導致的狀態(tài)轉換 - 將
轉換概率
分配給每個弧
- 用
2.2 輸入域分層
- 兩種類型的分層形式:
- 用戶級分層:依賴于誰能激勵系統(tǒng)
- 用法級分層:依賴于在測試狀態(tài)下,能做什么
2.3 弧上的概率分配
-
分配考慮因素:
- 從現(xiàn)有系統(tǒng)收集到的數(shù)據(jù)
- 與用戶的交談或對用戶進行觀察獲得的信息
- 原型使用與測試分析的結果。
- 相關領域專家的意見。
-
分配方法
-
最佳方法:使用實際的用戶數(shù)據(jù)
如來自系統(tǒng)原型、前一版本的使用數(shù)據(jù);
-
其次:是由該軟件應用領域的用戶和專家提供的預期使用數(shù)據(jù)
-
最差情況(無數(shù)據(jù)情況):將每個狀態(tài)現(xiàn)有的弧分配相同的概率
-
2.4 其他注意點
- 運行剖面的開發(fā)與定義必須充分分析和考慮軟件的實際運行情況
- 軟件可靠性行為是相對于軟件實際的運行剖面而言的
- 同一軟件在不同運行剖面下其可靠性表現(xiàn)可能大不相同
- 剖面上很小比例的操作可能占很大的故障比例
飛機的飛行控制軟件,在正常飛行、起飛、降落、地面運動和地面等待這5個狀態(tài)中,盡管起飛和降落在運行剖面上只占有很小的百分比,但是它們卻占有很大的故障比例。
- 一個產品有可能需要開發(fā)多個運行剖面
- 邊界、躍遷情況、關鍵功能通常單獨定義運行剖面
3. 可靠性測試用例設計
-
測試用例的選擇方法:
- 在運行剖面中的每個元素都定量地賦予一個發(fā)生概率值和關鍵因子
- 根據(jù)這些因素分配測試資源,挑選和生成測試用例
-
測試用例考慮因素:
- 既要有
一般情況
,也應有極限情況
、最大和最小的邊界值情況
易于發(fā)現(xiàn)缺陷
的測試用例和數(shù)據(jù)
- 既要有
-
測試用例的組成部分
- 測試用例標識
- 被測對象
- 測試環(huán)境及條件
- 測試輸入
- 操作步驟
- 預期輸出
- 判斷輸出結果是否符合標準
- 測試對象的特殊需求
-
可靠性測試用例考慮的特殊情況
4. 可靠性測試的實施
4.1 測試前檢查
- 檢查軟件需求與設計文檔是否一致
- 檢查文檔的準確性、完整性以及與程序的一致性
- 檢查所交付程序和數(shù)據(jù)以及相應的軟件支持環(huán)境是否符合要求
4.2 注意點
- 要補充的非統(tǒng)計性測試,需要在可靠性測試之前
- 開發(fā)方交付的任何軟件文檔中與可靠性質量特性有關的部分、程序以及數(shù)據(jù)都應當按照需求說明和質量需求進行測試
- 在項目合同、需求說明書和用戶文檔中規(guī)定的所有配置情況下,程序和數(shù)據(jù)都必須進行測試。
- 獲得更多的可靠性數(shù)據(jù),可使用多臺計算機同時運行軟件,以增加累計運行時間
4.2 可靠性測試的難點
- 其難點是:判斷測試用例的運行是否成功
- 原因如下:
1)失效判斷的主觀性
一般應用系統(tǒng)中,失效的定義較主觀些,它不僅依賴于程序是否符合規(guī)格說明的要求,也取決于指定的性能是否能夠達到用戶的期望。
2)計算的錯誤結果不易被發(fā)現(xiàn)
如:在一些科學計算中,計算結果只能由計算機給出,在這種情況下,如果軟件只是輸出了錯誤的結果而不是整個系統(tǒng)發(fā)生失效,錯誤就不可能被發(fā)現(xiàn)。
- 解決方案一:將測試分成兩個階段進行
- 第一階段運行較少量的測試用例,并對照規(guī)范進行仔細檢查
- 第二階段再運行大量測試用例,僅找出失效現(xiàn)象
- 解決方案二:把輸出記錄到文件中,采用搜索或過濾方法進行處理
- 條件:軟件有足夠的可測試性
- 優(yōu)點:不會遺漏錯誤
4.3 用時間定義的可靠性數(shù)據(jù)
可分為以下四類:
- 失效時間數(shù)據(jù):記錄發(fā)生一次失效所累積經歷的時間
- 失效間隔時間數(shù)據(jù):記錄本次失效與上一次失效間的間隔時間
- 分組時間內的失效數(shù):記錄某個時間區(qū)內發(fā)生了多少次失效。
- 分組時間的累積失效數(shù):記錄到某個區(qū)間的累積失效數(shù)。
4.4 測試記錄包含的信息
- 測試時間
- 含有測試用例的測試說明或標識
- 所有與測試有關的測試結果,包括失效數(shù)據(jù)
- 測試人員。
4.5 測試報告
測試活動結束后要編寫《軟件可靠性測試報告》,對測試用例及測試結果在測試報告中加以總結歸納、剪裁。其內容如下:
- 軟件產品標識
- 測試環(huán)境配置
- 測試依據(jù)
- 測試結果
- 測試問題
- 測試時間