無數的測試實踐表明,大量的故障往往發生在輸入定義域或輸出值域的邊界上,而不是在其內部。因此,針對各種邊界情況設計測試用例,通常會取得很好的測試效果。
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法,通常作爲對等價類劃分法的補充,其測試用例來自等價類的邊界。
邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在於劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。
如果你對等價類劃分法還不瞭解,可先閱讀:http://www.noobyard.com/article/p-newqfycl-qg.html
(1)如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界值以及剛剛超過這個範圍邊界的值作爲測試輸入數據。
(2)如果輸入條件規定了值的個數,則用最大個數、最小個數和比最大個數多1個、比最小個數少1個的數作爲測試數據。
(3)根據程序規格說明的每個輸出條件,使用原則(1)。
(4)根據程序規格說明的每個輸出條件,使用原則(2)。
(5)如果程序的規格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應選取集合中的第一個和最後一個元素作爲測試用例。
(6)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作爲測試用例。
(7)分析程序規格說明,找出其它可能的邊界條件。
某程序具有如下功能:文本框要求輸入日期信息,日期限定在1990年1月~2049年12月,並規定日期由6位數字字符組成,前4位表示年,後2位表示月;程序需對輸入的日期有效性進行校驗。
用等價類劃分方法和邊界值分析法爲該程序的「日期檢查功能」設計測試用例。
步驟一:
要求輸入6個數字字符yyyynn;參照等價類劃分法規則5,劃分爲一個有效等價類和三個無效等價類。
1、有效等價類(1):輸入6個數字字符
無效等價類(2):輸入6個字符,存在非數字的情況
2、採用邊界值,6個字符全爲非數字:abcdef
採用邊界值,6個字符中有1個爲非數字:19930m
3、無效等價類(3):輸入少於6個數字字符
採用邊界值,輸入5個數字字符
4、無效等價類(4):輸入多於6個數字字符
採用邊界值,輸入7個數字字符
步驟二:
在有效等價類(1)的基礎上,參照等價類劃分法規則6,對該等價類進行細分;考察6個數是否滿足日期格式要求,1990<=yyyy<=2049,01<=nn<=12,參照規則,劃分爲一個有效等價類和四個無效等價類。
1、有效等價類(5):日期格式滿足要求,1990<=yyyy<=2049,01<=nn<=12
採用邊界值,[yyyy,nn]取值爲:[1990,06],[1991,06],[2020,06],[2020,11],[2020,12]
2、無效等價類(6):yyyy不滿足要求,yyyy<1990
採用邊界值,[yyyy,nn]取值爲:[1989,06]
3、無效等價類(7):yyyy不滿足要求,yyyy>2049
採用邊界值,[yyyy,nn]取值爲:[2050,06]
4、無效等價類(8):nn不滿足要求,nn<01
採用邊界值,[yyyy,nn]取值爲:[2020,00]
5、無效等價類(9):nn不滿足要求,nn>12
採用邊界值,[yyyy,nn]取值爲:[2020,13]
序號 | yyyynn | 覆蓋等價類 | 預期輸出結果 |
---|---|---|---|
– | – | 覆蓋有效等價類和邊界值 | – |
1 | 199006 | (1)(5) | 日期格式有效 |
2 | 199106 | (1)(5) | 日期格式有效 |
3 | 202006 | (1)(5) | 日期格式有效 |
4 | 202011 | (1)(5) | 日期格式有效 |
5 | 202012 | (1)(5) | 日期格式有效 |
– | – | 覆蓋無效等價類和邊界值 | – |
6 | abcdef | (2) | 日期格式無效 |
7 | 19930m | (2) | 日期格式無效 |
8 | 19935 | (3) | 日期格式無效 |
9 | 1993050 | (4) | 日期格式無效 |
10 | 198906 | (6) | 日期格式無效 |
11 | 205006 | (7) | 日期格式無效 |
12 | 202000 | (8) | 日期格式無效 |
13 | 202013 | (9) | 日期格式無效 |
創建了一個測試交流羣,如果對軟件測試、接口測試、自動化測試、面試經驗交流感興趣可以加測試交流羣:829792258,還會有同行一起技術交流