軟體質量管理期末複習
功能性:特定條件下提供滿足規定和功能需求的程度
效能效率:一定條件使用的資源消耗率
相容性:系統可以和其他產品交換資訊
易用性:系統實現特定目標的有效和滿意程度
可靠性:系統在指定環境下且在指定時間內執行功能的程度
安全性:產品或系統保護資訊的程度
可維護性:表示修改系統可以使得改進或者適應環境的有效性
可移植性:系統可以從一個軟體、硬體或者作業系統轉移到另一個系統的有效程度和效率。
軟體錯誤、缺陷和失效(掌握)
錯誤:發生錯誤的原因有很多,例如時間壓力,缺乏經驗或技能不足的專案參與者,新的技術不成熟,對系統內和系統間介面的誤解
缺陷:計算機軟體或程式中存在的某種破壞正常執行能力的問題,錯誤或隱藏的功能缺陷。缺陷的存在會導致軟體產品在某種程度上不能滿足使用者需求。
失效:如果執行了存在缺陷的程式碼,可能導致程式失效。
軟體缺陷的主要型別(掌握)
軟體未實現產品說明書要求的功能;即該有的功能沒有
軟體出現產品說明書指明不該出現的錯誤;
軟體實現了產品說明書未指明的功能;即出現不該有的功能
軟體未實現產品說明書未明確提及但應實現的目標;即該有的隱含功能沒有。
軟體難以理解,不好用,執行速度慢,或軟體測試人員,最終認為軟體不好。
測試和除錯(掌握)
測試:
目的:證明程式存在缺陷
條件與結果是否已知: 條件和預期結果已知,結果未知
有無計劃:有計劃,設計測試用例
執行有無規程:執行有規程
執行主體:測試人員
除錯:
目的:定位並解決程式缺陷
條件與結果是否已知: 內部條件未知,結果未知
有無計劃:無計劃,不受時間約束
執行有無規程:執行往往靠靈感
執行主體:開發人員執行
動態測試和靜態測試(掌握)
根據測試時是否執行被測體,可分為動態測試和靜態測試。
動態測試(Dynamic testing):通過執行被測體,檢查執行結果與預期結果的差異,並分析執行效率、正確性和健壯性等效能。這種方法由三部分組成:構造測試用例,執行程式,分析程式輸出結果
靜態測試:檢查項為程式碼風格和規則稽核,以及文件的檢查
測試階段及級別:元件測試、整合測試、系統測試及驗收測試(掌握)
根據測試階段和級別,分為元件測試,整合測試,系統測試及驗收測試。
元件測試(unit testing):對軟體中最小的可測元件進行檢查和驗證。樁模組(stub):模擬被測模組所呼叫的模組。驅動模組(driver):模擬被測模組上級模組
整合測試(intergration testing):元件測試的下一階段,是指將通過測試的元件模組組裝成系統或子系統,再進行測試,重點測試不同模組的介面部分。
系統測試(system testing):將整個軟體系統看作一個整體進行測試,包括對功能,效能以及軟體所執行的軟硬體環境進行測試。
驗收測試(acceptance testing):在系統測試的後期,以使用者測試為主,或有測試人員共同參與的測試。
α測試:由使用者,測試人員,開發人員等共同參與的內部測試
β測試:指的是內測後的公測,即完全交給終端使用者測試。