多目標(biāo)路徑覆蓋進(jìn)化測(cè)試的一種改進(jìn)策略
發(fā)布時(shí)間:2021-01-15 06:25
測(cè)試數(shù)據(jù)是軟件測(cè)試輸入的來(lái)源,可靠的測(cè)試數(shù)據(jù)能快速有效地得到需要的結(jié)果,否則將會(huì)造成測(cè)試效率低下,導(dǎo)致惡性循環(huán)測(cè)試。因此,測(cè)試數(shù)據(jù)生成問(wèn)題的關(guān)鍵是如何獲得高效高質(zhì)量的測(cè)試數(shù)據(jù)。研究更高效的測(cè)試方法是獲得優(yōu)質(zhì)測(cè)試數(shù)據(jù)的關(guān)鍵,不同的研究對(duì)象,采取的測(cè)試方法會(huì)有較大的差異。面向路徑覆蓋生成測(cè)試數(shù)據(jù)是一類典型的測(cè)試方法,其研究對(duì)象是程序的執(zhí)行路徑,根據(jù)路徑生成滿足條件的測(cè)試數(shù)據(jù)。按照復(fù)雜性進(jìn)行劃分,路徑覆蓋測(cè)試問(wèn)題可分為單目標(biāo)路徑覆蓋問(wèn)題和多目標(biāo)路徑覆蓋問(wèn)題,二者都是根據(jù)程序路徑生成測(cè)試數(shù)據(jù)的測(cè)試方法。遺傳算法在路徑覆蓋測(cè)試中的應(yīng)用很廣,常用于搜索滿足條件的測(cè)試數(shù)據(jù)。本文在單目標(biāo)路徑覆蓋問(wèn)題和多目標(biāo)路徑覆蓋問(wèn)題中均采用遺傳算法,并提出了相應(yīng)的測(cè)試數(shù)據(jù)生成方法。針對(duì)目前眾多的路徑覆蓋方法較少考慮被測(cè)程序中各語(yǔ)句執(zhí)行難度差異性的問(wèn)題,提出接觸向量的概念,將其與層接近度思想結(jié)合,引出接觸式層接近度方法,用于生成測(cè)試數(shù)據(jù)。在設(shè)計(jì)適應(yīng)度函數(shù)時(shí)將該方法作為其中的一部分,加速測(cè)試數(shù)據(jù)的生成,提高目標(biāo)路徑測(cè)試數(shù)據(jù)生成的效率。提出一種改進(jìn)的個(gè)體信息共享的多目標(biāo)路徑覆蓋方法,該方法對(duì)個(gè)體共享策略進(jìn)行了改變,使用接...
【文章來(lái)源】:江西財(cái)經(jīng)大學(xué)江西省
【文章頁(yè)數(shù)】:60 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
遺傳算法基本流程
實(shí)現(xiàn)插件需要多個(gè)插件擴(kuò)展點(diǎn)之間進(jìn)行配合,并相互綁定,綁定過(guò)程通d 唯一指定。通常情況下一個(gè) Menu 對(duì)應(yīng)一個(gè) Command,一個(gè) Command Handler,這樣通過(guò) Menu 就可以與 Handler 進(jìn)行映射,完成插件的基但擴(kuò)展點(diǎn)與對(duì)應(yīng)的擴(kuò)展點(diǎn)元素之間也可以是一對(duì)多的關(guān)系,即一個(gè)擴(kuò)展個(gè)擴(kuò)展點(diǎn)元素。因此可以通過(guò)一個(gè)擴(kuò)展點(diǎn),利用擴(kuò)展點(diǎn)元素實(shí)現(xiàn)多種插本節(jié)插件開(kāi)發(fā)使用 Windows 7 作為開(kāi)發(fā)所用的操作系統(tǒng),開(kāi)發(fā)工具ipse 或 Myeclipse,由于 Java 開(kāi)發(fā)需要 Jdk 支持,所以需要安裝 Jdk,這dk1.8。安裝好 Jdk 后,配置相關(guān)環(huán)境變量。本次插件開(kāi)發(fā),插件界面布于 Eclipse 的圖形界面工具 WindowBuilder。實(shí)現(xiàn)的插件如圖 2 所示,其ut the target path 輸入框中需要填寫目標(biāo)路徑,目標(biāo)路徑是一個(gè)由 1 和 0符串,1 代表該位置節(jié)點(diǎn)處于已覆蓋狀態(tài),0 代表該節(jié)點(diǎn)未被覆蓋。設(shè)路徑和種群數(shù)后,點(diǎn)擊 genarate test case 按鈕,插件開(kāi)始執(zhí)行,執(zhí)行結(jié)方出現(xiàn)。
若染色體長(zhǎng)度變大,難度還會(huì)遞增。最難覆蓋的目標(biāo)路徑顯然是生成滿足等邊三角形條件的輸入數(shù)據(jù),這也是為什么1p 需要種群經(jīng)過(guò)幾千代的進(jìn)化才被覆蓋的原因。難覆蓋的目標(biāo)路徑對(duì)算法生成測(cè)試數(shù)據(jù)的效率有很大的影響,它可能會(huì)讓一個(gè)本可以快速獲得相應(yīng)測(cè)試數(shù)據(jù)的過(guò)程變得極為緩慢。前文中使用三角形分類程序作為被測(cè)程序,將本章方法和文獻(xiàn)[35]進(jìn)行對(duì)比實(shí)驗(yàn)時(shí),發(fā)現(xiàn)目標(biāo)路徑1p 是難覆蓋路徑,覆蓋這條目標(biāo)路徑花費(fèi)的時(shí)間比其它所有目標(biāo)路徑的時(shí)間都多,大大的影響了算法的求解效率。為了驗(yàn)證本章方法針對(duì)難覆蓋的目標(biāo)路徑的處理措施的有效性,方便觀察本章方法處理難覆蓋目標(biāo)路徑前后與文獻(xiàn)[35]的對(duì)比效果,進(jìn)行以下兩方面的實(shí)驗(yàn)。首先,進(jìn)行默認(rèn)情況下的實(shí)驗(yàn)(未針對(duì)難覆蓋目標(biāo)路徑進(jìn)行處理),分別執(zhí)行本章方法和文獻(xiàn)[35]的方法,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,分 4 批執(zhí)行,每批重復(fù)執(zhí)行10 次獲取平均執(zhí)行時(shí)間,實(shí)驗(yàn)結(jié)果見(jiàn)圖 4-2。
【參考文獻(xiàn)】:
期刊論文
[1]基于模型檢測(cè)技術(shù)的變異測(cè)試用例生成方法[J]. 楊紅,洪玫,屈媛媛. 計(jì)算機(jī)科學(xué). 2018(S2)
[2]一種基于改進(jìn)遺傳算法的路徑測(cè)試用例生成方法[J]. 包曉安,熊子健,張唯,吳彪,張娜. 計(jì)算機(jī)科學(xué). 2018(08)
[3]基于軟件節(jié)點(diǎn)重要性的集成測(cè)試序列生成方法[J]. 王瑩,于海,朱志良. 計(jì)算機(jī)研究與發(fā)展. 2016(03)
[4]基于輸出域的測(cè)試用例自動(dòng)生成方法研究[J]. 尤楓,趙瑞蓮,呂珊珊. 計(jì)算機(jī)研究與發(fā)展. 2016(03)
[5]基于策略推導(dǎo)的訪問(wèn)控制漏洞測(cè)試用例生成方法[J]. 文碩,許靜,苑立英,李曉虹,徐思涵,司冠南. 計(jì)算機(jī)學(xué)報(bào). 2017(12)
[6]基于節(jié)點(diǎn)概率的路徑覆蓋測(cè)試數(shù)據(jù)進(jìn)化生成[J]. 夏春艷,張巖,宋麗. 軟件學(xué)報(bào). 2016(04)
[7]面向條件判定覆蓋的線性擬合制導(dǎo)測(cè)試生成[J]. 湯恩義,周巖,歐建生,陳鑫. 軟件學(xué)報(bào). 2016(03)
[8]基于懶符號(hào)執(zhí)行的軟件脆弱性路徑求解算法[J]. 秦曉軍,周林,陳左寧,甘水滔. 計(jì)算機(jī)學(xué)報(bào). 2015(11)
[9]軟件測(cè)試架構(gòu)淺析[J]. 劉支援,郭永振. 電子科學(xué)技術(shù). 2015(04)
[10]一種改進(jìn)的程序不可達(dá)路徑靜態(tài)檢測(cè)方法[J]. 喻琴儀,羅揚(yáng),楊浩. 南華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2014(04)
博士論文
[1]復(fù)雜軟件測(cè)試數(shù)據(jù)進(jìn)化生成理論及應(yīng)用[D]. 姚香娟.中國(guó)礦業(yè)大學(xué) 2011
[2]測(cè)試數(shù)據(jù)自動(dòng)生成技術(shù)研究[D]. 史亮.東南大學(xué) 2006
本文編號(hào):2978407
【文章來(lái)源】:江西財(cái)經(jīng)大學(xué)江西省
【文章頁(yè)數(shù)】:60 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
遺傳算法基本流程
實(shí)現(xiàn)插件需要多個(gè)插件擴(kuò)展點(diǎn)之間進(jìn)行配合,并相互綁定,綁定過(guò)程通d 唯一指定。通常情況下一個(gè) Menu 對(duì)應(yīng)一個(gè) Command,一個(gè) Command Handler,這樣通過(guò) Menu 就可以與 Handler 進(jìn)行映射,完成插件的基但擴(kuò)展點(diǎn)與對(duì)應(yīng)的擴(kuò)展點(diǎn)元素之間也可以是一對(duì)多的關(guān)系,即一個(gè)擴(kuò)展個(gè)擴(kuò)展點(diǎn)元素。因此可以通過(guò)一個(gè)擴(kuò)展點(diǎn),利用擴(kuò)展點(diǎn)元素實(shí)現(xiàn)多種插本節(jié)插件開(kāi)發(fā)使用 Windows 7 作為開(kāi)發(fā)所用的操作系統(tǒng),開(kāi)發(fā)工具ipse 或 Myeclipse,由于 Java 開(kāi)發(fā)需要 Jdk 支持,所以需要安裝 Jdk,這dk1.8。安裝好 Jdk 后,配置相關(guān)環(huán)境變量。本次插件開(kāi)發(fā),插件界面布于 Eclipse 的圖形界面工具 WindowBuilder。實(shí)現(xiàn)的插件如圖 2 所示,其ut the target path 輸入框中需要填寫目標(biāo)路徑,目標(biāo)路徑是一個(gè)由 1 和 0符串,1 代表該位置節(jié)點(diǎn)處于已覆蓋狀態(tài),0 代表該節(jié)點(diǎn)未被覆蓋。設(shè)路徑和種群數(shù)后,點(diǎn)擊 genarate test case 按鈕,插件開(kāi)始執(zhí)行,執(zhí)行結(jié)方出現(xiàn)。
若染色體長(zhǎng)度變大,難度還會(huì)遞增。最難覆蓋的目標(biāo)路徑顯然是生成滿足等邊三角形條件的輸入數(shù)據(jù),這也是為什么1p 需要種群經(jīng)過(guò)幾千代的進(jìn)化才被覆蓋的原因。難覆蓋的目標(biāo)路徑對(duì)算法生成測(cè)試數(shù)據(jù)的效率有很大的影響,它可能會(huì)讓一個(gè)本可以快速獲得相應(yīng)測(cè)試數(shù)據(jù)的過(guò)程變得極為緩慢。前文中使用三角形分類程序作為被測(cè)程序,將本章方法和文獻(xiàn)[35]進(jìn)行對(duì)比實(shí)驗(yàn)時(shí),發(fā)現(xiàn)目標(biāo)路徑1p 是難覆蓋路徑,覆蓋這條目標(biāo)路徑花費(fèi)的時(shí)間比其它所有目標(biāo)路徑的時(shí)間都多,大大的影響了算法的求解效率。為了驗(yàn)證本章方法針對(duì)難覆蓋的目標(biāo)路徑的處理措施的有效性,方便觀察本章方法處理難覆蓋目標(biāo)路徑前后與文獻(xiàn)[35]的對(duì)比效果,進(jìn)行以下兩方面的實(shí)驗(yàn)。首先,進(jìn)行默認(rèn)情況下的實(shí)驗(yàn)(未針對(duì)難覆蓋目標(biāo)路徑進(jìn)行處理),分別執(zhí)行本章方法和文獻(xiàn)[35]的方法,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,分 4 批執(zhí)行,每批重復(fù)執(zhí)行10 次獲取平均執(zhí)行時(shí)間,實(shí)驗(yàn)結(jié)果見(jiàn)圖 4-2。
【參考文獻(xiàn)】:
期刊論文
[1]基于模型檢測(cè)技術(shù)的變異測(cè)試用例生成方法[J]. 楊紅,洪玫,屈媛媛. 計(jì)算機(jī)科學(xué). 2018(S2)
[2]一種基于改進(jìn)遺傳算法的路徑測(cè)試用例生成方法[J]. 包曉安,熊子健,張唯,吳彪,張娜. 計(jì)算機(jī)科學(xué). 2018(08)
[3]基于軟件節(jié)點(diǎn)重要性的集成測(cè)試序列生成方法[J]. 王瑩,于海,朱志良. 計(jì)算機(jī)研究與發(fā)展. 2016(03)
[4]基于輸出域的測(cè)試用例自動(dòng)生成方法研究[J]. 尤楓,趙瑞蓮,呂珊珊. 計(jì)算機(jī)研究與發(fā)展. 2016(03)
[5]基于策略推導(dǎo)的訪問(wèn)控制漏洞測(cè)試用例生成方法[J]. 文碩,許靜,苑立英,李曉虹,徐思涵,司冠南. 計(jì)算機(jī)學(xué)報(bào). 2017(12)
[6]基于節(jié)點(diǎn)概率的路徑覆蓋測(cè)試數(shù)據(jù)進(jìn)化生成[J]. 夏春艷,張巖,宋麗. 軟件學(xué)報(bào). 2016(04)
[7]面向條件判定覆蓋的線性擬合制導(dǎo)測(cè)試生成[J]. 湯恩義,周巖,歐建生,陳鑫. 軟件學(xué)報(bào). 2016(03)
[8]基于懶符號(hào)執(zhí)行的軟件脆弱性路徑求解算法[J]. 秦曉軍,周林,陳左寧,甘水滔. 計(jì)算機(jī)學(xué)報(bào). 2015(11)
[9]軟件測(cè)試架構(gòu)淺析[J]. 劉支援,郭永振. 電子科學(xué)技術(shù). 2015(04)
[10]一種改進(jìn)的程序不可達(dá)路徑靜態(tài)檢測(cè)方法[J]. 喻琴儀,羅揚(yáng),楊浩. 南華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2014(04)
博士論文
[1]復(fù)雜軟件測(cè)試數(shù)據(jù)進(jìn)化生成理論及應(yīng)用[D]. 姚香娟.中國(guó)礦業(yè)大學(xué) 2011
[2]測(cè)試數(shù)據(jù)自動(dòng)生成技術(shù)研究[D]. 史亮.東南大學(xué) 2006
本文編號(hào):2978407
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2978407.html
最近更新
教材專著