c)其它邊界值檢驗
6.基于邊界值分析方法選擇測試用例的原則
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.現有一個學生標準化考試批閱試卷,產生成績報告的程序。其規格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為3組:
?、贅祟}:這一組只有一個記錄,其內容為輸出成績報告的名字。
?、谠嚲砀黝}標準答案記錄:每個記錄均在第80個字符處標以數字"2"。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)。該組的第2,第3……個記錄相應為第51至第100,第101至第150,…題的答案。
?、勖總€學生的答卷描述:該組中每個記錄的第80個字符均為數字"3"。每個學生的答卷在若干個記錄中給出。如甲的首記錄第1至第9字符給出學生姓名及學號,第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數超過50,則第2,第3……紀錄分別給出他的第51至第100,第101至第150……題的解答。然后是學生乙的答卷記錄。
?、軐W生人數不超過200,試題數不超過999。
?、莩绦虻妮敵鲇?個報告:
a)按學號排列的成績單,列出每個學生的成績、名次。
b)按學生成績排序的成績單。
c)平均分數及標準偏差的報告。
d)試題分析報告。按試題號排序,列出各題學生答對的百分比。
解答:分別考慮輸入條件和輸出條件,以及邊界條件。給出下表所示的輸入條件及相應的測試用例。
輸出條件及相應的測試用例表。
2.三角形問題的邊界值分析測試用例 在三角形問題描述中,除了要求邊長是整數外,沒有給出其它的限制條件。在此,我們將三角形每邊邊長的取范圍值設值為[1, 100] 。
測試用例
|
a
|
b
|
c
|
預期輸出
|
Test1
Test2
Test3
Test4
Test5
|
60
60
60
50
50
|
60
60
60
50
50
|
1
2
60
99
100
|
等腰三角形
等腰三角形
等邊三角形
等腰三角形
非三角形
|
Test6
Test7
Test8
Test9
|
60
60
50
50
|
1
2
99
100
|
60
60
50
50
|
等腰三角形
等腰三角形
等腰三角形
非三角形
|
Test10
Test11
Test12
Test13
|
1
2
99
100
|
60
60
50
50
|
60
60
50
50
|
等腰三角形
等腰三角形
等腰三角形
非三角形
|