1 verification and validation planning 2 software inspection
- Slides: 45
主題 1. 驗證和確認規劃(verification and validation planning) 2. 軟體檢查(software inspection) 3. 自動化靜態分析(automated static analysis) 4. 淨式軟體開發(cleanroom software development)
除錯行程 (Debugging Process)
開發的驗證模型 (V-model of Development)
軟體測試計劃架構 (The Structure of a Software Test Plan) o o o 測試行程(testing process) 需求追蹤(requirement traceability) 測試項目(tested items) 測試排程(testing schedule) 測試記錄程序(test recording procedures) 硬體與軟體需求(hardware and software requirements) o 限制(constraints)
程式檢查 (Program Inspection) o 為文件審查(document review)的正規方法 (formalized approach) o 用來偵測缺失(detect defect)而非更正缺失 (correct defect) o 缺失可能是邏輯錯誤(logical errors)、程式碼 的異常(anomalies in the code),錯誤的可能 情況(erroneous condition)(如未被宣告的變數 (uninitialized variable)),或是與標準不符(non -compliance with standards)
檢查檢核清單 (Inspection Checklist) o 被用來檢查常見錯誤(common error)的檢核清單 (checklist)可用以主導檢查過程(drive the inspection) o 錯誤檢核清單會依程式語言而定(programming language dependent) o 型態檢查(type checking)的功能越弱,檢核清單 就越龐大 o 例如:初始化(initialization)、常數命名(constant naming)、迴圈終止(loop termination)、陣列界限 (array bounds)等
Inspection Checks
檢查速度 (Inspection Rate) o 每小時檢視(overview)約500行敘述(statement) o 在個人準備時,每小時檢視約125行敘述 (statement) o 每小時檢視 90到 125行敘述(statement) o 檢查(inspection)是成本昂貴的行程(expensive process) o 檢查 500行敘述(statement)約花費 40人時
靜態分析檢查 (Static Analysis Checks)
靜態分析階段 o 控制流程分析(control flow analysis) n 檢查多個離開(multiple exits)或進入點(entry points)的 迴圈(loop)、找出無法執行到的程式碼(unreachable code)等 o 資料使用分析(data use analysis) n 偵測未被初始化(uninitialized)的變數、被寫入兩次但 中間未被使用的變數(variables written twice without an intervening assignment)、宣告後未被使用的變數 o 介面分析(interface analysis) n 檢查常式(routine)和程序宣告(procedure)它們使用的 一致性
138% more lint_ex. c #include <stdio. h> printarray (Anarray) int Anarray; { printf(“%d”, Anarray); } main () { int Anarray[5]; int i; char c; printarray (Anarray, i, c); printarray (Anarray) ; } 139% cc lint_ex. c 140% lint_ex. c(10): warning: c may be used before set lint_ex. c(10): warning: i may be used before set printarray: variable # of args. lint_ex. c(4) : : lint_ex. c(10) printarray, arg. 1 used inconsistently lint_ex. c(4) : : lint_ex. c(11) LINT printf returns value which is always ignored 的靜態分析
4. 淨室軟體開發 (Cleanroom Software Development) o 淨室(cleanroom)這名字源自於半導體製造過 程,其理念是缺失避免(defect avoidance),而 非缺失移除(defect removal) o 軟體開發過程基於 n 增量型開發(incremental development) n 正規規格(formal specification) n 使用正確參數(correctness argument)的靜態驗證 (static verification) n 決定程式可靠度(program reliability)的統計測試 (statistical testing)
淨室行程 (Cleanroom Process)
淨室行程的特徵 o 使用狀態轉換模型(state-transition model)的正規 規格(formal specification) o 增量型的開發(incremental development) o 結構化程式設計(structured programming) -使用 有限的控制(limited control)和抽象化結構 (abstraction construct) o 使用嚴格檢查(rigorous inspections)的靜態驗證 o 系統的統計測試(statistical testing)
正規規格和檢查 (Formal Specification and Inspections) o 以狀態為基礎的模型(state based model)是一 個系統規格,檢查過程是根據此模型檢核程 式(check the program against this model) o 程式設計方式(programming approach)很清楚 的定義模型與系統間的關係是否一致 (correspondence) o 使用數學論點(mathematical arguments)(不是 證明(proofs))可增加檢查過程中的信心 (confidence)
參考資料 o Ian Sommerville, Software Engineering, 7 th ed. , Addison-Wesley,2004.
- A software verification and validation method. section 19
- Software verification and validation plan
- Verification and validation plan
- Verification and validation
- Verification and validation
- What is regression testing in software engineering
- Asme v&v 10
- Verification and validation
- Verification and validation
- Verification and validation plan
- Verification and validation
- Is unit testing verification or validation
- Method verification vs validation
- Method verification vs validation
- Software validation example
- Initiating the requirements engineering process
- Software metrics validation
- Data validation software
- Asset verification software
- Peer review walkthrough and inspection in software testing
- Lll 1
- Blown film inspection software
- Software inspection techniques
- Medical gas compliance
- Proactive planning and reactive planning
- Short, medium and long term planning in education
- Corpus planning and status planning slideshare
- Validation and moderation templates
- Ist spring design and validation
- Calibration master plan pdf
- Pega express methodology
- A nested model for visualization design and validation
- Illumination in creative process
- Verification principle strengths and weaknesses
- Shelf rectification and stock verification
- Amr vs crr
- Strategic planning vs tactical planning
- Goal achievement matrix
- Scenario planning workforce planning
- Aggregate planning is capacity planning for:
- List the strategic objectives of aggregate planning
- Examples of aggregate planning
- Request validation bypass
- Validationrule wpf
- Types of process validation
- Twic authentication