功能測試用例設計積累(五) 等價類劃分法分析與實踐

2021-06-16 04:15:27 字數 1707 閱讀 4393

1、方法定義:

軟體測試的角度來說,等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭示程式中的錯誤都是等效的。等價類劃分包含兩個部分:有效等價類和無效等價類。

1) 有效等價類

是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。主要為了檢驗程式是否實現了規格說明中所規定的功能和效能。

2) 無效等價類

與有效等價類相反,主要為了程式的健壯性與可靠性。

2、方法運用到用例設計中的思路:

1) 根據需求說明書,把需要輸入的資料劃分成若干個子集合。在這裡要確保兩點:

a、每個子集中的資料在測試過程中對於發現程式缺陷是有效的。

b、每個子集中的資料在測試過程中對於發現程式缺陷是等效的。

c、子集之間資料互不相交。

2) 然後從每個集合中選擇部分代表性資料形成測試用例中的輸入資料。

3) 覆蓋所有有效的和無效的等價類

3、確定等價類的原則

1) 在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類和兩個無效等價類。

例如:成年人每分鐘的心跳60-100之間為正常。

有效等價類:60-100 無效等價類:<60 和 >100

2) 在輸入條件規定了輸入值的集合或者規定了「必須如何」的條件的情況下,可確立乙個有效等價類和乙個無效等價類。

例如:使用者連續輸入錯誤密碼的次數最多為3次。

有效等價類:<=3次 無效等價類:>3次

3) 在輸入條件是乙個布林量的情況下,可確定乙個有效等價類。

例如:單選的選中與不選中。

4) 在規定了輸入資料的一組值(假定n個),並且程式要對每乙個輸入值分別處理的情況下,可確立n個有效等價類和乙個無效等價類。

例如:輸入資料為省份的選擇。

5) 在規定了輸入資料必須遵守的規則的情況下,可確立乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。

例如:規定必須輸入非0的正整數。

這種例子應充分考慮規則是否可以拆分為具有單一的子規則,然後得到從不同角度違反規則的無效等價類。

該例子起碼可拆分為非0、數字、正數、整數4個子規則,至少每個規則對應乙個無效等價類,即0、字串、負數、小數,甚至可挖掘出輸入為空的隱含等價類。

6) 在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。

例如:核對日期的有效性,初步有效等價類是1<=month<=12,1<=day<=31

可是考慮到2月以及閏年、閏月、長月、短月等,需要進一步細分,當然其中還涉及到了年月日組合的問題。

4、測試用例舉例

競猜系統中:投注的金額要求是大於10的正整數。

根據分析等到以下等價類表。

輸入條件

有效等價類

無效等價類

>10的正整數

大於10的正整數空小數

<10的數

負數字串

5、優缺點

優點:避免了盲目或隨機選取輸入資料的布完整性和覆蓋的不穩定性

缺點:沒有對組合情況進行充分的考慮,需要結合其他測試用例設計的方法進行補充

本文出自

okokokk

的51testing軟體測試部落格:

測試用例設計方法(一)等價類 邊界值

測試用例設計方法有很多,如 等價類劃分法 邊界值分析法 因果圖 判定表法 正交分析法 狀態遷移法 業務分析法 而白盒測試中常用的測試用例設計方法還有 條件覆蓋 語句覆蓋和分支覆蓋等方法。1 等價類劃分法 1 簡介 等價類就是某個輸入域的子集。等價類劃分法是把所有可能的輸入資料集合劃分成若干個子集,每...

測試用例設計技術之一等價類法

在軟體測試中,測試用例的設計是一件很難的事情。你可以拿任何乙個公司的兩個不同人員就同一功能點所寫的測試用例來看,肯定會發現有所不同,這是為什麼呢?一是著眼點不一樣,二是經驗不同,三是思維的問題了。其實你可以看到,有的人寫的用例簡單明瞭,有的人寫的用例卻是複雜冗長,出現這種情況並不奇怪,因為測試用例本...

測試用例設計 等價類

常用的測試用例設計方法有8種,分別是 等價類,邊界值,判定表,因果圖,場景法,正交試驗法,狀態遷移圖和錯誤猜測法.下面我們詳細介紹各種方法的定義和使用 3w原則 what,when,how 分別從定義,應用範圍,步驟,案例,總結4方面來介紹 一.等價類 定義等價類是把所有可能的輸入資料,即程式的輸入...