標籤:style http io ar 使用 sp 檔案 資料 on
目前黑箱測試的測試案例設計方法有5種:
等價類別劃分
邊界值分析
錯誤推測法
因果圖
功能圖
一、等價類別劃分
等價列劃分設計方法是把所有可能的輸入資料,即程式的輸入欄位劃分成若干部分(子集),然後從每一個子集中選取少量具有代表性的資料作為測試案例。
等價類別是指某個輸入欄位的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的。併合理地假定:測試某等價類別的代表值就等於對這一類其他值的測試。
等價類別劃分有兩種不同的情況:有效等價類別和無效等價類別。設計時要同時考慮這兩種等價類別。
下面給出6條確定等價類別的原則:
在輸入條件規定了取值範圍或值的個數的情況下,則可以確立一個有效等價類別和兩個無效等價類別。
在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,則可以確立一個有效等價類別和一個無效等價類別。
在輸入條件是一個布爾量的情況下,可以確立一個有效等價類別和一個無效等價類別。
在規定了輸入資料的一組值(假定n個),並且程式要對每一個輸入值分別處理的情況下,可以確立n個有效等價類別和一個無效等價類別。
在規定了輸入資料必須遵守的規則的情況下,可以確立一個有效等價類別(符合規則)和若干個無效等價類別(從不同角度違反規則)。
在確知已劃分的等價類別中各元素在程式處理中的方式不同的情況下,則應再將該等價類別進一步的劃分為更小的等價類別。
在確立了等價類別後,可建立等價類別表,列出所有劃分出的等價類別。然後從劃分出的
等價類別中按以下的3個原則設計測試案例:
為每一個等價類別規定一個唯一的編號
設計一個新的測試案例,使其儘可能多的覆蓋尚未被覆蓋的有效等價類別,重複這一步,直到所有的有效等價類別都被覆蓋為止。
設計一個新的測試案例,使其僅覆蓋一個尚未被覆蓋的無效等價類別,重複這一步,直到所有的無效等價類別都被覆蓋為止。
例:程式規定;輸入三個整數作為三邊的邊長構成三角形。當此三角形為一般三角形、等腰三角形、等邊三角形時,分別作計算。用等價類別劃分方法為該程式進行測試案例設計。
解:設a、b、c代表三角形的三條邊。
1)分析題目中給出的和隱含的對輸入條件的要求:
a) 整數
b) 3個數
c) 非零數
d) 正數
e) 兩邊之和大於第三邊
f) 等腰
g) 等邊
2)列出等價類別表並編號
3)列出覆蓋上述等價類別的測試案例,如下表:
二、邊界值分析法
使用邊界值分析方法設計測試案例,首先:應確定邊界情況。通常輸入和輸出等價類別的邊界,就是應著重測試的邊界情況。其次,應但選取正好等於、剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類別中的典型值或任意值作為測試資料。
基於邊界值分析方法選擇測試案例的原則:
如果輸入條件規定了值的範圍,應取剛達到這個範圍的邊界值,以及剛剛超過這個範圍邊界的值作為測試輸入的資料。
如果輸入條件規定了值的個數,應用最大個數、最小個數、比最小個數少一、比最大個數多一的數作為測試輸入的資料。
根據規格說明的每個輸出條件,使用前面的原則1。
根據規格說明的每個輸出條件,使用前面的原則2。
如果程式的規格說明給出的輸入欄位或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作為測試案例資料。
如果程式中使用了一個內部資料結構,應當選擇這個內部資料結構邊界上的值作為測試案例。
分析規格說明,找出其他可能的邊界條件。
三、錯誤推測法
錯誤推測法就是根據經驗和直覺推測程式中所有可能存在的各種錯誤,從而有針對性地設計測試案例的方法。
基本思路:列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試案例。例如:輸入資料和輸出資料為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)試題分析報告。按試題號排序,列出各題學生答對的百分比。
解答一:採用邊界值分析方法,分析和設計測試案例。分別考慮輸入條件和輸出條件,以及邊界條件。下表列出了輸入條件及相應的測試案例。
下表為輸出條件及相應的測試案例表。
解答二:採用錯誤推測法還可補充設計一些測試案例:
程式是否把空格作為回答
在回答記錄中混有標準答案記錄
除了標題記錄外,還有一些的記錄最後一個字元即不是2也不是3
有兩個學生的學號相同
試題數是負數。
四、 因果圖法
因果圖法是一種適合於描述對於多種條件的組合、相應產生多個動作的形式的測試案例設計方法。
利用因果圖產生測試案例的基本步驟:
分析軟體規格說明描述中那些是原因,那些是結果,並給每個原因和結果賦予一個標識符。
分析軟體規格說明描述的語義。找出原因和結果之間、原因和原因之間的關係,根據這些關係,畫出因果圖。
在因果圖上用一些記號表明約束或限制條件。
把因果圖轉換為判定表。
把判定表的每一列拿出來作為依據,設計測試案例。
例:第一列字元必須是A或B,第二列字元必須是一個數字,在此情況下進行檔案的修改,但如果第一列字元不正確,則給出資訊L;如果第二列字元不是數字,則給出資訊M。
解1、畫出因果關係表和因果圖。
2、根據因果圖建立判定表。
按條件的各種組合情況產生對應的動作。原因1和原因2不能同時成立,故可排除這種情況。
從判定表可設計出測試案例:6個測試案例是所需的資料。
【tool】黑箱測試的測試案例設計方法