1. 程式人生 > 其它 >軟體質量管理期末複習

軟體質量管理期末複習

第一章 軟體質量和軟體測試概述

  1. ISO/IEC 25010中定義的軟體產品質量模型包括下列的八個質量特性(掌握)

    • 功能性:特定條件下提供滿足規定和功能需求的程度

    • 效能效率:一定條件使用的資源消耗率

    • 相容性:系統可以和其他產品交換資訊

    • 易用性:系統實現特定目標的有效和滿意程度

    • 可靠性:系統在指定環境下且在指定時間內執行功能的程度

    • 安全性:產品或系統保護資訊的程度

    • 可維護性:表示修改系統可以使得改進或者適應環境的有效性

    • 可移植性:系統可以從一個軟體、硬體或者作業系統轉移到另一個系統的有效程度和效率。

  2. 軟體錯誤、缺陷和失效(掌握)

    • 錯誤:發生錯誤的原因有很多,例如時間壓力,缺乏經驗或技能不足的專案參與者,新的技術不成熟,對系統內和系統間介面的誤解

    • 缺陷:計算機軟體或程式中存在的某種破壞正常執行能力的問題,錯誤或隱藏的功能缺陷。缺陷的存在會導致軟體產品在某種程度上不能滿足使用者需求。

    • 失效:如果執行了存在缺陷的程式碼,可能導致程式失效。

  3. 軟體缺陷的主要型別(掌握)

    • 軟體未實現產品說明書要求的功能;即該有的功能沒有

    • 軟體出現產品說明書指明不該出現的錯誤;

    • 軟體實現了產品說明書未指明的功能;即出現不該有的功能

    • 軟體未實現產品說明書未明確提及但應實現的目標;即該有的隱含功能沒有。

    • 軟體難以理解,不好用,執行速度慢,或軟體測試人員,最終認為軟體不好。

  4. 測試和除錯(掌握)

    • 測試:

      • 目的:證明程式存在缺陷

      • 條件與結果是否已知: 條件和預期結果已知,結果未知

      • 有無計劃:有計劃,設計測試用例

      • 執行有無規程:執行有規程

      • 執行主體:測試人員

    • 除錯:

      • 目的:定位並解決程式缺陷

      • 條件與結果是否已知: 內部條件未知,結果未知

      • 有無計劃:無計劃,不受時間約束

      • 執行有無規程:執行往往靠靈感

      • 執行主體:開發人員執行

  5. 動態測試和靜態測試(掌握)

    1. 根據測試時是否執行被測體,可分為動態測試和靜態測試。

    • 動態測試(Dynamic testing):通過執行被測體,檢查執行結果與預期結果的差異,並分析執行效率、正確性和健壯性等效能。這種方法由三部分組成:構造測試用例,執行程式,分析程式輸出結果

    • 靜態測試:檢查項為程式碼風格和規則稽核,以及文件的檢查

  6. 測試階段及級別:元件測試、整合測試、系統測試及驗收測試(掌握)

    1. 根據測試階段和級別,分為元件測試,整合測試,系統測試及驗收測試。

    • 元件測試(unit testing):對軟體中最小的可測元件進行檢查和驗證。樁模組(stub):模擬被測模組所呼叫的模組。驅動模組(driver):模擬被測模組上級模組

    • 整合測試(intergration testing):元件測試的下一階段,是指將通過測試的元件模組組裝成系統或子系統,再進行測試,重點測試不同模組的介面部分。

    • 系統測試(system testing):將整個軟體系統看作一個整體進行測試,包括對功能,效能以及軟體所執行的軟硬體環境進行測試。

    • 驗收測試(acceptance testing):在系統測試的後期,以使用者測試為主,或有測試人員共同參與的測試。

      • α測試:由使用者,測試人員,開發人員等共同參與的內部測試

      • β測試:指的是內測後的公測,即完全交給終端使用者測試。