黑盒測試又稱功能測試或資料驅動測試
– 把測試物件當作看不見內部的黑盒,在完全不考慮程式內部結構和處理過程的情況下,測試者僅依據程式功能的需求規範考慮,確定測試用例和推斷測試結果的正確性.
– 站在使用軟體或程式的角度,從輸入資料與輸出資料的對應關係進行的測試
– 在軟體的介面處進行測試
– 通過匯出執行程式所有功能需求的輸入條件集,實現功能覆蓋,需求覆蓋
1)等價類劃分法
(1) 劃分等價類的考慮因素
輸入資料
輸出資料
有效等價類:對於程式規格說明來說,是合理的,有意義的輸入資料構成的集合
無效等價類:對於程式規格說明來說,是不合理的,無意義的輸入資料構成的集合
(2)劃分等價類的標準
1) 完備測試、避免冗餘
2) 劃分等價類重要的是:集合的劃分、劃分為互不相交的一組子集,而子集的並是整個集合
3) 並是整個集合:備性
4) 子集互不相交:保證一種形式的無冗餘性
5) 同一類中標識(選擇)乙個測試用例,同一等價類中,往往處理相同,相同處理對映到「相同的執行路徑」。
(3)設計測試用例
在確立了等價類後,可建立等價類表,列出所有劃分出的等價類輸入條件:有效等價類、無效等價類,然後從劃分出的等價類中按以下三個原則設計測試用例:
1)為每乙個等價類規定乙個唯一的編號;
2)設計乙個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重複這一步,直到所有的 有效等價類都被覆蓋為止;
3)設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步,直到所有的無效等價類都被覆蓋為止。
(4)等價類案例分析:
1. 4~16個字元
2. 支援英文小寫、數字、下劃線
3. 不支援全部為數字或下劃線
解析:
表1-2
輸入條件
有效等價類
無效等價類
使用者名稱字元數
4~16(1)
0(2)、0《個數<4(3)、>16(4)
使用者名稱組成
英文小寫(5)、數字(6)、下劃線(7)
非英文小寫、數字、下劃線(8)
使用者名稱支援格式
不全為數字(9)、不全為下劃線(10)
全為數字(11)、全為下劃線(12)
郵箱名有效輸入集合:
(1) (5) (6) (7) (9)(10) 32jing_qfda
無效集合:
(2) 郵箱名為空
(3) jby
(4) jby_2015_12_22
(8) 王迪
(11) 1234567890
(12) __________
最終測試用例:
表1-3
序號輸入及操作說明
期望的測試結果
32jing_qfda
符合要求
郵件名為空
使用者名稱字元數
不符合要求
jbyjby_2015_12_22
王迪使用者名稱組成
不符合要求
fday
使用者名稱支援格式
不符合要求
2)邊界值分析
(1)一般來說,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是在輸入範圍的內部
–針對各種邊界情況設計測試用例,可以查出更多的錯誤
比如,在做三角形計算時,要輸入三角形的三個邊長:a、b和c。 我們應注意到這三個數值應當滿足:
a>0、b>0、c>0、a+b>c、a+c>b、b+c>a,才能構成三角形。
但如果把六個不等式中的任何乙個大於號「>」錯寫成大於等於號「≥」,那就不能構成三角形。
問題恰出現在容易被疏忽的邊界附近
(2) 邊界值分析原則
1)如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界值,以及剛剛 超越這個範圍的邊界值作為測試的輸入資料。
例如:輸入值的範圍是「1~9」,則可以選取「1」、「9」、「0.9」、「9.1」作為測試輸入資料。
2)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為冊數資料。
例如:乙個輸入檔案應包括1~255個記錄,則測試用例可取1和255,還應取0及256等。
3)根據規格說明的每個輸出條件,使用原則 1)
例如:某程式的功能是計算折扣量,最低折扣是0元,最高折扣是1000元。則設計一些測試用例,使他們剛好產生0元和1000元的結果。
4)如果程式的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第乙個元素和最後乙個元素作為測試用例。
5)分析規格說明,找出其他可能的邊界條件。
(3)編寫測試用例的步驟:
1) 根據被測物件的輸入(或輸出)要求確定邊界值。
2) 選取等於、剛剛大於、剛剛小於邊界的值作為測試資料。
注:基本思想是在最小值(min)、略高於最小值(min+)、正常值(nom)、略低於最大值(max-)和最大值(max)等處取值。
(4)案例分析:
有函式f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函式採用基本邊界值分析法設計的測試用例?
解:對於包含3個變數的程式,採用邊界值分析法,至少要產生4*3+1=13個用例
表1-4
<2000,6,1>
<2000,6,2>
<2000,6,30>
<2000,6,31>
<2000,1,15>
<2000,2,15>
<2000,11,15>
<2000,12,15>
<1900,6,15>
<1901,6,15>
<2099,6,15>
<2100,6,15>
<2100,6,15>
3)因果圖
(1)利用**法分析輸入的各種組合情況,從而設計測試用例的方法,該方法充分考慮了輸入情況的各種組合及輸入條件之間的相互制約關係。
(2)適用範圍
適合檢查程式輸入條件的各種組合情況
等價類法、邊界值法分析著重考慮輸入條件,未考慮輸入條件之間的關係
①恒等:若c1是1,則e1也是1;否則e1為0。
②非:若c1是1,則e1是0;否則e1是1。
③或:若c1或c2是1,則e1是1;否則e1為0,或」可有任意個輸入。
④與:若c1和c2都是1,則e1為1;否則e1為0, 與」也可有任意個輸入。
(4)因果圖生成測試用例的基本步驟:
(5)案例分析
以中國象棋中馬的走法為例子,具體說明:
1、如果落點在棋盤外,則不移動棋子;
2、如果落點與起點不構成日字型,則不移動棋子;
3、如果落點處有自己方棋子,則不移動棋子;
4、如果在落點方向的鄰近交叉點有棋子(絆馬腿),則不移動棋子;
5、如果不屬於1-4條,且落點處無棋子,則移動棋子;
6、如果不屬於1-4條,且落點處為對方棋子 (非老將),則移動棋子並除去對方棋子;
7、如果不屬於1-4條,且落點處為對方老將,則移動棋子,並提示戰勝對方,遊戲結束。
解析:原因:1、落點在棋盤外; 2、不構成日字; 3、落點有自方棋子; 4、絆馬腿; 5、落點無棋子; 6、落點為對方棋子; 7、落點為對方老將。
結果: 1、不移動; 22、移動; 23、移動己方棋子消除對方棋子; 24、移動並戰勝對方。
黑盒測試方法
一 因果圖法 1.定義 因果圖法是一種利用 法分析輸入的各種組合情況,從而設計測試用例的方法,他適合與檢查程式輸入條件的各種組合情況。2.意義 可以考慮到多種輸入條件組合起來所出現的情況 等價類劃分和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合 輸入條件之間的相互制約關係。這樣雖...
黑盒測試方法
錯誤推斷法 邊界值栗子 假設輸入域輸入值範圍為1 10,那麼0 11就是離點,1 10就是上點,2,9就是內點。等價類栗子 假設登入使用者名稱只能是字母和數字,這時字母和數字就是有效等價類,非字母和數字都是無效等價類。等價類劃分等價類劃分可分為有效等價類和無效等價類。有效等價類 指符合 需求規格說明...
功能測試 黑盒測試方法
正常的 錯誤的 極端的 的 以使用者體驗的角度 所有的流程 在沒有人提示的情況下 自己用一遍 測試用例的方法 如何溝通和獲取足夠的測試用例資訊 實戰的例子 bug預防和經驗分享 常用的測試用例方法 等價類劃分 把資料分為兩類 一類是有效等價類 輸入的資料是系統允許輸入的 另一類是無效的 輸入的資料是...