標籤:
第10章 軟體測試
軟體測試是軟體品質保證的一項關鍵活動,它是通過對需求規格說明、軟體設計說明和程式碼等進行複審,以保證在軟體產品交付前,儘可能發現軟體中潛伏的問題。
一、驗證與確認
符合以下5條規則的軟體問題定義為軟體錯誤:
(1)軟體未達到產品說明書表明的功能;
(2)軟體出現了產品說明書指明不會出現的錯誤;
(3)軟體未達到產品說明書雖未指明但應達到的目標;
(4)軟體功能超出了產品說明書指明的範圍;
(5)軟體測試人員認為軟體難以理解、不易使用、運行速度緩慢,或者終端使用者不滿意。
軟體測試試圖證明在軟體生存期各個階段,軟體產品或中間產品是否能夠滿足客戶需求,包括邏輯協調性、完備性和正確性。
軟體確認是一系列的活動和過程,期目的是保證軟體產品能夠符合其描述要求。
軟體確認:需求規格說明的確認和程式的確認。程式的確認:靜態確認、動態確認。
二、軟體測試基礎
軟體測試的目標在於以最少的時間和人力系統地找出軟體中潛在的各種錯誤和缺陷。
軟體測試的基本原則:
(1)應當把“儘早地和不斷地進行軟體測試”作為軟體開發人員的座右銘;
(2)程式員應避免檢查自己的程式;
(3)在設計測試案例時,應當包括合理的輸入條件和不合理的輸入條件;
(4)測試案例應有測試輸入資料和與之對應的預期輸出結果這兩部分組成;
(5)充分注意測試中的群集現象;
(6)嚴格執行測試計劃,排除測試的隨意性;
(7)應當對每一個測試結果做全面檢查;
(8)妥善儲存一切測試過程文檔,為維護提供方便。
軟體測試V模型:從上而下:需求分析、概念分析、詳細設計、編碼;從下而上:單元測試、整合測試、系統測試、驗收測試。
測試文檔:測試計劃、測試規範、測試案例、缺陷報告。
測試文檔的重要性表現在一下方面:驗證需求的正確性,實驗室檢驗資源,明確任務的風險,產生測試案例,評價測試結果,在測試,決定測試的有效性。
軟體測試需要3類資訊:軟體配置、測試組態、測試載入器。
測試人員應具有以下素質:溝通能力、移情能力、技術能力、自信心、外交能力、幽默感、很強的記憶力、耐心、懷疑精神、自我督促、洞察力。
三、軟體測試策略
單元測試:模組介面測試、局部資料結構測試、重要執行路徑測試、錯誤處理測試、邊界條件測試、段元測試方法。
整合測試:自頂而下測試、自底向下整合。
系統測試:恢複測試、安全性測試、強度測試、效能測試。
軟體調試:簡單的調試方法(1.在程式中插入列印語句;2.運行部分程式;3.藉助調試工具)、歸納法調試、演繹法調試、回溯法調試。
四、軟體測試方法:靜態測試與動態測試、黑箱測試與白盒測試
五、物件導向軟體測試
物件導向測試類型:模型測試、類測試、互動測試、系統(子系統)測試、沿著測試、發布測試。
《軟體工程 ——理論、方法與實踐》知識概括第十章 軟體測試