在軟件測試中目前黑盒測試的測試用例設計方法有5種:
一、等價類劃分
等價列劃分設計方法是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少量具有代表性的數據作為測試用例。
等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的。并合理地假定:測試某等價類的代表值就等于對這一類其他值的測試。
等價類劃分有兩種不同的情況:有效等價類和無效等價類。設計時要同時考慮這兩種等價類。
下面給出6條確定等價類的原則:
在確立了等價類后,可建立等價類表,列出所有劃分出的等價類。然后從劃分出的
等價類中按以下的3個原則設計測試用例:
例:程序規定;輸入三個整數作為三邊的邊長構成三角形。當此三角形為一般三角形、等腰三角形、等邊三角形時,分別作計算。用等價類劃分方法為該程序進行測試用例設計。
解:設a、b、c代表三角形的三條邊。
1)分析題目中給出的和隱含的對輸入條件的要求:
a) 整數
b) 3個數
c) 非零數
d) 正數
e) 兩邊之和大于第三邊
f) 等腰
g) 等邊
2)列出等價類表并編號
MILY: 宋體">java_script_:if(this.width>500)this.width=500" border=0>
3)列出覆蓋上述等價類的測試用例,如下表:
二、邊界值分析法
使用邊界值分析方法設計測試用例,首先:應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。其次,應但選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據。
基于邊界值分析方法選擇測試用例的原則:
三、錯誤推測法
錯誤推測法就是根據經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性地設計測試用例的方法。
基本思路:列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。例如:輸入數據和輸出數據為0的情況。
例:現有一個學生標準化考試批閱試卷,產生成績報告的程序。其規格說明如下:程序的輸入文件由一些有80個字符的記錄組成,所有記錄分為3組,如圖:
1、標題:改組只有一個記錄,其內容是成績報告的名字。
2、各題的標準答案:每個記錄均在第80個字符處標以數字2。該組的記錄:
第一個記錄:第1~3個字符為試題數(1~999)。第10~59個字符是1~50題的標準答案(每個合法字符表示一個答案)。
第二個記錄:是第51~100題的標準答案。
…….
3、學生的答案:每個記錄均在第80個字符處標以數字3。每個學生的答卷在若干個記錄中給出。
學號:1~9個字符
1~50題的答案:10~59。當大于50題時,在第二、三、……個記錄中給出。
學生人數不超過200,試題數不超過999。
程序的輸出有4個報告:
a)按學號排列的成績單,列出每個學生的成績、名次。
b)按學生成績排序的成績單。
c)平均分數及標準偏差的報告
d)試題分析報告。按試題號排序,列出各題學生答對的百分比。
解答一:采用邊界值分析方法,分析和設計測試用例。分別考慮輸入條件和輸出條件,以及邊界條件。下表列出了輸入條件及相應的測試用例。
下表為輸出條件及相應的測試用例表。
解答二:采用錯誤推測法還可補充設計一些測試用例:
四、 因果圖法
因果圖法是一種適合于描述對于多種條件的組合、相應產生多個動作的形式的測試用例設計方法。
利用因果圖生成測試用例的基本步驟:
例:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。
解1、畫出因果關系表和因果圖。
2、根據因果圖建立判定表。
按條件的各種組合情況產生對應的動作。原因1和原因2不能同時成立,故可排除這種情況。
從判定表可設計出測試用例:6個測試用例是所需的數據。