做腳本網(wǎng)站外貿(mào)網(wǎng)站建設(shè)推廣
本文主要介紹黑盒測試之等價類劃分法,如什么是等價類劃分法,以及如何劃分,設(shè)計等價類表。以及關(guān)于三角形案例的等價類劃分法。
文章目錄
一、什么是等價類劃分法
二、劃分等價類和列出等價類表
三、確定等價類的原則
四、建立等價類表
五、確定測試用例
六、經(jīng)典案例-三角形
一、什么是等價類劃分法
等價類劃分法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測試用例。
每一類的代表性數(shù)據(jù)在測試中的作用等價于這一類中的其他值,也就是說,如果某一類中的一個例子發(fā)現(xiàn)了錯誤,這一等價類中的其他例子也能發(fā)現(xiàn)同樣的錯誤;反之,如果某一類中的一個例子沒有發(fā)現(xiàn)錯誤,則這一類中的其他例子也不會查出錯誤。
使用這一方法設(shè)計測試用例,首先必須在分析需求規(guī)格說明的基礎(chǔ)上劃分等價類,列出等價類表。
二、劃分等價類和列出等價類表
可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。
等價類劃分有兩種不同的情況:
1)有效等價類:是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。
2)無效等價類:與有效等價類的定義恰巧相反。
三、確定等價類的原則
1)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。
2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個有效等價類和一個無效等價類。
3)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。
4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。
5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。
6)在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步地劃分為更小的等價類。
四、建立等價類表
在確立了等價類之后,建立等價類表,列出所有劃分出的等價類:
五、確定測試用例
根據(jù)已列出的等價類表,按以下步驟確定測試用例:
1.為每個等價類規(guī)定一個唯一的編號;
2.設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類。重復(fù)這一步,最后使得所有有效等價類均被測試用例所覆蓋;
3.設(shè)計一個新的測試用例,使其只覆蓋一個無效等價類。重復(fù)這一步使所有無效等價類均被覆蓋。
六、經(jīng)典案例-三角形
根據(jù)下面給出的規(guī)格說明,利用等價類劃分的方法,給出足夠的測試用例。
“一個程序讀入3個整數(shù),把這三個數(shù)值看作一個三角形的3條邊的長度值。這個程序要打印出信息,說明這個三角形是不等邊的、是等腰的、還是等邊的?!?/p>
1.首先我們根據(jù)等價類劃分法設(shè)計出等價類表:
2.根據(jù)以上的等價類劃分,我們可以用最小用例條數(shù),設(shè)計出如下這個三角形的測試用例:
序號 | 【A,B,C】 | 覆蓋等價類 | 輸出 |
1 | 【3,4,5】 | (1),(2),(3),(4),(5),(6) | 一般三角形 |
2 | 【0,1,2】 | (7) | 不能構(gòu)成三角形 |
3 | 【1,0,2】 | (8) | |
4 | 【1,2,0】 | (9) | |
5 | 【1,2,3】 | (10) | |
6 | 【1,3,2】 | (11) | |
7 | 【3,1,2】 | (12) | |
8 | 【3,3,4】 | (1),(2),(3),(4),(5),(6),(13) | 等腰三角形 |
9 | 【3,4,4】 | (1),(2),(3),(4),(5),(6),(14) | |
10 | 【3,4,3】 | (1),(2),(3),(4),(5),(6),(15) | |
11 | 【3,4,5】 | (1),(2),(3),(4),(5),(6),(16) | 非等腰三角形 |
12 | 【3,3,3】 | (1),(2),(3),(4),(5),(6),(17) | 是等邊三角形 |
13 | 【3,4,4】 | (1),(2),(3),(4),(5),(6),(14),(18) | 非等邊三角形 |
14 | 【3,4,3】 | (1),(2),(3),(4),(5),(6),(15),(19) | |
15 | 【3,3,4】 | (1),(2),(3),(4),(5),(6),(13),(20) |