邊界值分析法也是一種黑盒測(cè)試用例設(shè)計(jì)方法。
由大量的測(cè)試經(jīng)驗(yàn)總結(jié)得知大量錯(cuò)誤往往發(fā)生在邊界情況,所以針對(duì)邊界情況設(shè)計(jì)測(cè)試用例,可以更大概率的查出錯(cuò)誤。
一、哪些情況需要做邊界值分析
1、輸入條件明確了值的范圍(比如參數(shù)值范圍1-99)
2、輸入條件明確了值的個(gè)數(shù)(比如參數(shù)表示個(gè)數(shù),需求規(guī)定個(gè)數(shù)1-5個(gè))
3、輸入條件明確了是一個(gè)有序的集合(比如參數(shù)只能是(1,2,3))
二、如何使用邊界值分析
舉個(gè)例子
淘寶店鋪老板想搞活動(dòng),假設(shè)淘寶服務(wù)搞活動(dòng)接口其中一個(gè)參數(shù)就是活動(dòng)時(shí)長(zhǎng),后端規(guī)定活動(dòng)的時(shí)長(zhǎng)最多72個(gè)小時(shí),最少24個(gè)小時(shí)。此時(shí)針對(duì)創(chuàng)建活動(dòng)的這個(gè)時(shí)長(zhǎng)參數(shù),我們可以設(shè)計(jì)如下用例。
首先用等價(jià)類劃分法做一下劃分。

然后結(jié)合有效等價(jià)類1和無(wú)效等價(jià)類2345分別設(shè)計(jì)測(cè)試用例。

結(jié)合前一篇等價(jià)類的知識(shí)可以知道,等價(jià)類是用最少的用例覆蓋所有等價(jià)類即可,但這里前3個(gè)用例都是覆蓋等價(jià)類1的,這就是等價(jià)類設(shè)計(jì)時(shí)結(jié)合了邊界值分析法。
24<=time<=72
這里的邊界有兩個(gè)24和72,這里邊界情況取了5種,24,72,23,73,36。
因?yàn)槭情]區(qū)間,所以除了邊界值,還要考慮邊界值過(guò)去一點(diǎn)點(diǎn),比如23,73
然后因?yàn)閠ime是個(gè)范圍,還要在范圍內(nèi)補(bǔ)充一個(gè)測(cè)試點(diǎn),這里取36。
三、邊界值分析有技巧,如何用例最少?
繼續(xù)使用上面分析的例子。
前面介紹了范圍是個(gè)閉區(qū)間的情況,我們邊界分析法如何取值?,F(xiàn)在介紹另外兩種情況。
1、如果范圍是個(gè)半開(kāi)半閉區(qū)間,那用例要怎么取值呢?比如24<time<=72
此時(shí):有效等價(jià)類先取邊界,因?yàn)?4是無(wú)效等價(jià)類,所以最小值只能取25,最大還是72,然后范圍內(nèi)還要取一個(gè)值比如36,目前有效等價(jià)類有3個(gè)用例覆蓋:25,72,36
此時(shí)設(shè)計(jì)覆蓋無(wú)效等價(jià)類的值,首先24是卡在邊界上的第一個(gè)值,然后同樣73
所以如果是半開(kāi)半閉的區(qū)間,用例取值有:25,72,36,24,73
2、如果范圍是個(gè)開(kāi)區(qū)間,此時(shí)用例要怎么取值呢?比如24<time<72
同理,覆蓋有效等價(jià)類的最靠近邊界的值為25,71,然后范圍再取一個(gè)值,如36
覆蓋無(wú)效等價(jià)類的邊界值顯然為24,72
所以如果是開(kāi)區(qū)間,用例取值有:25,71,36,24,72
囧:有一種糊涂的邊界值分析法是不管開(kāi)閉區(qū)間,取所有邊界和臨近邊界的值,如:
23,24,25,71,72,73,36
缺點(diǎn)就是會(huì)有冗余的測(cè)試用例,增加無(wú)用的工作量
總結(jié):邊界值分析時(shí)結(jié)合等價(jià)類做到合理的取邊界值,而不是盲目的取所有邊界和臨近邊界的值!