簡介:總結黑盒測試用例的常用設計方法
把所有可能的輸入資料,即程式的輸入域劃分成若干部分(子集),然後從每乙個子集中選取少數具有代表性的資料作為測試用例
等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。
(1)有效等價類
是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。
(2)無效等價類
與有效等價類的定義恰巧相反。無效等價類指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。對於具體的問題,無效等價類至少應有乙個,也可能有多個。
設計測試用例時,要同時考慮這兩種等價類。因為軟體不僅要能接收合理的資料,也要能經受意外的考驗,這樣的測試才能確保軟體具有更高的可靠性。
在確立了等價類後,可建立等價類表,列出所有劃分出的等價類輸入條件:有效等價類、無效等價類,然後從劃分出的等價類中按以下三個原則設計測試用例:
(1)為每乙個等價類規定乙個唯一的編號;
(2)設計乙個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重複這一步,直到所有的有效等價類都被覆蓋為止;
(3)設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步,直到所有的無效等價類都被覆蓋為止
分析題目中給出和隱含的對輸入條件的要求:
(1)整數 (2)三個數 (3)非零數 (4)正數
(5)兩邊之和大於第三邊 (6)等腰 (7)等邊
如果 a 、 b 、 c 滿足條件( 1 ) ~ ( 4 ),則輸出下列四種情況之一:
1)如果不滿足條件(5),則程式輸出為 " 非三角形 " 。
2)如果三條邊相等即滿足條件(7),則程式輸出為 " 等邊三角形 " 。
3)如果只有兩條邊相等、即滿足條件(6),則程式輸出為 " 等腰三角形 " 。
4)如果三條邊都不相等,則程式輸出為 " 一般三角形 " 。
列出等價類表並編號,如下圖:
覆蓋有效等價類的測試用例如下:a
bc覆蓋等價類號碼34
5(1)–(7)44
5(1)–(7), (8)45
5(1)–(7), (9)54
5(1)–(7), (10)44
4(1)–(7), (11)
覆蓋無效等價類的測試用例如下:a
bc覆蓋等價類號碼
3.54512
33.5513
345.514
3.54.4515
34.5
5.516
3.54
5.517
2.54.5
5.518319
420521
34224
52335
24345
25045
26305
27340
28005
29300
30040
31000
32-345
333-45
3434-5
35-3-45
36-34-5
373-4-5
38-3
-4-5393
15403
25413
11423
21431
42443
4145(1)劃分等價類並編號,下表等價類劃分的結果:
(2)有效等價類設計測試用例如下:
測試資料
期望結果
覆蓋的有效等價類
200211
輸入有效
①、⑤、⑧
(3) 為每乙個無效等價類設計乙個測試用例,設計結果如下:
測試資料
期望結果
覆蓋的無效等價類
95june
無效輸入
②20036
無效輸入
④2001006
無效輸入
②198912
無效輸入
⑥200401
無效輸入
⑦200100
無效輸入
⑨200113
無效輸入
⑩邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。
1)邊界值分析不是從某等價類中隨便挑乙個作為代表,而是使這個等價類的每個邊界都要作為測試條件。
2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
(1)大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。
(2)使用邊界值分析方法設計測試用例,應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。
1)對16-bit 的整數而言 32767 和 -32768 是邊界
2)螢幕上游標在最左上、最右下位置
3)報表的第一行和最後一行
4)陣列元素的第乙個和最後乙個
5)迴圈的第 0 次、第 1 次和倒數第 2 次、最後一次
(1)如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍邊界的值作為測試輸入資料。
例如,如果程式的規格說明中規定:「重量在10公斤至50公斤範圍內的郵件,其郵費計算公式為……」。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等。
(2)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試資料。
比如,乙個輸入檔案應包括1~255個記錄,則測試用例可取1和255,還應取0及256等。
(3)將規則1)和2)應用於輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。
例如,某程式的規格說明要求計算出"每月保險金扣除額為0至1165.25元",其測試用例可取0.00及1165.24、還可取一0.01及1165.26等。
再如一程式屬於情報檢索系統,要求每次"最少顯示1條、最多顯示4條情報摘要",這時我們應考慮的測試用例包括1和4,還應包括0和5等。
(4)如果程式的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第乙個元素和最後乙個元素作為測試用例。
(5)如果程式中使用了乙個內部資料結構,則應當選擇這個內部資料結構的邊界上的值作為測試用例。
(6)分析規格說明,找出其它可能的邊界條件。
用邊界值分析法設計測試用例如下:
基於經驗和直覺推測程式中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。
列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。
(1)例如, 輸入資料和輸出資料為0的情況;輸入**為空格或輸入**只有一行。 這些都是容易發生錯誤的情況。可選擇這些情況下的例子作為測試用例。
(2)例如,前面例子中成績報告的程式,採用錯誤推測法還可補充設計一些測試用例:
i. 程式是否把空格作為回答
ii. 在回答記錄中混有標準答案記錄
iii. 除了標題記錄外,還有一些的記錄最後乙個字元即不是2也不是3
iv. 有兩個學生的學號相同
v. 試題數是負數。
(3)再如,測試乙個對線性表(比如陣列)進行排序的程式,可推測列出以下幾項需要特別測試的情況:
i. 輸入的線性表為空表;
ii. 表中只含有乙個元素;
iii. 輸入表中所有元素已排好序;
iv. 輸入表已按逆序排好;
v. 輸入表中部分或全部元素相同。
黑盒測試用例設計
黑盒測試用例設計方法 設計大量的測試用例,使之覆蓋軟體中的所有輸入輸出介面。白盒測試用例設計方法 設計足夠多的測試用例,使之覆蓋程式內部的所有邏輯結構與路徑。把程式的輸入域劃分成若干部分,然後從每個部分中選取少數代表性資料作為測試用例 每類的代表性資料在測試中的作用等價於這一類中的其他值,如果某一類...
黑盒測試用例設計 前言(一)
前言 2016年4月至5月針對z11系列上的type c介面,負責分析方案和需求,編寫測試方案和用例16條 2016年7月至10月期間,參與部門用例整體優化。在 本模組的細化工作中新增和修改用例287條,相容性模組用例深度優化工作中新增8條,修改41條。經過幾番鍛鍊,入職培訓時學習到的用例設計的多數...
黑盒測試用例設計方法
1 等價劃分 所謂等價類劃分是指一套被選擇的值,這些值分別代表了許多眾多的可能輸入值,程式對其處理的方式都是一樣的。等價類劃分的方法作為繼邊界值分析方法之後補充的測試用力設計試用的一種方法。劃分等價類 確定測試用例 等價類劃分是一種典型的黑盒測試方法,使用這一方法時,完全不考慮程式的內部結構,只依據...