測試用例(Test Case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。
測試用例(Test Case)目前沒有經典的定義。比較通常的說法是:指對一項特定的軟件產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、測試步驟、預期結果、測試腳本等,并形成文檔。
測試用例(Test Case)是將軟件測試的行為活動做一個科學化的組織歸納.目的是能夠將軟件測試的行為轉化成可管理的模式;同時測試用例也是將測試具體量化的方法之一.
一、測試用例的幾種設計方法
(一)、等價類劃分
等價類劃分主要適用于單個輸入條件,輸入為數值型的情況,如果輸入規定了輸入區間,可劃分出一個有效等價類,兩個無效等價類;如果輸入只規定了輸入范圍,可劃分出一個有效等價類,一個無效等價類。
(二)、邊界值
邊界值方法也是適用于單個輸入條件的情況,輸入類型可以數值、字符等,要測試的邊界包括上點、下點、離點。
(三)、錯誤推測法
錯誤推測法主要是測試設計人員的測試經驗相關,測試經驗不同,設計出來的測試用例也區別很大。
(四)、因果圖法
因果圖方法考慮輸入的組合,特別適用于多個輸入條件相關有關聯又相互約束的情況。
設計步驟:
1)羅列出輸入與輸出;
2)根據輸入與輸出畫出因果圖;
3)標出約束跟限制;
4)把因果圖轉化成判定表;
5)根據判定表的每一列設計測試用例。
(五)、判定表驅動法
判定表適合于解決多個邏輯條件的組合。將各種邏輯的組合羅列出來,避免遺漏。不能表達重復的操作。
判定表包括條件樁、條件項、動作樁、動作項。
條件樁:列出所有條件,次序無關;
條件項:列出所對應條件的所有可能情況下的取值;
動作樁:列出可能采取的操作,次序無關;
動作項:列出條件項各種取值情況下采取的操作。
設計步驟:
1)確定規則個數,條件及各條件取值的組合;
2)列出條件樁、動作樁;
3)列出條件項;
4)列出動作項;
5)初始化判定表;
6)規則簡化、合并。
(六)、正交法
當輸入條件很多時,因果圖等設計方法設計出來的用例數往往多的驚人,用正交法可有效減少用例數。正交法的核心思想是從大量測試數據中選取有代表性的點來測試,從而減少測試用例數。
設計步驟:
1)確定因子并畫出正交表草圖;
2)填充各因子的狀態值;
3)加權篩選;
4)根據篩選過的正交表設計測試用例。
(七)、功能圖法
功能圖法適合于用來設計程序的控制結構的測試用例。有順序、選擇、重復三種控制結構。
設計步驟:
1)畫出功能圖;
2)生成局部測試用例;
3)生成測試路徑;
4)合成測試用例。
(八)、場景法
場景法特別適用于控制流清晰的系統。
設計步驟:
1)畫出程序控制流圖(如果不能直接畫出控制流圖,可先畫出程序流程圖,再把流程圖轉換成控制流圖);
2)根據控制流圖設計出場景;
3)根據場景設計測試用例。
中間可能會要計算環路復雜度V(G),計算公式如下:
V(G)=e-n+2
其中e是邊的數目,n是結點的數目。
測試用例設計策略:
1、任何都要用邊界值法;
2、用等價類劃分補充測試用例;
3、根據測試設計人員經驗用錯誤推測法追加測試用例;
4、根據程序邏輯追加邏輯測試用例;
5、根據程序情況,選擇使用因果圖法設計測試用例。
測試用例設計步驟:
1、根據設計規格設計基本的功能測試用例;
2、邊界值測試用例;
3、狀態轉換測試用例;
4、錯誤推測測試用例;
5、異常測試用例;
6、性能測試用例。
另外還需反復利用八種測試用例設計方法對測試用例進行分解與合并,利用發散思維追加測試用例
二、測試用例設計方法場景VS功能
1、目的
站在用戶的角度,以用戶的使用邏輯及操作習慣為出發點,結合功能用例的設計方法,使用例設計更符合用戶使用邏輯更具有可執行性,從而最大程度上覆蓋用戶需求。
2、使用者
用例設計、執行及熱愛測試的人員
3、測試用例設計方法
按照不同的規則可以將測試用例分為四個部分:場景用例(用戶場景)、系統用例(用戶場景的細化)、功能用例(基于業務規則、界面)、設計指標(基于環境、性能、安全等)。
◆ 用戶場景用例:按照用戶的實際操作與業務邏輯設計用例,不必涉及很復雜的操作或邏輯,把用戶最常用的、正常的操作流程作為一個場景設計測試用例
◆ 系統用例:是用戶場景的細化,包含正常場景、分支場景和異常場景,是兩個或多個有關聯的功能組合而成的場景。
◆ 功能用例:用于驗證各功能點的業務規則,包括界面元素和各功能的業務規則驗證。主要針對單個功能點。
◆ 設計指標:系統所需要達到的各級指標。主要包含環境、性能、安全等方面的指標。
第一步:用戶場景用例(關鍵字:模擬用戶實際操作)
描述用戶的主要業務目標,包含完整的系統級場景和模擬用戶實際操作的不同場景,幾個功能點的組合也算是用戶場景,這類的用例不宜過多。
第二步:系統各角色的系統用例
將系統劃分多個角色,再將每個角色分解為多個任務,每個任務就是一個系統用例。系統用例分別正常流程、異常流程,分支流程,以場景的形式描述。
系統用例命名原則:正常(異常、分支)流程_描述
第三步:功能用例
描述單點功能的邏輯規則及頁面元素,分層描述邏輯規則,對邏輯規則細化可直接作為用例的操作步驟描述。
第四步:設計指標
設計指標包含三種類型的用例:環境測試用例、性能測試用例、安全性用例。
環境測試用例可依照操作系統版本,瀏覽器版本不同劃分為多個用例。每個用例下可直接調用已有的用戶場景用例、系統用例、功能用例,可無須單獨編寫用例。
4、用例設計規則
規則如下:
1)每個用例需要選擇優先級,分為高、中、低三種。
每個用例需要關聯項目。
2)需要特別強調的是,用戶場景用例,一定要脫離系統提供功能,站在用戶角度來設計用例,從用戶實際可能的操作場景考慮。
3)用戶場景及系統用例的劃分粒度。比如:注冊登錄,其本身也算一個用戶場景,但不是用戶關心的業務目標,所以把其劃分為系統用例中。
4)系統用例與功能用例的劃分粒度。功能點是測試用例設計的基本單位,是一個不可再細分的完整操作,可以基于一個表單或者多個表單,依照產品具體需求進行劃分。系統用例側重于場景,是兩個或兩個以上多個功能點的組合。
文章來源于領測軟件測試網 http://www.kjueaiud.com/