引入
乙個軟體無論實現怎樣各種各樣豐富的功能,其內部實現都不可避免的對各種各樣的資料範圍進行界定與判斷,從而針對不同的資料範圍進行所需的處理,從而實現軟體的需求。而由於需求界定不準確、設計不嚴密、程式書寫手誤等原因,對於這些資料範圍邊界的判斷是軟體極容易出錯的地方,使軟體做出錯誤的處理。從而無法滿足軟體需求。
針對於這種情況,軟體測試中有乙個測試方法叫做邊界值法,這個方法也是經常被測試人員提到,我們下面來看看這個方法具體的操作方法。
為什麼會有邊界值分析法?
長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。
例如:程式設計師只處理了
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
10f2
t3xmin+
10.01
f3t4
xnom
25f4
t5xmax-
49.99
f5t6
xmax
50f6
t7xmax+
50.01f7
例如:對於函式f(
x1,x2
),其輸入變數x1和
x2的取值邊界定義如下: a
≤x1≤
b;c≤
x2≤d
其中兩個變數都為正數。編號x
1 x2
f(x1,x2)
1abc
f(ab,c) 2
abdf(ab,d)3ab
cd4abc-5ab
d+6acd
7bcd8
a-cd9b+
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,學習更多知識 讓碎片成體系,讓測試更專業 當我們還是學生時,最彷徨的莫過於得知自己的考試成績僅差 半分 就達到目標。即便只有 半分 差異,回到家卻是一種天上與煉獄的待遇。這種處於臨界的差異會產生截然不同的狀態,使得結果發生天翻地覆的變化。軟體測試也不例外,很多 對邊界處理不當,...