測試用例設計方法(等價類劃分、邊界值、因果圖)
1
、等價類劃分
(1)等價類劃分方法:把所有可能的輸入資料,即程式的輸入域劃分成若干部分,然後從每一部分中選取少數有代表性的資料做為測試用例,代表性資料作用等價於該類中的其他值。使用這一方法設計測試用例,首先必須在分析需求規格說明書的基礎上劃分等價類,列出等價類表。等價類實際上就是某個輸入域的子集和,在該子集和中,各個輸入資料對於揭露程式中的錯誤都是等效的。
有效等價類:對於程式規格說明來說,是合理的,有意義的輸入資料構成的集合
無效等價類:對於程式規格說明來說,是不合理的,無意義的輸入資料構成的集合
設計測試用例時,要同時考慮有效等價類和無效
等價類設計
(2)劃分等價類的經驗原則:
1)規定輸入條件的取值範圍,可以劃分出乙個有效等價類和兩個無效等價類
2)如果輸入條件規定了輸入值的集合,或者是規定了「必須如何」的條件,這時可確立乙個有效等價類和乙個無效等價類
3)如果輸入條件是乙個布林值,則可以確定乙個有效等價類和乙個無效等價類。
4)如果規定了輸入資料的一組值(假設n個),而且程式要對每個輸入值分別進行處理。
5)如果規定了輸入資料必須遵守的規則,則可確立乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)
6)在確知已劃分的等價類中,各元素在程式處理中的方式不
同的情況下
(字母要區分大小寫
),則應再將該等價類進一步地劃
分為更小的等價類
(3)構建測試案例
1)為每乙個等價類規定乙個唯一編號。
2)使用測試案例盡可能多的覆蓋有效等價類。
3)使用單獨的乙個測試案例覆蓋單獨的乙個無效等價類。
4)最後,直到所有的有效等價類和無效等價類均被覆蓋。
2
、邊界值分析法
(1)邊界值分析法:
對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。從測試工作經驗得知,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是在輸入範圍的內部。等價分類法的測試資料是在各個等價類允許的值域內任意選取的;邊界值分析法的測試資料必須在等價類的邊界值附近選取;邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
(2)邊界值分析原則:
1)如果輸入條件或輸出條件規定了值的範圍並且有效條件包括了值的邊界,可分別對邊界和略超出邊界取值
2)如果輸入條件或輸出條件規定了值的範圍並且有效條件不包括了值的邊界,可分別對邊界和略處於邊界內取值
3)如果輸入或輸出域是個有序的集合(如順序檔案、**等),應注意選取有序集的第乙個和最後乙個元素以及集合外但靠近集合的元素作為邊界
(3)
邊界值分析測試的基本思想:
故障往往出現在輸入變數的邊界值附近。因此,邊界值分析法利用輸入變數的最小值(min)、略大於最小值(min+)、輸入值域內的任意值(nom)、略小於最大值(max-)和最大值(max)來設計測試用例。
健壯性測試是作為邊界值分析的乙個簡單的擴充,它除了對變數的5個邊界值分析取值外,還需要增加乙個略大於最大值(max+)以及略小於最小值(min-)的取值,檢查超過極限值時系統的情況。因此,對於有n個變數的函式採用健壯性測試需要6n+1個測試用例。
3
、因果圖
(1)因果圖法
是一種利用**法分析輸入的各種組合情況,從而設計測試用例的方法,它適合於檢查程式輸入條件的各種組合情況。
(2)判定表的組成:
條件樁—列出問題的所有條件
條件項—針對條件樁給出的條件列出所有可能的取值
動作樁—列出問題規定的可能採取的操作
動作項—指出在條件項的各組取值情況下應採取的動作
(3)、因果圖法生成測試用例的基本步驟:
1)分析軟體規格說明描述中的因果關係(輸入與輸出的因果關係)
2)找出原因與結果、原因與原因之間的對應關係,畫出因果圖
3)在因果圖上標記約束或限制條件
4)把因果圖轉化為判定表
5)將判定表中的每一列拿出來設計測試用例
(4)、因果關係
因果圖中使用4種因果關係符號來表達因果關係:
在因果圖的基本符號中,圖中的左結點
ci表示輸入狀態(或稱原因),右結點
ei表示輸出狀態(或稱結果)。
ci 與
ei 取值0或
1,0表示某狀態不出現,
1則表示某狀態出現。
恒等:若
c1 是1,則
e1 也為
1,否則
e1 為0。
非:若c1 是1,則
e1 為
0,否則e1為
1。或:若
c1 或
c2 或
c3 是1,則
e1 為
1,否則
e1 為0。
與:若c1 和
c2 都是1,則
e1 為
1,否則
e1 為0。
(
5)、因果圖中的約束
在實際問題中輸入狀態相互之間、輸出狀態相互之間可能存在某些依賴關係,稱為「約束」。對於輸入條件之間的約束有e(
exclusive or)、i
(in)、o
(only)、r
(request
)四種約束,對於輸出條件的約束只有m(
mandate
)約束。
1)
原因與原因之間的約束
e約束(異
):輸入a和
b中最多有乙個可能為1,即
a和b不能同時為1
。 i 約束(或
):輸入a、
b、c中至少有乙個必須為1,即
a、b、
c不能同時為0。
o約束(
唯一):輸入a和b
必須有乙個且僅有乙個為1。
r約束(
要求):輸入a是1
時,輸入
b必須是1,即
a為1時,
b不能為0。
2)
結果與結果之間的約束
m約束(強制
):若結果a為
1,則結果
b強制為0。
3)總結:因果圖方法是乙個非常有效的黑盒測試方法它能夠生成沒有重複性的且發現錯誤能力強的測試用例而且對輸入、輸出同時進行了分析
測試用例與測試用例的設計方法
測試用例 test case 是為某個特殊目標而編制的一組測試輸入 執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。目前黑盒測試的測試用例設計方法有5種 等價類劃分 邊界值分析 錯誤推測法 目前黑盒測試 的測試用例 設計方法有5種 等價類劃分 邊界值分析 錯誤推測法 因果圖功能...
測試用例設計方法
設計 方法 測試用例 1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式 內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一...
測試用例設計方法
1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一次。1.1.2.判斷覆蓋...