軟件測試概述、結構化測試
阿新 • • 發佈:2018-04-11
工作 依賴 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、條件組合覆蓋:設置若幹個測試用例,運行測試程序,使得每個判定的所有可能的條件取值組合
至少執行一次。
軟件測試概述、結構化測試