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