黑盒測試的測試用例設計方法

黑盒測試的測試用例設計方法

目前黑盒測試的測試用例設計方法有5種:

  1. 等價類劃分
  2. 邊界值分析
  3. 錯誤推測法
  4. 因果圖
  5. 功能圖

一、等價類劃分

等價列劃分設計方法是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然後從每一個子集中選取少量具有代表性的數據作爲測試用例。

等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的。併合理地假定:測試某等價類的代表值就等於對這一類其他值的測試。

等價類劃分有兩種不同的情況:有效等價類和無效等價類。設計時要同時考慮這兩種等價類。

下面給出6條確定等價類的原則:

  1. 在輸入條件規定了取值範圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類。
  2. 在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,則可以確立一個有效等價類和一個無效等價類。
  3. 在輸入條件是一個布爾量的情況下,可以確立一個有效等價類和一個無效等價類。
  4. 在規定了輸入數據的一組值(假定n個),並且程序要對每一個輸入值分別處理的情況下,可以確立n個有效等價類和一個無效等價類。
  5. 在規定了輸入數據必須遵守的規則的情況下,可以確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。
  6. 在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分爲更小的等價類。

在確立了等價類後,可建立等價類表,列出所有劃分出的等價類。然後從劃分出的

等價類中按以下的3個原則設計測試用例:

  • 爲每一個等價類規定一個唯一的編號
  • 設計一個新的測試用例,使其儘可能多的覆蓋尚未被覆蓋的有效等價類,重複這一步,直到所有的有效等價類都被覆蓋爲止。
  • 設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重複這一步,直到所有的無效等價類都被覆蓋爲止。

例:程序規定;輸入三個整數作爲三邊的邊長構成三角形。當此三角形爲一般三角形、等腰三角形、等邊三角形時,分別作計算。用等價類劃分方法爲該程序進行測試用例設計。

解:設a、b、c代表三角形的三條邊。

1)分析題目中給出的和隱含的對輸入條件的要求:

a) 整數
b) 3個數
c) 非零數
d) 正數
e) 兩邊之和大於第三邊
f) 等腰
g) 等邊

2)列出等價類表並編號



3)列出覆蓋上述等價類的測試用例,如下表:

二、邊界值分析法

使用邊界值分析方法設計測試用例,首先:應確定邊界情況。通常輸入和輸出等價類的邊界,就是應着重測試的邊界情況。其次,應但選取正好等於、剛剛大於或剛剛小於邊界的值作爲測試數據,而不是選取等價類中的典型值或任意值作爲測試數據。
基於邊界值分析方法選擇測試用例的原則:

  1. 如果輸入條件規定了值的範圍,應取剛達到這個範圍的邊界值,以及剛剛超過這個範圍邊界的值作爲測試輸入的數據。
  2. 如果輸入條件規定了值的個數,應用最大個數、最小個數、比最小個數少一、比最大個數多一的數作爲測試輸入的數據。
  3. 根據規格說明的每個輸出條件,使用前面的原則1。
  4. 根據規格說明的每個輸出條件,使用前面的原則2。
  5. 如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作爲測試用例數據。
  6. 如果程序中使用了一個內部數據結構,應當選擇這個內部數據結構邊界上的值作爲測試用例。
  7. 分析規格說明,找出其他可能的邊界條件。

三、錯誤推測法

錯誤推測法就是根據經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性地設計測試用例的方法。

基本思路:列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。例如:輸入數據和輸出數據爲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)試題分析報告。按試題號排序,列出各題學生答對的百分比。

解答一:採用邊界值分析方法,分析和設計測試用例。分別考慮輸入條件和輸出條件,以及邊界條件。下表列出了輸入條件及相應的測試用例。

下表爲輸出條件及相應的測試用例表。



解答二:採用錯誤推測法還可補充設計一些測試用例:

  1. 程序是否把空格作爲回答
  2. 在回答記錄中混有標準答案記錄
  3. 除了標題記錄外,還有一些的記錄最後一個字符即不是2也不是3
  4. 有兩個學生的學號相同
  5. 試題數是負數。

四、 因果圖法

因果圖法是一種適合於描述對於多種條件的組合、相應產生多個動作的形式的測試用例設計方法。

利用因果圖生成測試用例的基本步驟:

  1.  分析軟件規格說明描述中那些是原因,那些是結果,並給每個原因和結果賦予一個標識符。
  2. 分析軟件規格說明描述的語義。找出原因和結果之間、原因和原因之間的關係,根據這些關係,畫出因果圖。
  3.  在因果圖上用一些記號表明約束或限制條件。
  4. 把因果圖轉換爲判定表。
  5. 把判定表的每一列拿出來作爲依據,設計測試用例。

例:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。

解1、畫出因果關係表和因果圖。

2、根據因果圖建立判定表。

按條件的各種組合情況產生對應的動作。原因1和原因2不能同時成立,故可排除這種情況。
從判定表可設計出測試用例:6個測試用例是所需的數據。

http://www.uml.org.cn/Test/200603202.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章