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 過程
  1. 確定VV&A需求:明確程度、範圍、技術、代理、軟硬件、期限、費用。
  2. 制定VV&A計劃。
  3. 概念模型V&V:考查是否符合功能和逼真度需求。
  4. 設計V&V:確保設計與概念模型一致。
  5. 實施V&V:比較M&S與原型系統響應差異。
  6. 應用V&V:檢查軟硬件平台、操作員訓練。
  7. 可接受性評估:基於判據評估是否可接受。
  8. 確認:做出可用結論(完全可用、有約束可用、需修改、需附加V&V、不可用)。
6.3.4 仿真系統V&V方法
  • 模型校核:
  • 誤差源校核:仿真模型簡化誤差、算法截斷/舍入誤差、硬件誤差。
  • 程序校驗:非正規方法(概念執行、代碼會審)、靜態分析、動態測試、符號分析、約束分析、理論證明。
  • 模型驗證:
  • 方法分類:主觀確認法(專家經驗評估)、數理統計法(參數估計、假設檢驗)、時-頻分析法(時間序列、頻譜分析)、動態關聯法(灰色關聯、相關係數分析)。
  • 置信區間法:通過樣本數據計算置信區間,判斷模型與實際系統輸出偏差是否在可接受範圍。
  • 假設檢驗法:t檢驗、F檢驗、χ²檢驗等,驗證仿真數據與實際數據接近程度。

6.4 複雜系統仿真可信度評估

6.4.1 可信度概念
  • 由仿真系統與原型系統相似性決定,與仿真目的相適應的程度,涉及建模和仿真各方面。
6.4.2 常用評估方法
  • 層次分析評估法(AHP):
  • 步驟:建立遞階層次結構→兩兩比較構造判斷矩陣→計算權重→一致性檢驗。
  • 適用:結構複雜、準則多且不易量化的決策問題。
  • 模糊綜合評判法:
  • 步驟:建立模糊評判模型(因素集、評判集、模糊關係)→確定權重→算子改善→多層次評判。
  • 適用:模糊環境下多因素影響的綜合決策。
  • 灰色綜合評估法:
  • 基於灰色關聯分析,步驟:建立模型→確定權重係數→綜合評估。
  • 貝葉斯法:
  • 基於Wilcoxon秩和檢驗,定義仿真可信度為採納“仿真與實際信息一致”假設下該假設成立的概率。