目錄:
①邊界值分析法的介紹和概念
②邊界值分析法的原理和思想
③單缺陷假設(shè)和多缺陷假設(shè)
④邊界值測試數(shù)據(jù)類型
⑤內(nèi)部邊界值分析
⑥各類邊界值測試介紹
⑦基于邊界值分析方法選擇測試用例的原則
⑧邊界值分析法的實例分析
1、邊界值分析法的介紹和概念
邊界值分析是一種常用的黑盒測試方法,是對等價類劃分方法的補充;所謂邊界值,是指相對于輸入等價類和輸出等價類而言,稍高于其最高值或稍低于最低值的一些特定情況。邊界值分析的步驟包括確定邊界,選擇測試用例兩個步驟。
根據(jù)大量的測試統(tǒng)計數(shù)據(jù),很多錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入/輸出范圍的中間區(qū)域。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。所以,邊界值分析法是一種很實用的黑盒測試用例方法,它具有很強的發(fā)現(xiàn)故障缺陷能力。
2、邊界值分析法原理和思想
2.1邊界值分析法的基本原理
錯誤更可能出現(xiàn)在輸入變量的極值附近。失效極少由兩個(或多個)缺陷的同時發(fā)生引起的。
2.2邊界值分析法的基本思想
選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。
表示方法:最小值min,略高于最小值min+,正常值nom,略低于最大值max-,最大值max
3、單缺陷假設(shè)和多缺陷假設(shè)
單缺陷假設(shè)是邊界值分析的關(guān)鍵假設(shè)。單缺陷假設(shè)指“失效極少是由兩個或兩個以上的缺陷同時發(fā)生引起的”。在邊界值分析中,單缺陷假設(shè)即選取測試用例時僅僅使得一個變量取極值,其他變量均取正常值。
多缺陷假設(shè)則是指“失效是由兩個或兩個以上缺陷同時作用引起的”,要求在選取測試用例時同時讓多個變量取極值。
4、邊界值測試數(shù)據(jù)類型
類型包括:數(shù)值、速度、字符、地址、位置、尺寸、數(shù)量、空間……
項 |
邊界值 |
測試用例的設(shè)計思路 |
字符 |
起始-1個字符/結(jié)束+1個字符 |
假設(shè)一個文本輸入?yún)^(qū)域允許輸入1個到255個 字符,輸入1個和255個字符作為有效等價類;輸入0個和256個字符作為無效等價類,這幾個數(shù)值都屬于邊界條件值。 |
數(shù)值 |
最小值-1/最大值+1 |
假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的 數(shù)值來作為邊界條件。 |
空間 |
小于空余空間一點/大于滿空間一點 |
例如在用U盤存儲數(shù)據(jù)時,使用比剩余磁盤空間大一點(幾KB)的文件作為邊界條件。 |
以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最長、 空/滿等情況下用邊界值作為測試數(shù)據(jù)
5、內(nèi)部邊界值分析
在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計而需要考慮的因素,可以從軟件的規(guī)格說明或常識中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設(shè)計過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時確實屬于檢驗范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。
內(nèi)部邊界值條件主要有下面幾種:
51、數(shù)值的邊界值檢驗:計算機是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運算都有一定的范圍限制。
項 |
范圍或值 |
位(bit) |
0 或 1 |
字節(jié)(byte) |
0 ~ 255 |
字(word) |
0~65535(單字)或 0~4294967295(雙字) |
千(K) |
1024 |
兆(M) |
1048576 |
吉(G) |
1073741824 |
5.2字符的邊界值檢驗:在計算機軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。如下列出了一些常用字符對應(yīng)的ASCII碼值。
字符 |
ASCII碼值 |
空 (null) |
0 |
空格 (space) |
32 |
可輸入的字符 |
33~126 |
0~9 |
48~57 |
A~Z |
65~90 |
a~z |
97~122 |
5.3其它邊界值檢驗:在不同的行業(yè)應(yīng)用領(lǐng)域,依據(jù)硬件和軟件的標(biāo)準(zhǔn)不同而具有各自特定的邊界值。如下列出部分手機相關(guān)的邊界值
硬件設(shè)備 |
范圍或值 |
手機鋰電池電壓 |
工作電壓:3.6~4.2V; 保護(hù)電壓:2.5~3V不等 |
手機正常使用溫度 |
-25°C~+60°C |
6、邊界值測試介紹
6.1基本邊界值測試
有n個輸入變量,設(shè)計測試用例使得一個變量在數(shù)據(jù)有效區(qū)內(nèi)取最大值、略小于最大值、正常值、略大于最小值和最小值。如下圖所示,兩個變量X1,X2。它們的有效取值區(qū)間分別為[c,d],[a,b]。
對于有n個輸入變量的程序,基本邊界值分析的測試用例個數(shù)為4n+1。
邊界值測試分析采用了可靠性理論的單缺陷假設(shè)。
優(yōu)點:簡便易行;生成測試數(shù)據(jù)的成本很低
局限性:測試用例不充分;不能發(fā)現(xiàn)測試變量之間的依賴關(guān)系;不考慮含義和性質(zhì);
結(jié)論:只能作為初步測試用例使用
6.2健壯性測試
健壯性是指在異常情況下,軟件還能正常運行的能力。健壯性考慮的主要部分是預(yù)期輸出,而不是輸入。健壯性測試是邊界值分析的一種簡單擴展。除了變量的5 個邊界分析取值還要考慮略超過最大值(max)和略小于最小值(min)時的情況。健壯性測試的最大價值在于觀察處理異常情況,它是檢測軟件系統(tǒng)容錯性的重要手段。如下圖所示。
PS:軟件容錯性的度量:從非法輸入中恢復(fù);健壯性有兩層含義:容錯能力和恢復(fù)能力
對于有n個輸入變量的程序,健壯性測試的測試用例個數(shù)為6n+1。
6.3最壞情況測試
最壞情況測試拒絕單缺陷假設(shè),它關(guān)心的是當(dāng)多個變量取極值時出現(xiàn)的情況。最壞情況測試中,對每一個輸入變量首先進(jìn)行包含最小值、略高于最小值、正常值、略低于最大值、最大值等5個元素集合的測試,然后對這些集合進(jìn)行笛卡爾積計算,以生成測試用例。最壞情況測試將意味著更大工作量。如下圖所示。
對于有n個輸入變量的程序,最壞情況測試的測試用例個數(shù)為5^n。
最壞情況與基本邊界值分析的比較
- 基本邊界值分析測試用例是最壞情況測試用例的真子集
- 最壞情況測試顯然更徹底
- 最壞情況測試工作量大得多,變量函數(shù)的最壞情況測試會產(chǎn)生5的n次方個測試用例,邊界值分析只產(chǎn)生4n+1個測試用例
6.4健壯性最壞情況測試
健壯最壞情況假設(shè)對每一個變量首先進(jìn)行最小值、略小于最小值的值、略高于最小值的值、正常值、最大值、略高于最大值的值、略低于最大值的值等7個元素的集合。然后對這些集合進(jìn)行笛卡爾積運算,以生成測試用例。如下圖所示。
對于有n個輸入變量的程序,健壯最壞情況測試的測試用例個數(shù)為7^n。
6.5特殊值測試
- 邊界值分析假定n個變量是互相獨立的,沒有考慮這些變量之間的互相依賴關(guān)系;
- 特殊值測試使用領(lǐng)域知識、使用類似程序的經(jīng)驗開發(fā)用例的特殊值。
- 特點:最直觀、最不一致、具有高度主觀性
- 特殊值測試特別依賴測試人員的能力
- 雖然特殊值測試是高度主觀性,但是能更有效地發(fā)現(xiàn)問題
例如:2月28日、2月29日
6.6隨機測試
- 隨機測試的基本思想
不是永遠(yuǎn)選取有界變量的最小值、略高于最小值、正常值、略低于最大值和最大值,而是使用隨機數(shù)生成器選出測試用例。
- 隨機測試的一種實現(xiàn)方法
有界變量a≤X≤b值的一個VisualBasic應(yīng)用程序生成的X,滿足下式:
X=Int(b-a+1)*Rnd+a
函數(shù)Int返回浮點數(shù)的整數(shù)部分
函數(shù)Rnd生成區(qū)間[0,1]內(nèi)的隨機數(shù)
7、基于邊界值分析方法選擇測試用例的原則
1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。
例如,如果程序的規(guī)格說明中規(guī)定:
"重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費計算公式為……"。作為測試用例,我們應(yīng)取10及50,還應(yīng)取10.01,49.99,9.99及50.01等。
2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。
例如,一個輸入文件應(yīng)包括1~255個記錄,則測試用例可取1和255,還應(yīng)取0及256等。
3)將規(guī)則1)和2)應(yīng)用于輸出條件,即設(shè)計測試用例使輸出值達(dá)到邊界值及其左右的值。
例如,某程序的規(guī)格說明要求計算出"每月保險金扣除額為0至1165.25元",其測試用例可取0.00及1165.24、還可取一0.01及1165.26等。
再如一程序?qū)儆谇閳髾z索系統(tǒng),要求每次“最少顯示1條、最多顯示4條情報摘要”,這時我們應(yīng)考慮的測試用例包括1和4,還應(yīng)包括0和5等。
4)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。
5)如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。
6)分析規(guī)格說明,找出其它可能的邊界條件。
8、邊界值分析法實例分析
現(xiàn)有一個學(xué)生標(biāo)準(zhǔn)化考試批閱試卷,產(chǎn)生成績報告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為3組:
標(biāo)題:這一組只有一個記錄,其內(nèi)容為輸出成績報告的名字。
試卷各題標(biāo)準(zhǔn)答案記錄:每個記錄均在第80個字符處標(biāo)以數(shù)字"2"。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)。該組的第2,第3……個記錄相應(yīng)為第51至第100,第101至第150,…題的答案。
每個學(xué)生的答卷描述:該組中每個記錄的第80個字符均為數(shù)字"3"。每個學(xué)生的答卷在若干個記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生姓名及學(xué)號,第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數(shù)超過50,則第2,第3……紀(jì)錄分別給出他的第51至第100,第101至第150……題的解答。然后是學(xué)生乙的答卷記錄。
學(xué)生人數(shù)不超過200,試題數(shù)不超過999。
程序的輸出有4個報告:
??? a)按學(xué)號排列的成績單,列出每個學(xué)生的成績、名次。
??? b)按學(xué)生成績排序的成績單。
??? c)平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報告。
??? d)試題分析報告。按試題號排序,列出各題學(xué)生答對的百分比。
分別考慮輸入條件和輸出條件,以及邊界條件。給出右表所示的輸入條件及相應(yīng)的測試用例。
文章來源:http://www.zghlxwxcb.cn/news/detail-831051.html
【B站最系統(tǒng)的軟件測試教程】阿里兼字節(jié)大佬200小時講完的測試教程,全程干貨無廢話!學(xué)完即可就業(yè),別在盲目自學(xué)?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-831051.html
到了這里,關(guān)于軟件測試方法_邊界值分析法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!