常用測試用例設計方法

2022-09-06 03:21:07 字數 4815 閱讀 8859

八大方法及綜合策略

一、等價類法

概述:根據程式對資料的要求,把程式的輸入域劃分成若干個部分

區分出哪些資料是有效的,哪些資料是無效的,(有效等價類與無效等價類)

從每個部分中選取少數代表性資料作為測試用例

步驟:

劃分等價類

細化等價類 (對等價類進行編號)

建立等價類表

編寫測試用例

要點:

被選為測試用例的資料在測試中的作用等價於這一類中的其他值

如果等價類中的乙個測試能夠捕獲乙個缺陷,那麼選擇該等價類中的其他測試也能捕獲該缺陷

如果等價類中的乙個測試不能捕獲缺陷,那麼選擇該類中的其他測試也不會捕獲到缺陷

二、邊界值法

概述

找到測試資料的邊界點,也就是有效等價類和無效等價類的邊界點

對邊界點資料專門進行測試

步驟:

找到測試資料的邊界點, 分析出上點、離點、內點

根據上點、離點、內點寫出測試用例

要點:

如果輸入條件規定了值的範圍,則應取邊界點資料,以及邊界點兩邊的資料進行測試

如果輸入條件規定了值的個數,則用最大個數及其兩邊的點、最小個數及其兩邊的點作為測試資料

根據規格說明的每個輸出條件,使用前面的原則

根據規格說明的每個輸出條件,應用前面的原則

如果程式的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第乙個元素和最後乙個元素作為測試用例

三、因果圖法

概述:

在乙個模組或乙個介面中,有多個控制項,這些控制項存在約束關係或組合關係,且輸出依賴於輸入條件,則可以使用因果圖法

步驟:

找出所有的輸入條件

找出所有的輸出條件

明確所有輸入條件之間的制約關係以及組合關係

明確所有輸出條件之間的制約關係以及組合關係

找出怎麼樣的輸入條件組合會產生那種輸出結果

根據因果圖寫出判定表

根據判定表寫出測試用例

要點:

恒等、或(v)、與(∧)、非(~)、互斥(e)、包含(i)、唯一(o)、要求(r)、遮蔽(m)

因果圖法主要考慮控制項之間條件的組合關係

每個控制項的條件不宜過多,最好為2個

控制項較多,或每個控制項的條件過多,不宜用因果圖法

四、判定表法

概述:

判斷表主要側重輸入條件之間的邏輯關係(畫因果圖只是乙個輔助工具,通過分析最終得到判定表,再通過判定表編寫測試用例)

步驟:

找出所有的輸入條件

找出所有的輸出條件

明確所有輸入條件之間的制約關係以及組合關係

明確所有輸出條件之間的制約關係以及組合關係

找出怎麼樣的輸入條件組合會產生那種輸出結果

根據因果圖寫出判定表

根據判定表寫出測試用例

要點:

判定表的組成:

適合使用判定表設計測試用例的條件:

規格說明以判定表的形式給出,或很容易轉換成判定表

條件的排列順序不影響執行哪些操作

規則的排列順序不影響執行哪些操作

當某一規則的條件已經滿足,並確定要執行的操作後,不必檢驗別的規則

如果某一規則要執行多個操作,這些操作的執行順序無關緊要

五、正交法

概述:

能夠使用最小的測試過程集合獲得最大的測試覆蓋率

步驟:

根據所測程式中控制項的個數以及每個控制項的取值個數,選取乙個合適的正交排列表

把控制項以及取值列出來,並對取值進行編號

把控制項以及取值對映到正交排列表中

根據對映好的正交排列表編寫測試用例

要點:

一、 n階拉丁方:

用n個不同的拉丁字母排成乙個n階方陣, 每個字母在任一行、任一列中只出現一次

二、 正交拉丁方:

設有兩個n階的拉丁方,如果將它們疊合在一起,恰好出n2個不同的有序數對

三、 正交表是一種特製的表,記為:

m是每個控制項包含的取值個數

k表示控制項的個數

n是表的行數, n=k(m-1)+1

n=k1(m1-1)+k2(m2-1)+…kx(mx-1)+1

l為正交表的代號

ln(m1^k1 m2^k2…mx^kx)

正交排列法的侷限性:

基本都要求每個控制項中取值的個數要相等,這在實際軟體中很少遇到

正交表的性質:

每一列中,不同的數字出現的次數相等

任意兩列中數字的排列方式齊全而且均衡

即:正交表的兩大優越性,「均勻分散性,整齊可比性」

通俗的說,每個因素的每個水平與另乙個因素各水平各碰一次,這就是正交性

