第2章 黑盒測試
一、填空題
1、等價類划分就是將輸入數據按照輸入需求划分為若干個子集,這些子集稱為_等價類_______。
2、等價類划分法可將輸入數據划分為__有效等價類______和____無效等價類____。
3、___邊界值分析法_____通常作為等價類划分法的補充。
4、因果圖中的___恆等_____關系要求程序有一個輸入和一個輸出,輸出與輸入保持一致。
5、因果圖的多個輸入之間的約束包括__E(互斥)______、___O_(唯一)____、__R(要求)______、______I_(包括)_四種。
6、決策表通常由_條件樁_______、___條件項_____、___動作樁_____、__動作項______四部分組成。
二、判斷題
1、有效等價類可以捕獲程序中的缺陷,而無效等價類不能捕獲缺陷。(× )
2、如果程序要求輸入值是一個有限區間的值,可以划分為一個有效等價類(取值范圍)和一個無效等價類(取值范圍之外)。(× )
3、使用邊界值方法測試時,只取邊界兩個值即可完成邊界測試。(× )
4、因果圖考慮了程序輸入、輸出之間的各種組合情況。( √)
5、決策表法是由因果圖演變而來的。( √)
6、正交實驗設計法比較適合復雜的大型項目。( √)
三、單選題
1、下列選項中,哪一項不是因果圖輸入與輸入之間的關系。( A)
A、恆等
B、或
C、要求
D、唯一
2、下列選項中,哪一項是因果圖輸出之間的約束關系。(C )
A、異
B、或
C、強制
D、要求
3、下列選項中,哪一項不是正交實驗法的關鍵因素。( D)
A、指標
B、因子
C、因子狀態
D、正交表
四、簡答題
1、請簡述一下等價類划分法的原則。
(1)如果程序要求輸入值是一個有限區間的值,則可以將輸入數據划分為一個有效等價類和兩個無效等價類,有效等價類為指定的取值區間,兩個無效等價類分別為有限區間兩邊的值。
(2)如果程序要求輸入的值是一個“必須成立”的情況,則可以將輸入數據划分為一個有效等價類和一個無效等價類。
(3)如果程序要求輸入數據是一組可能的值,或者要求輸入值必須符合某個條件,則可以將輸入數據划分一個有效等價類和一個無效等價類。
(4)如果在某一個等價類中,每個輸入數據在程序中的處理方式都不相同,則應將該等價類划分成更小的等價類,並建立等價表。
2、請簡述一下決策表條件項的合並規則。
在實際測試中,條件樁往往很多,而且每個條件樁都有真假兩個條件項,有n個條件樁的決策表就會有2n條件規則,有些規則的取值對結果並無影響,這個問題就稱為無關條件項,無關條件項使用“-”表示,忽略無關條件項,可以將這兩條規則進行合並。合並之后的無關條件項(-)包含其他條件項取值,因此具有相同動作的規則還可進一步合並。
3、請簡述正交實驗設計法測試用例設計步驟。
1,提取因子,構造因子狀態表
2,加權篩選,簡化因子 - 狀態表
3,構建正交表,設計測試用例
大題標准答案:
1、等價類划分原則:
(1)如果程序要求輸入值是一個有限區間的值,則可以將輸入數據划分為一個有效等價類和兩個無效等價類,有效等價類為指定的取值區間,兩個無效等價類分別為有限區間兩邊的值。
(2)如果程序要求輸入的值是一個“必須成立”的情況,則可以將輸入數據划分為一個有效等價類和一個無效等價類。
(3)如果程序要求輸入數據是一組可能的值,或者要求輸入值必須符合某個條件,則可以將輸入數據划分一個有效等價類和一個無效等價類。
(4)如果在某一個等價類中,每個輸入數據在程序中的處理方式都不相同,則應將該等價類划分成更小的等價類,並建立等價表。
2、在實際測試中,條件樁往往很多,而且每個條件樁都有真假兩個條件項,有n個條件樁的決策表就會有2n條件規則,有些規則的取值對結果並無影響,這個問題就稱為無關條件項,無關條件項使用“-”表示,忽略無關條件項,可以將這兩條規則進行合並。合並之后的無關條件項(-)包含其他條件項取值,因此具有相同動作的規則還可進一步合並
3、正交實驗設計法測試用例設計步驟。
(1)提取因子,構造因子狀態表
分析軟件的規格需求說明得到影響軟件功能的因子,確定因子可以有哪些取值,即確定因子的狀態。
(2)加權篩選,簡化因子-狀態表
在實際軟件測試中,軟件的因子及因子的狀態會有很多,每個因子及其狀態對軟件的作用也大不相同,如果把這些因子及狀態都划分到因子-狀態表中,則最后生成的測試用例會相當龐大,從而影響軟件測試的效率。因此需要根據因子及狀態的重要程度進行加權篩選,選出重要的因子與狀態,簡化因子-狀態表。
加權篩選就是根據因子或狀態的重要程度、出現頻率等因素計算因子和狀態的權值,權值越大,表明因子或狀態越重要,而權值越小,表明因子或狀態的重要性越小。加權篩選之后,可以去掉一部分權值較小的因子或狀態,使得最后生成的的測試用例集縮減到允許的范圍。
(3)構建正交表,設計測試用例
正交表的表示形式為Ln(tc)來表示。
l L表示正交表。
l n為正交表的行數,正交表的每一行可以設計一個測試用例,因此行數n也表示可以設計的測試用例的數目。
l c表示正交實驗的因子數目,即正交表的列數,因此正交表是一個n行c列的表。
l t稱為水平數,表示每個因子能夠取得的最大值,即因子有多少個狀態。