1 / 19

CH. 10 品質與測試

CH. 10 品質與測試. Outline . 前言 品質考量 非執行時期的測試 測試(執行時期的測試) 測試計畫 - 訂房系統 總結. 前言. 品質的優劣覺得軟體的價值 測試是一項整體的軟體程序與行動 任何一個開發階段都需要測試來驗證正確 測試不僅可以做為軟體驗證的行為,對於日後的改良也大有幫助 測試分為兩種: 非執行時期的測試 執行時期的測試. 品質考量. 品質正確的意涵是指性質上的優越性 軟體開發者較注意軟體功能的正確性 品質對於軟體工程的目標: 是否符合軟體規格的定義 開發的過程是否應用正確的方法

clove
Download Presentation

CH. 10 品質與測試

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CH. 10 品質與測試

  2. Outline • 前言 • 品質考量 • 非執行時期的測試 • 測試(執行時期的測試) • 測試計畫-訂房系統 • 總結

  3. 前言 • 品質的優劣覺得軟體的價值 • 測試是一項整體的軟體程序與行動 • 任何一個開發階段都需要測試來驗證正確 • 測試不僅可以做為軟體驗證的行為,對於日後的改良也大有幫助 • 測試分為兩種: • 非執行時期的測試 • 執行時期的測試

  4. 品質考量 • 品質正確的意涵是指性質上的優越性 • 軟體開發者較注意軟體功能的正確性 • 品質對於軟體工程的目標: • 是否符合軟體規格的定義 • 開發的過程是否應用正確的方法 • 利用SQA( Software Quality Assurance)團隊來執行

  5. 品質考量-軟體品質的保證 • SQA團隊的責任: • 確認產品的正確性 • 確認軟體發展過程的品質 • 產品的正確性於各個階段進行測試驗證 • 產品開發過程的程序符合標準 • SQA必須兼顧軟體發展程序中的品質與整個產品的品質

  6. 品質考量-管理方面的獨立 • SQA團隊與發展者方面的管理必須獨立 • 最高管理者的兩項抉擇: • 開發的管理人員決定發佈有錯誤的程式 • SQA要求進行除錯與修復而延遲軟體的發佈 • 軟體開發團隊中,有一定比率的SQA人員,對於軟體開發能帶來較大利益

  7. 品質管理-ISO對品質的建議與規範 • ISO/IEC9126定義了六項品質特性: • 功能性:目的、正確、連結、標準適合、安全 • 可靠性:成熟、缺點容許、可回復 • 使用性:理解、學習、運用 • 效率性:實行效率、資源效率 • 維護性:可解析、可變更、可試驗、安定 • 移植性:環境適應、移植作業、規格基準、置換

  8. 非執行時期的測試 • 由負責規格文件的人來檢視自己的文件是不明智的—有盲點產生 • 由不同專長的專家來審查比較容易發現錯誤 • 審查的動作: • 排演(walk-through) • 檢視(review)

  9. 非執行時期的測試-排演 • 排演的團隊最好有各方面的代表,並且是資深的技術人員(其中必須包含SQA人員) • 過程中必須閱讀整份文件,並產生兩份文件: • 審查者不懂的部分 • 審查者認為不正確的部分

  10. 非執行時期的測試-排演 • 排演團隊領導者負責帶領找出錯誤,但不需要修正,應由專業人員進行 • 並非所有錯誤都是真正的錯誤,必須進行分析後才進行修正 • 仔細分析後決定是否修正,才可以避面造成更多錯誤

  11. 非執行時期的測試-排演 • 排演的審查有兩種: • 由審查成員為主軸 • 已文件為主軸 • 排演的審查是團體的互動,討論與釋疑可以促進軟體的品質 • 文件為主軸的審查技術以被描述於”IEEE Standard for Software Reviewer and Audits”(IEEE,1988)

  12. 非執行時期的測試-檢視 • 標準的檢視五個步驟: • 整份文件瀏覽 • 準備 • 檢驗 • 修訂 • 確認 • 檢視流程需要至少四人:主持者、系統設計者、程式撰寫者和測試人員

  13. 測試(執行時期的測試) • 一般的基本測試:已知的作業環境,已知的合理輸入資料… • 軟體實際的運作情形比上述嚴苛太多,常有未知的環境與資料,因此存在很多未知的問題 • 真正的測試除了在已知條件下進行,也要考慮可能的未知環境或資料

  14. 測試-測試的基本方法 • 測試的兩種基本方法: • 白箱測試(white box testing)-以程式本身內容為導向 • 黑箱測試(black box testing)-以程式功能為導向(不理會程式內容如何撰寫)

  15. 測試-白箱測試 • 敘述涵蓋 • 決策涵蓋 • 條件涵蓋 • 決策/條件涵蓋 • 多重條件涵蓋 • 全面路徑涵蓋

  16. 測試-黑箱測試 • 等價分割:針對有效與無效的輸入值來測試 • 邊界值分析:在輸入的邊界值如x>=0用x=0及x=-1進行測試 • 決策輔助表分析 • 錯誤揣測 • 實際運用

  17. 測試-軟體行為特性的測試 • 功能性:功能是否符合規格 • 可靠性:由平均故障間隔(mean time between failure) • 強健性:有效輸入產生非預期結果的可能,及無效輸入時帶來影響的接受度 • 效能性:確認在不同環境下的效能表現是否正常

  18. 測試-正確性的測試與模組測試 • 規格定義的輸入與輸出是否正確,臨界值是否能夠正確運作 • 常見問題:民國0年(錯誤的數值) • 模組測試(參考9.1節) • 單元測試 • 整合測試

  19. 測試計畫 • SQA團隊針對進行測試與品質維護,定義一份測試計畫 • 測試計畫書: • 單一測試文件計畫書(Single Test Plan, STP) • 方針測試計畫書(Master Test Plan, MTP)與詳細運作測試計畫書(Detail Test Plan, DTP)

More Related