種類:各列水平數均相同的正交表

混合水平正交表

例:l8(4*24)——乙個控制項有4個屬性,4個控制項有2個屬性

六.場景法

概述:

場景法就是模擬使用者操作軟體時的場景,主要用於測試系統的業務流程

在冒煙測試時也主要採用場景法進行測試

步驟:

根據說明,描述出程式的基本流及各項備選流

根據基本流和各項備選流生成不同的場景

對每乙個場景生成相應的測試用例

要點:

一、 基本流:

按照正確的業務流程來實現的一條操作路徑(模擬正確的操作流程)

二、 備選流 :

導致程式出現錯誤的操作流程(模擬錯誤的操作流程)

七.大綱法

概述:

在乙個程式或程式的某個模組中,涉及到多個視窗,每個視窗中能夠完成多個動作

這些視窗又相互聯絡, 為了弄清視窗和視窗之間的關係,或者說動 作和動作之間的關係,可以使用測試大綱方法

步驟:

找出所有的視窗以及每個視窗的輸入動作

找到各個視窗之間的聯絡,並據此編寫測試用例

要點: (綜合策略)

為了測試程式的業務邏輯、業務流程、主要功能的正確性,錯誤處理能力,使用場景法設計測試用例

需要輸入資料的地方,進行等價類劃分,包括輸入條件和輸出條件的等價劃分

使用邊界值分析方法補充用例

可以用錯誤推測法追加一些測試用例

對照程式邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準或發現還有遺漏,應該再補充足夠的測試用例

如果程式的功能說明中含有輸入條件和輸出條件的組合情況, 則一開始就可選用因果圖法或判定表方法

對於引數配置類的軟體,要考慮各個引數之間的組合情況,使用正交排列法

為了更真實模擬使用者的操作流程、順序,可以使用狀態轉換圖方法設計測試用例

如果程式的模組有多個視窗,並有相關聯的操作,可以使用測試大綱方法設計測試用例

八、狀態轉換圖法

概念:

找出軟體所有的狀態以及導致這些狀態發生變化的所有輸入動作

進而用圖形的方法把相關聯的輸入動作和狀態聯絡在一起,真實模擬使用者的操作順序流程

步驟:

找出程式的所有輸入動作,並進行編號

找出程式的所有狀態

找出什麼動作會導致什麼狀態發生,畫出狀態轉換圖

把相關聯的動作和狀態聯絡起來,設計測試用例

要點:

兩個重要的概念::(核心)

軟體的狀態

輸入的動作

狀態轉換圖法小結:

每種狀態至少訪問一次 【無論用什麼方法,每一種狀態都必須測試】

測試看起來最常見最普遍的狀態轉換 【根據產品說明書,通過與客戶、開發人員溝通,了解哪些操作更常用、更重要】

測試狀態之間最不常用的分支 【這些分支是最容易被產品設計者和程式設計師忽視的】

測試所有錯誤狀態及其返回值 【錯誤沒有得到正確處理、錯誤提示資訊不正確等情況是常有的】

九、綜合策略

為了測試軟體的業務流程,業務邏輯,基本功能的正確性,錯誤處理能力,採用場景法編寫用例

需要輸入資料的地方,進行等價類劃分,包括輸入條件和輸出條件的等價劃分

使用邊界值分析方法補充測試用例

可以用錯誤分析法追加測試用例

對照程式的邏輯,檢查測試用例的邏輯覆蓋程度,如果沒有達到覆蓋標準或發現有遺漏,則要補齊用例

如果軟體的功能說明裡有輸入條件和輸出條件的組合情況,一開始就考慮用因果圖和判定表方法

對於有引數配置的軟體,要考慮各個引數的組合情況,則可以用正交排列表法來設計測試用例

為了模擬使用者的操作流程,順序,則可以用狀態轉換圖法設計測試用例

如果乙個軟體或乙個介面裡有多個視窗,每個視窗可以完成多步動作,且每個視窗之間存在聯絡,可以採用大綱法來設計用例

常用的測試用例設計方法

測試用例是在測試執行之前編寫的,用以指導測試的重要文件,主要包括 各公司模板都有自己的模板 如 編號 日期 測試人員 專案 分專案 預置條件 測試過程 接收標準 測試說明等。測試用例的設計方法主要有七種 應用場景 只要有資料輸入的地方,就可以使用,從無窮多的資料中挑選少數代表進行測試 把所有可能的資...

測試用例設計方法

設計 方法 測試用例 1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式 內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一...

測試用例設計方法

1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一次。1.1.2.判斷覆蓋...