新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux內(nèi)核函數(shù)魯棒性關(guān)聯(lián)測(cè)試研究

Linux內(nèi)核函數(shù)魯棒性關(guān)聯(lián)測(cè)試研究

作者: 時(shí)間:2012-03-09 來(lái)源:網(wǎng)絡(luò) 收藏

35.jpg

在進(jìn)行時(shí),首先進(jìn)行參數(shù),先把待測(cè)中有互相作用的參數(shù)進(jìn)行包裝,在中人為構(gòu)造參數(shù)維度等于失效維度的情況。例如,f(A,B,C,D,E)中,參數(shù)A、B、C有。首先將參數(shù)E和參數(shù)F取合法輸入值,然后測(cè)試參數(shù)A、B、C的所有組合。若有失效,必定是一維失效或者三維失效。在對(duì)進(jìn)行了充分的關(guān)聯(lián)測(cè)試后,再進(jìn)行參數(shù)非關(guān)聯(lián)性測(cè)試。取出上例中參數(shù)A、B、C的一個(gè)合法組合,對(duì)參數(shù)E和參數(shù)F的所有用例分別進(jìn)行測(cè)試。若有失效,必定是一維失效,這樣也很容易分析測(cè)試結(jié)果和寫(xiě)出保護(hù)代碼。

通過(guò)對(duì)函數(shù)的參數(shù)關(guān)聯(lián)性進(jìn)行測(cè)試可得出結(jié)論,只有當(dāng)函數(shù)所有參數(shù)都發(fā)生關(guān)聯(lián)作用時(shí),關(guān)聯(lián)測(cè)試所需用例的個(gè)數(shù)才會(huì)等于傳統(tǒng)組合測(cè)試所需的用例個(gè)數(shù).所以,在覆蓋率不變的情況下,若采用關(guān)聯(lián)測(cè)試法,可以有效減少測(cè)試用例個(gè)數(shù),并且還能夠消除維度失效跳變帶來(lái)的影響。

4 測(cè)試實(shí)例

實(shí)際測(cè)試中測(cè)試環(huán)境為DELL的DIMENSION 4700,操作系統(tǒng)為Redhat 8.0,系統(tǒng)為2.2.24.實(shí)測(cè)以read()函數(shù)參數(shù)組合表為例,其表中組合測(cè)試用例的個(gè)數(shù)為5×5×5=125個(gè)。進(jìn)行關(guān)聯(lián)測(cè)試時(shí)先對(duì)其參數(shù)的關(guān)聯(lián)性進(jìn)行分析,通過(guò)分析可以得知它的三個(gè)參數(shù)中只有buf和count有關(guān)聯(lián)。

實(shí)測(cè)中首先進(jìn)行關(guān)聯(lián)性測(cè)試,對(duì)read()函數(shù)的參數(shù)fd取正常值,測(cè)試參數(shù)buf和count的所有組合,測(cè)試結(jié)果如表2所示。共使用了25個(gè)測(cè)試用例。

36.jpg

在對(duì)上述測(cè)試結(jié)果進(jìn)行屏蔽失效后,轉(zhuǎn)入第二步,對(duì)參數(shù)fd進(jìn)行非關(guān)聯(lián)性測(cè)試,即針對(duì)fd與(buf+count)的組合進(jìn)行測(cè)試。對(duì)buf與count的組合取合法值后,針對(duì)參數(shù)fd的所有取值分別測(cè)試,這時(shí)只會(huì)發(fā)生一維失效,測(cè)試用例個(gè)數(shù)是5個(gè),其結(jié)果如表3所示。

37.jpg

由上述測(cè)試實(shí)例可見(jiàn),傳統(tǒng)組合測(cè)試法需要125個(gè)用例,而關(guān)聯(lián)測(cè)試只需要30個(gè)用例,兩者最終完成的函數(shù)測(cè)試覆蓋率相同。由此可見(jiàn),關(guān)聯(lián)測(cè)試是對(duì)傳統(tǒng)的組合測(cè)試的一種有效改進(jìn)。采用關(guān)聯(lián)測(cè)試可以避免上述問(wèn)題的產(chǎn)生。使用關(guān)聯(lián)測(cè)試時(shí)對(duì)參數(shù)之間關(guān)系進(jìn)行分析,還有可能發(fā)現(xiàn)傳統(tǒng)的組合測(cè)試沒(méi)有測(cè)到的失效用例,這樣關(guān)聯(lián)測(cè)試的覆蓋率相對(duì)于傳統(tǒng)組合測(cè)試來(lái)說(shuō),只會(huì)提高而不會(huì)降低,這對(duì)于函數(shù)的魯棒性提升十分有效。

理論分析和實(shí)例應(yīng)用的結(jié)果表明,在函數(shù)的魯棒性測(cè)試中采用關(guān)聯(lián)測(cè)試來(lái)代替?zhèn)鹘y(tǒng)的組合測(cè)試,可以在保證測(cè)試覆蓋率的同時(shí),使所需的測(cè)試用例大大減少,而且函數(shù)中相關(guān)聯(lián)的參數(shù)個(gè)數(shù)越少優(yōu)勢(shì)越明顯。現(xiàn)實(shí)中Linux內(nèi)核函數(shù)的參數(shù)之間關(guān)聯(lián)性較少,因此在其魯棒性測(cè)試中關(guān)聯(lián)測(cè)試方法具有很好的實(shí)際應(yīng)用價(jià)值。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