6.1 系統測試技術
6.1.1 軟件測試基礎
- 定義:軟件投入運行前,對需求分析、設計規格、編碼的複審,目的是發現錯誤。
- 目的:以最少時間和人力找出潛在錯誤和缺陷。
- 原則:儘早持續測試、測試用例含輸入輸出、程序員避免自查、覆蓋合理與異常輸入、執行測試計劃、全面檢查結果、保存測試文檔。
- 測試對象:需求規格説明、設計規格説明、源代碼等文檔。
6.1.2 測試用例設計
- 黑盒測試(功能測試):不考慮程序內部邏輯,基於需求規格説明書,檢測功能、接口、數據結構、性能等錯誤。
- 白盒測試(結構測試):利用程序內部邏輯結構,設計測試用例覆蓋所有邏輯路徑,檢測路徑執行正確性。
6.1.3 測試分類
|
測試階段
|
主要依據
|
測試人員/方式
|
主要測試內容
|
|
單元測試
|
系統設計文檔
|
開發小組/白盒測試
|
接口測試、路徑測試
|
|
集成測試
|
系統設計文檔、需求文檔
|
開發小組/白盒+黑盒測試
|
接口測試、路徑測試、功能測試、性能測試
|
|
系統測試
|
需求文檔
|
獨立測試小組/黑盒測試
|
功能、健壯性、性能、UI、安全性、壓力、可靠性、安裝/反安裝測試
|
|
驗收測試
|
需求文檔
|
用户/黑盒測試
|
功能符合性、用户體驗
|
6.1.4 系統測試常見內容
- 功能測試:驗證功能是否實現、正確實現。
- 性能測試:檢驗性能是否達標、穩定。
- 負載測試:高負載下(大數據量、大訪問量)的功能和性能。
- 壓力測試:系統資源緊缺時的表現。
- 其他:疲勞測試(72小時連續運行)、易用性測試、安裝測試、配置測試、文檔測試、安全測試、恢復測試、迴歸測試等。
6.2 故障注入技術
6.2.1 概念
- 按特定故障模型,人為產生故障施加於待測系統,加速錯誤和失效發生,觀測系統響應,驗證和評價系統。
6.2.2 基本原理
- 試驗步驟:選擇故障模型→執行故障注入→監視系統行為→分析試驗結果。
- 關鍵要素:試驗者(定義故障模型、分析結果)、目標系統(模擬模型或真實原型)。
6.2.3 分類
- 基於硬件的故障注入:接觸式、非接觸式。
- 基於軟件的故障注入:
- 運行時注入:系統運行期間通過注入軟件注入故障,可注入代碼段、內存、寄存器,入侵性大。
- 運行前注入:加載執行前修改程序指令,入侵性小,適用於永久性故障模擬。
- 基於模擬的故障注入:
- 抽象層次:晶體管開關級、邏輯級(固定0/1故障、翻轉故障)、功能級。
- 優點:早期發現設計錯誤、可控性和可觀性高;缺點:仿真時間長。
6.2.4 應用
- 測評驗證:驗證硬件/軟件原型設計實現。
- 生成故障字典:記錄故障與症狀對應關係,輔助故障診斷。
6.3 複雜系統仿真VV&A
6.3.1 定義
- 校核(Verification):保證模型從一種形式高精度轉換為另一種形式(“是否正確建立系統”)。
- 驗證(Validation):保證模型在適用範圍內以足夠精度反映真實世界(“建立的系統是否正確”)。
- 確認(Accreditation):由主管部門和用户對仿真系統特定目的可用性正式認可。
6.3.2 目的與作用
- 目的:增強建模與仿真(M&S)的可信性,提高用户信心。
- 作用:提高用户信心、降低應用風險、提高可重用性、減少開支、指導開發。
6.3.3 過程
- 確定VV&A需求:明確程度、範圍、技術、代理、軟硬件、期限、費用。
- 制定VV&A計劃。
- 概念模型V&V:考查是否符合功能和逼真度需求。
- 設計V&V:確保設計與概念模型一致。
- 實施V&V:比較M&S與原型系統響應差異。
- 應用V&V:檢查軟硬件平台、操作員訓練。
- 可接受性評估:基於判據評估是否可接受。
- 確認:做出可用結論(完全可用、有約束可用、需修改、需附加V&V、不可用)。
6.3.4 仿真系統V&V方法
- 模型校核:
- 誤差源校核:仿真模型簡化誤差、算法截斷/舍入誤差、硬件誤差。
- 程序校驗:非正規方法(概念執行、代碼會審)、靜態分析、動態測試、符號分析、約束分析、理論證明。
- 模型驗證:
- 方法分類:主觀確認法(專家經驗評估)、數理統計法(參數估計、假設檢驗)、時-頻分析法(時間序列、頻譜分析)、動態關聯法(灰色關聯、相關係數分析)。
- 置信區間法:通過樣本數據計算置信區間,判斷模型與實際系統輸出偏差是否在可接受範圍。
- 假設檢驗法:t檢驗、F檢驗、χ²檢驗等,驗證仿真數據與實際數據接近程度。
6.4 複雜系統仿真可信度評估
6.4.1 可信度概念
- 由仿真系統與原型系統相似性決定,與仿真目的相適應的程度,涉及建模和仿真各方面。
6.4.2 常用評估方法
- 層次分析評估法(AHP):
- 步驟:建立遞階層次結構→兩兩比較構造判斷矩陣→計算權重→一致性檢驗。
- 適用:結構複雜、準則多且不易量化的決策問題。
- 模糊綜合評判法:
- 步驟:建立模糊評判模型(因素集、評判集、模糊關係)→確定權重→算子改善→多層次評判。
- 適用:模糊環境下多因素影響的綜合決策。
- 灰色綜合評估法:
- 基於灰色關聯分析,步驟:建立模型→確定權重係數→綜合評估。
- 貝葉斯法:
- 基於Wilcoxon秩和檢驗,定義仿真可信度為採納“仿真與實際信息一致”假設下該假設成立的概率。