1. 程式人生 > >軟件測試概述、結構化測試

軟件測試概述、結構化測試

工作 依賴 bsp 基本 保持 測試數據 spa 需求 端口

一、軟件測試的目的 是在最小的成本和最短的時間內,通過設計良好的測試規程和測試用例,系統地發現不同類別的錯誤。 二、軟件測試的基本原則 設計好的測試用例、不可能進行窮舉測試、盡早開展測試、重點測試、定期進行檢驗與修正測試用例,並增加新的測試用例、測試依賴於系統環境、測試用例應該包含合理和不合理的輸入條件。 測試過程模型 V模型特點:1、對應瀑布模型的變種(自下到上)線性關系 2、有局限性,在於不能體現“盡早地和不斷地進行軟件測試”的原則 3、僅僅把測試過程作為在需求分析、概要設計、詳細設計及編碼之後的一個階段,容易 使人理解為測試是軟件開發的最後的一個階段,主要是針對程序進行測試尋找誤,而 需求分析階段、設計階段隱藏的問題可能一直到後期的相應測試才被發現。 W模型特點:1、兩個”V模型“,開發與測試相結合 2、開發與測試保持一種線性的前後關系 H模型特點:1、可交叉進行 2、測試過程是一個獨立的過程 三、測試類型
測試類型可分為:單元測試、集成測試、系統測試、驗收測試、回歸測試 1、單元測試:主要檢測獨立的軟件單元,為了發現程序級別的錯誤 面向代碼設計與結構 2、集成測試:獨立的軟件單元(模塊)組合過程中所進行的測試。 面向詳細設計文檔 結構化方法下的集成測試策略:BingBang策略、自頂向下策略、自底向上策略 BingBang策略:所有模塊一次性集成為一個整體系統,後對各個模塊之間的接口工作進行測試 優點:在於測試之間所有的整合工作已經完成 缺點:在於整合過程較為費時,且集成過程中若引入新的錯誤則難以追溯 自頂向下策略:先測試軟件模塊結構圖最頂端的模塊,後集成下一層的模塊再進行測試,直到所 有模塊全部組合並測試完。 自底向上策略:先測試軟件最底層模塊,後集成上一層模塊並進行測試,逐步將所有模塊組合並 測試完畢。 面向對象方法下的集成測試:主要有基於線程的策略和基於使用的策略。 步驟:1)按照設計階段的說明畫出對象圖 2)開發端口輸入事件所驅動的類 3)開發與主類直接相關的類 4)將與主類直接相關聯的類集成 5)對新集成的模塊進行測試 6)從已集成的模塊中選一個新類作為下一步的集成類 3、系統測試:對應於概要設計和需求分析,進行系統測試以確保其功能的正確性,以及在不同運行 環境配置下系統的可用性。 4、驗收測試:是一種以用戶為主的測試,由客戶判斷最終是否在可接受範圍之內,軟件開發人員和 質量保證小組也同時參與。 5、回歸測試:根本目標在於檢測新代碼的正確運行,並且不影響其他已運行正確的功能 (集成測試著重測試的是各個模塊之間接口運行情況,系統測試是將系統軟件作為整個計算機系統的一個元素)
四、測試方法 測試方法有不同 的標準:1)按是否需要執行被測試軟件,軟件測試可分為靜態測試、動態測試。 2)按是否需要查看代碼,軟件測試可分為白盒測試、黑盒測試、灰盒測試 3)按測試執行時是否需要人工幹預,軟件測試可分為自動測試、人工測試 1、靜態測試(代碼復查):是在不要執行所測試程序的情況下,對代碼、需求分析和設計文檔等 進 行缺陷查找。 主要目的:在於盡早發現系統缺陷,提高軟件產品的質量。 主要特征:表現在不需要實際運行,充分發揮人的思維優勢,可能比較耗時耗力, 對測試人員要求比較高。 2、動態測試:是通過選擇適當的測試用例,實際運行所測試的程序,比較實際運行結果和預期結 果,以發現軟件中潛在的缺陷。 主要目的:在於確定軟件產品符合實際業務需求,可適用在單元測試、集成測試、系統測試等。 3、白盒測試:也稱為玻璃盒測試、結構化測試等。(需查看代碼) 4、黑盒測試:也稱為功能測試、數據驅動測試,是一種從用戶觀點出發的測試。(不需查看代碼) 5、灰盒測試:介於白盒測試與黑盒測試之間的測試。 6、手工測試:是完全由人工測試工作,包括測試計劃的制定,測試用例的設計和執行,以及測試結 果的檢查和分析等。 7、自動測試:是各種測試活動的管理與實施,是使用自動化測試工具或自動化測試腳本來進行的測 試,包括測試腳本的開發與執行等,以某種自動測試工具來驗證測試需求。 五、測試用例設計
測試用例=輸入+輸出+測試環境 測試用例設計應滿足以下標準:1)測試用例的目標清楚 (從整體而言) 2)設計思路正確、清晰 3)在組織和分類上,測試用例層次清楚、結構合理 4)測試用例覆蓋所有測試點、覆蓋所有已知用戶使用背景 5)測試手段的區別對待 6)有充分的負面測試 7)沒有重復、冗余的測試用例 測試用例設計應滿足以下條件:1)測試用例的出發點是發現缺陷 (從具體的測試用例) 2)測試用例的單一性 3)符合測試用例設計規範或測試用例模板 4)描述清楚 5)操作步驟的準確性 6)操作步驟的簡單性 7)所期望的測試結果是可驗證的 8)測試環境的正確性、測試數據的充分性 9)前提條件、依賴性被完全識別出來 每個核心的輸入條件:1)正確數據 2)邊界數據 3)錯誤數據 六、模塊內測試 邏輯覆蓋技術是白盒測試中最主要的一種技術,包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。 1、語句覆蓋:設計若幹個測試用例,運行測試程序,使得每一可執行語句至少執行一次。 2、判定覆蓋:設計若幹個測試用例,運行測試程序,使得程序中的每個判斷的取真分支和取假分支 至少執行一次。(分支覆蓋) 3、條件覆蓋:設計若幹個測試用例,運行測試程序,使得程序中每個判斷的每個條件的可能取值 至少執行一次。 4、判定/條件覆蓋:設置若幹個測試用例,運行測試程序,使得判定表達式中的每個條件都取到各種 可能的取值,且每個判定表達式也都取到各種可能的結果。 5、條件組合覆蓋:設置若幹個測試用例,運行測試程序,使得每個判定的所有可能的條件取值組合 至少執行一次。

軟件測試概述、結構化測試