边界值法设计测试用例
大量的測(cè)試實(shí)踐表明,很多錯(cuò)誤是發(fā)生在輸入或輸出數(shù)據(jù)范圍的邊界上,因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,有利于揭露程序中的錯(cuò)誤。
邊界值分析法是對(duì)等價(jià)類分析法的補(bǔ)充。邊界值分析法利用各輸入等價(jià)類的最小值、略大于最小值的值、正常值、略小于最大值的值和最大值處進(jìn)行取值。
1.“單故障”假設(shè)
邊界值分析的另外一個(gè)要點(diǎn)基于一個(gè)十分重要的假設(shè)“單故障”假設(shè),即失效問(wèn)題通常不會(huì)由兩個(gè)(或多個(gè))故障同時(shí)引發(fā)。因此,構(gòu)造邊界值測(cè)試用例的方法是,盡讓一個(gè)變量取邊界值,其余變量取正常值。
例如有函數(shù)F(x1,x2) a ≤x1≤ b,c ≤x2≤ d,那么邊界值取值情況應(yīng)如下圖:
因此,對(duì)于一個(gè)n個(gè)變量的函數(shù),將會(huì)吃產(chǎn)生4n+1個(gè)不同的測(cè)試用例。
2.健壯性測(cè)試
健壯性測(cè)試是對(duì)邊界值分析的一種簡(jiǎn)單擴(kuò)展,在對(duì)變量的5個(gè)邊界值進(jìn)行分析之外,近一步考慮略大最大值和略小于最小值的情況。那么函數(shù)F(x1,x2)邊界值取值情況應(yīng)如下圖:
邊界值分析的大部分屬性都直接適用于健壯性測(cè)試,對(duì)健壯性測(cè)試來(lái)說(shuō),最重要的不是輸入而是期望輸出。
3.最壞情況測(cè)試
如前所述,邊界值分析是基于可靠性理論中的單故障假設(shè)的。如果拋開這個(gè)假設(shè),就意味著要考察多個(gè)變量同時(shí)取極值的情況。這在電路分析中叫“最壞情況分析”,這里也利用這種思想來(lái)構(gòu)造最壞情況測(cè)試用例。對(duì)于每個(gè)變量先構(gòu)造最小值、略大于最小值的值、正常值、略小于最大值的值和最大值5個(gè)邊界值的集合,然后計(jì)算這些集合的笛卡爾積。對(duì)于有n個(gè)變量的函數(shù)來(lái)說(shuō),最壞情況測(cè)試將會(huì)構(gòu)造出5n個(gè)測(cè)試用例。
那么函數(shù)F(x1,x2)邊界值取值情況應(yīng)如下圖:
最壞情況測(cè)試適用于各個(gè)物理量之間存在大量的相互作用,而且函數(shù)失效代價(jià)極高的情況。
在對(duì)測(cè)試有特別極端的要求時(shí)應(yīng)采用健壯性最壞情況測(cè)試,這就是要用健壯性測(cè)試的7個(gè)值的集合做笛卡爾積,得到7n個(gè)測(cè)試用例。函數(shù)F(x1,x2)邊界值取值情況應(yīng)如下圖:
4.特殊值測(cè)試
特殊值測(cè)試可能是采用最廣泛的一種功能測(cè)試方法,也是最直觀、最難統(tǒng)一的。在特殊值測(cè)試這種,測(cè)試人員利用其背景知識(shí)、在類似程序方面積累的經(jīng)驗(yàn)以及對(duì)軟件“軟肋”的了解來(lái)設(shè)計(jì)測(cè)試用例。
5.邊界值分析法設(shè)計(jì)測(cè)試用例應(yīng)遵循的原則
1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。
2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。
3)將規(guī)則1)和2)應(yīng)用于輸出條件,即設(shè)計(jì)測(cè)試用例使輸出值達(dá)到邊界值及其左右的值。
例如,某程序的規(guī)格說(shuō)明要求計(jì)算出"每月保險(xiǎn)金扣除額為0至1165.25元",其測(cè)試用例可取0.00及1165.24、還可取一0.01及1165.26等。
再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次"最少顯示1條、最多顯示4條情報(bào)摘要",這時(shí)我們應(yīng)考慮的測(cè)試用例包括1和4,還應(yīng)包括0和5等。
4)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。
5)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。
6.實(shí)例
NextDate函數(shù)包含三個(gè)變量:month(月份)、day(日期)、和年(year),函數(shù)的輸出為輸入日期的后一天的日期。例如輸入為2007年9月9日,則函數(shù)的輸出為2007年9月10日。要求輸入變量month、day、year均為整數(shù)值,并且滿足下列條件:
1)1≤month≤ 12
2)1≤day≤ 31
3)1812 ≤year≤ 2012
最壞情況測(cè)試用例:
7.邊界值分析法的局限性
邊界值分析法非常適用于多個(gè)變量相互獨(dú)立又都代表實(shí)際物理量的情況。例如:NextDate函數(shù)中并沒(méi)有針對(duì)2月和閏年的測(cè)試,實(shí)際上month、day和year這幾個(gè)變量之間存在特殊的依賴關(guān)系。邊界值分析假定各個(gè)變量之間應(yīng)該是完全獨(dú)立的。
變量的物理指標(biāo)同樣重要。如果某個(gè)變量代表具體的物理量,比如溫度、壓力、速度等,這個(gè)量的物理邊界就非常重要。
總結(jié)
以上是生活随笔為你收集整理的边界值法设计测试用例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 播布客视频PIT专用播放器MBOO201
- 下一篇: CAD中的格式刷功能如何使用