190 likes | 211 Views
CH. 10 品質與測試. Outline . 前言 品質考量 非執行時期的測試 測試(執行時期的測試) 測試計畫 - 訂房系統 總結. 前言. 品質的優劣覺得軟體的價值 測試是一項整體的軟體程序與行動 任何一個開發階段都需要測試來驗證正確 測試不僅可以做為軟體驗證的行為,對於日後的改良也大有幫助 測試分為兩種: 非執行時期的測試 執行時期的測試. 品質考量. 品質正確的意涵是指性質上的優越性 軟體開發者較注意軟體功能的正確性 品質對於軟體工程的目標: 是否符合軟體規格的定義 開發的過程是否應用正確的方法
E N D
Outline • 前言 • 品質考量 • 非執行時期的測試 • 測試(執行時期的測試) • 測試計畫-訂房系統 • 總結
前言 • 品質的優劣覺得軟體的價值 • 測試是一項整體的軟體程序與行動 • 任何一個開發階段都需要測試來驗證正確 • 測試不僅可以做為軟體驗證的行為,對於日後的改良也大有幫助 • 測試分為兩種: • 非執行時期的測試 • 執行時期的測試
品質考量 • 品質正確的意涵是指性質上的優越性 • 軟體開發者較注意軟體功能的正確性 • 品質對於軟體工程的目標: • 是否符合軟體規格的定義 • 開發的過程是否應用正確的方法 • 利用SQA( Software Quality Assurance)團隊來執行
品質考量-軟體品質的保證 • SQA團隊的責任: • 確認產品的正確性 • 確認軟體發展過程的品質 • 產品的正確性於各個階段進行測試驗證 • 產品開發過程的程序符合標準 • SQA必須兼顧軟體發展程序中的品質與整個產品的品質
品質考量-管理方面的獨立 • SQA團隊與發展者方面的管理必須獨立 • 最高管理者的兩項抉擇: • 開發的管理人員決定發佈有錯誤的程式 • SQA要求進行除錯與修復而延遲軟體的發佈 • 軟體開發團隊中,有一定比率的SQA人員,對於軟體開發能帶來較大利益
品質管理-ISO對品質的建議與規範 • ISO/IEC9126定義了六項品質特性: • 功能性:目的、正確、連結、標準適合、安全 • 可靠性:成熟、缺點容許、可回復 • 使用性:理解、學習、運用 • 效率性:實行效率、資源效率 • 維護性:可解析、可變更、可試驗、安定 • 移植性:環境適應、移植作業、規格基準、置換
非執行時期的測試 • 由負責規格文件的人來檢視自己的文件是不明智的—有盲點產生 • 由不同專長的專家來審查比較容易發現錯誤 • 審查的動作: • 排演(walk-through) • 檢視(review)
非執行時期的測試-排演 • 排演的團隊最好有各方面的代表,並且是資深的技術人員(其中必須包含SQA人員) • 過程中必須閱讀整份文件,並產生兩份文件: • 審查者不懂的部分 • 審查者認為不正確的部分
非執行時期的測試-排演 • 排演團隊領導者負責帶領找出錯誤,但不需要修正,應由專業人員進行 • 並非所有錯誤都是真正的錯誤,必須進行分析後才進行修正 • 仔細分析後決定是否修正,才可以避面造成更多錯誤
非執行時期的測試-排演 • 排演的審查有兩種: • 由審查成員為主軸 • 已文件為主軸 • 排演的審查是團體的互動,討論與釋疑可以促進軟體的品質 • 文件為主軸的審查技術以被描述於”IEEE Standard for Software Reviewer and Audits”(IEEE,1988)
非執行時期的測試-檢視 • 標準的檢視五個步驟: • 整份文件瀏覽 • 準備 • 檢驗 • 修訂 • 確認 • 檢視流程需要至少四人:主持者、系統設計者、程式撰寫者和測試人員
測試(執行時期的測試) • 一般的基本測試:已知的作業環境,已知的合理輸入資料… • 軟體實際的運作情形比上述嚴苛太多,常有未知的環境與資料,因此存在很多未知的問題 • 真正的測試除了在已知條件下進行,也要考慮可能的未知環境或資料
測試-測試的基本方法 • 測試的兩種基本方法: • 白箱測試(white box testing)-以程式本身內容為導向 • 黑箱測試(black box testing)-以程式功能為導向(不理會程式內容如何撰寫)
測試-白箱測試 • 敘述涵蓋 • 決策涵蓋 • 條件涵蓋 • 決策/條件涵蓋 • 多重條件涵蓋 • 全面路徑涵蓋
測試-黑箱測試 • 等價分割:針對有效與無效的輸入值來測試 • 邊界值分析:在輸入的邊界值如x>=0用x=0及x=-1進行測試 • 決策輔助表分析 • 錯誤揣測 • 實際運用
測試-軟體行為特性的測試 • 功能性:功能是否符合規格 • 可靠性:由平均故障間隔(mean time between failure) • 強健性:有效輸入產生非預期結果的可能,及無效輸入時帶來影響的接受度 • 效能性:確認在不同環境下的效能表現是否正常
測試-正確性的測試與模組測試 • 規格定義的輸入與輸出是否正確,臨界值是否能夠正確運作 • 常見問題:民國0年(錯誤的數值) • 模組測試(參考9.1節) • 單元測試 • 整合測試
測試計畫 • SQA團隊針對進行測試與品質維護,定義一份測試計畫 • 測試計畫書: • 單一測試文件計畫書(Single Test Plan, STP) • 方針測試計畫書(Master Test Plan, MTP)與詳細運作測試計畫書(Detail Test Plan, DTP)