引入
乙個軟體無論實現怎樣各種各樣豐富的功能,其內部實現都不可避免的對各種各樣的資料範圍進行界定與判斷,從而針對不同的資料範圍進行所需的處理,從而實現軟體的需求。而由於需求界定不準確、設計不嚴密、程式書寫手誤等原因,對於這些資料範圍邊界的判斷是軟體極容易出錯的地方,使軟體做出錯誤的處理。從而無法滿足軟體需求。
針對於這種情況,軟體測試中有乙個測試方法叫做邊界值法,這個方法也是經常被測試人員提到,我們下面來看看這個方法具體的操作方法。
為什麼會有邊界值分析法?
長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。
例如:程式設計師只處理了1-10位的情況,忘記對10位進行處理;
程式設計師把≤誤寫成了<,計數器發生少計數一次。
邊界值分析法
對輸入或輸出的邊界值進行測試的一種黑盒測試方法。
是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。
邊界點1、邊界是指相對於輸入等價類和輸出等價類而言,稍高於、稍低於其邊界值的一些特定情況。
2、邊界點分為上點、內點和離點。
邊界值分析法&等價類劃分法
邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在於劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。
如何選擇測試資料?(原則)
1、如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界值,以及剛剛超越這個範圍邊界的值作為測試輸入資料。
例如:程式的規格說明中規定:「重量在10公斤至50公斤範圍內的郵件,其郵費計算公式為……」。
測試資料取7個點應取10、25及50,還應取10.01,49.99,9.99及50.01
測試資料取5個點贏取10、25及50,還應取9.99及50.01
重量可以是小數,沒有規定小數點個數時預設取兩位
2、如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少1,比最大個數多1的數作為測試資料。
例如,乙個輸入檔案應包括1-255個記錄。
測試資料可取1和255,還應取0及256等
3、根據規格中每個輸出條件,使用原則1,如果輸出條件規定了值的範圍,則應取剛達到這個範圍的邊界值,以及剛剛超越這個範圍邊界的值作為測試輸入資料。
例如,程式的規格說明要求計算出「每月績效獎金為0至1165.25元」。
測試用例可取0.00及1165.25,還可取-0.01及1165.26等。
4、根據規格中每個輸出條件,使用原則2,如果輸出條件規定了值的個數,則用最大個數、最小個數,比最小個數少1,比最大個數多1的數作為測試資料。
例如,情報檢索系統,要求每次「最少顯示1條、最多顯示4條情報摘要」。
這時我們應考慮的測試用例包括1和4,還應包括0和5等。
5、如果程式中使用了乙個內部資料結構,則應當選擇這個內部資料結構的邊界上的值作為測試用例。
例如,程式系統設計文件中,上傳的:格式、名字、大小、是否有效…
6、分析規格說明,找出其他可能的邊界條件
例如,特殊邊界值:預設值、空值、空格、零、無效資料等
邊界值檢驗的主要型別
邊界型別
輸入數字
最大、最小
字元首位、末位
位置上、下
重量最高、最低
速度最快、最慢
方位最高、最低
尺寸最長、最短
空間空、滿
在多數情況下,邊界值條件是基於應用程式的功能設計而需要考慮的因素,可以從軟體的需求規格或常識中得到,也是終端使用者可以很容易發現問題的。
還有沒有從軟體規格說明中看不到的邊界值呢?
內部邊界值
有些邊界值條件在軟體內部,使用者幾乎看不到,但同時確實屬於檢驗範疇內的邊界條件,成為內部邊界條件或次邊界值條件。
常見的內部邊界值條件有下面兩種:
數值的邊界值
字元的邊界值
在實際的測試用例中,需要將基本的軟體設計要求和程式定義的要求結合起來,即結合基本邊界值條件和內部邊界值條件來設計有效的測試用例。
內部邊界值(1):數值的邊界值
計算機是基於二進位制進行工作的,因此,軟體的任何數值運算都有一定的範圍限制。
項範圍或值
位(bit)
0或1位元組(byte)
0-255
字(word)
0-65535(單字)或0-4294967295(雙字)
例如,程式有乙個輸入變數x的範圍是(0,10000),但是在程式內部,當想x≤255時,用乙個位元組表示,當x>255時用乙個字表示,那麼,255就是乙個內部邊界值。
邊界條件設計測試用例步驟
1、確定邊界情況
通常輸入或輸出等價類的邊界就是應該著重測試的邊界情況。
2、選取測試資料
選取正好等於、剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值。
例如:程式的規格說明中規定:「重量在10公斤至50公斤範圍內的郵件,其郵費計算公式為……」。
測試資料取7個點應取10、25及50,還應取10.01,49.99,9.99及50.01
測試用例
x輸入資料
預期輸出
t1xmin-
9.99
f1t2
xmin
f2t3
xmin+
10.01
f3t4
xnom
f4t5
xmax-
49.99
f5t6
xmax
f6t7
xmax+
50.01
f7例如:對於函式f(x1,x2),其輸入變數x1和x2的取值邊界定義如下:
a≤x1≤b;c≤x2≤d
其中兩個變數都為正數。
編號x1
x2f(x1,x2)abc
f(ab,c)abd
f(ab,d)
abcd
abc-
abd+acd
bcda-cd
b+cd
邊界條件測試用例設計法
基於邊界的方法是根據定義域來實現的,最終演變成一般邊界值條件測試、健壯性測試、最壞情況測試和健壯最壞情況測試四種技術。
1、一般邊界值條件測試:(1)每次保留程式中乙個變數,讓其餘的變數取正常值,被保留的變數依次取min、min+、nom、max-、max
(2)對程式中的每個變數重複(n個變數的測試用例個數為4n+1個)
2、健壯性測試:(1)每次保留程式中乙個變數,讓其餘的變數取正常值,被保留的變數依次取min-、min、min+、nom、max-、max、max+。
(2)對程式中的每個變數重複(n個變數的測試用例個數為6n+1個)
3、最壞情況測試:(1)所有變數均可去min、min+、nom、max-、max+這五個邊界值中的任何乙個。(組合)
(2)測試用例為五個集合的笛卡爾乘積。對於乙個n變數函式,該方法生成的測試用例數為5的n次方個。
4、健壯最壞情況測試:(1)所有變數均可取min-、min、min+、nom、max-、max、max+這7個邊界值中的任何乙個。
(2)測試用例為7個集合的笛卡爾乘積。對於乙個n變數函式,該方法生成的測試用例數為7的n次方個。
黑盒測試 邊界值分析法
引入 乙個軟體無論實現怎樣各種各樣豐富的功能,其內部實現都不可避免的對各種各樣的資料範圍進行界定與判斷,從而針對不同的資料範圍進行所需的處理,從而實現軟體的需求。而由於需求界定不準確 設計不嚴密 程式書寫手誤等原因,對於這些資料範圍邊界的判斷是軟體極容易出錯的地方,使軟體做出錯誤的處理。從而無法滿足...
軟體測試 黑盒測試 邊界值分析法
可能存在邊界值的地方 數字 字元 位置 質量 大小 速度 方位 尺寸 空間 對應的邊界 最大 最小 首位 末位 上 下 最快 最慢 最高 最低 最短 最長 空 滿 測試實踐表明,大量的故障往往發生在輸入定義域的邊界上,而不是在其內部。因此,針對各種邊界情況設計測試用例,通常會取得很好的測試效果。例如...
邊界值分析法 黑盒測試設計專題 邊界值
關注betester,學習更多知識 讓碎片成體系,讓測試更專業 當我們還是學生時,最彷徨的莫過於得知自己的考試成績僅差 半分 就達到目標。即便只有 半分 差異,回到家卻是一種天上與煉獄的待遇。這種處於臨界的差異會產生截然不同的狀態,使得結果發生天翻地覆的變化。軟體測試也不例外,很多 對邊界處理不當,...