單元測試中抽象內(nèi)存模型優(yōu)化技術(shù)研究
發(fā)布時間:2021-11-09 07:38
測試用例自動生成是自動化單元測試的重點之一,在面向路徑的自動化單元測試中,抽象內(nèi)存模型用于精準的提取路徑上變量的語義和約束,其為自動生成測試用例的前提條件。但是,已有的抽象內(nèi)存模型還存在不足之處,比如類型支持不全面、難以精確處理復雜操作、記錄信息不全面等,這導致不能為一些所選路徑生成測試用例或者生成了錯誤的測試用例,降低了測試效率及效果。本文圍繞提高抽象內(nèi)存模型記錄的精確度和支持的完備性等方面進行研究,在已有抽象內(nèi)存模型的基礎(chǔ)上,提出了優(yōu)化后的抽象內(nèi)存模型,包括數(shù)值型、指針型、結(jié)構(gòu)體型、數(shù)組型、共用體型。并且改進了約束提取算法和非數(shù)值型測試用例形狀構(gòu)建算法,使其能夠更加精確的模擬復雜操作的語義,并提取約束。在優(yōu)化后的抽象內(nèi)存的基礎(chǔ)上,解決了現(xiàn)存的兩類問題,為自動測試用例生成提供了更為準確全面的信息。作者在代碼測試系統(tǒng)(Code Test System,CTS)中實現(xiàn)了上述抽象內(nèi)存模型,并對其進行了測試。結(jié)果表明,本文提出的優(yōu)化后的抽象內(nèi)存模型比原有的抽象內(nèi)存模型更加通用,特別是在復雜類型的程序中,可以正常生成測試用例,測試覆蓋率顯著提高。
【文章來源】:北京郵電大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:64 頁
【學位級別】:碩士
【部分圖文】:
圖2-2動態(tài)測試流程??7??
判定節(jié)點既分支節(jié)點的出度大于1,每一條出邊都代表一種判定結(jié)果。??此外控制流圖還有兩個特別的節(jié)點:輸入節(jié)點和輸出節(jié)點。代碼2-1所對應(yīng)的控??制流圖如圖2-3所示。???1?int?test(int?n)??2?{??3?int?i,?flag?=?0;??4?for(i?-?2;?i?<=?n/2;?++i)??5?{??6?if(n?%?i?=?0)??7?{??8?return?I;??9?}??10?}??11?return?0;??12?}???代碼2-1判斷一個數(shù)是否是素數(shù)??2-1所示代碼的作用是判斷一個數(shù)是否是素數(shù),如果是,返回0,如果不是,??返回1。其對應(yīng)的控制流圖如圖2-3所示。??/Func?head?\??\^test_0^y??/6ecl?stmt\??x??(For?init?2)??x??(For?head?3??(Return?9?)?(?Return?5?)?(?If?out?6?)?\??%??/runc_out_t\??'v?est_10?)?(For一inc_7??
北京郵電大學工學碩士學位論文??圖2-3中的True表示真分支,False表示假分支,圖中的每一個節(jié)點都加了??前綴,用以描述當前節(jié)點所對應(yīng)的語句。??通常,一個控制流圖的節(jié)點對應(yīng)一個或多個語句,而一個語句則對應(yīng)一系列??抽象語法樹節(jié)點,在實際應(yīng)用中,會先找到控制流圖節(jié)點,然后訪問該節(jié)點對應(yīng)??的一系列抽象語法樹節(jié)點,最后將語法樹節(jié)點上的相關(guān)信息存儲到抽象內(nèi)存模型??中。??2.3.3路徑選擇??路徑選擇〃4]是面向路徑測試的基礎(chǔ),是必不可少的一部分。在單元覆蓋測??試中,首先按照某種劃分方式,將被測程序劃分為多個目標覆蓋元素,然后路徑??選擇會從中選取一個目標覆蓋元素,開始進行選路。在選路的過程中,有兩個集??合
【參考文獻】:
期刊論文
[1]基于內(nèi)存建模的復雜結(jié)構(gòu)類型測試數(shù)據(jù)自動生成方法[J]. 李飛宇,宮云戰(zhàn),王雅文. 計算機輔助設(shè)計與圖形學學報. 2012(02)
[2]單元覆蓋測試中基于區(qū)間運算的路徑選擇[J]. 王思嵐,王雅文,宮云戰(zhàn). 清華大學學報(自然科學版). 2011(S1)
[3]基于區(qū)間縮減的自動化打樁方法[J]. 周傲,王雅文,宮云戰(zhàn). 清華大學學報(自然科學版). 2011(S1)
[4]基于規(guī)格說明的若干邏輯覆蓋測試準則[J]. 錢忠勝,繆淮扣. 軟件學報. 2010(07)
[5]軟件體系結(jié)構(gòu)測試覆蓋準則研究[J]. 葉俊民,趙良,羅景,王振宇,趙恒. 計算機工程. 2005(22)
[6]結(jié)構(gòu)測試中的路徑產(chǎn)生[J]. 肖慶,萬琳,宮云戰(zhàn). 計算機工程. 2003(02)
博士論文
[1]測試用例自動生成的分支限界算法及實驗研究[D]. 邢穎.北京郵電大學 2014
[2]分段符號執(zhí)行模型及其環(huán)境交互問題研究[D]. 范文慶.北京郵電大學 2010
碩士論文
[1]單元自動化測試系統(tǒng)中路徑選擇方法的研究與設(shè)計[D]. 李青翠.北京郵電大學 2011
[2]面向符號執(zhí)行的內(nèi)存模型研究[D]. 代子營.國防科學技術(shù)大學 2009
本文編號:3484907
【文章來源】:北京郵電大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:64 頁
【學位級別】:碩士
【部分圖文】:
圖2-2動態(tài)測試流程??7??
判定節(jié)點既分支節(jié)點的出度大于1,每一條出邊都代表一種判定結(jié)果。??此外控制流圖還有兩個特別的節(jié)點:輸入節(jié)點和輸出節(jié)點。代碼2-1所對應(yīng)的控??制流圖如圖2-3所示。???1?int?test(int?n)??2?{??3?int?i,?flag?=?0;??4?for(i?-?2;?i?<=?n/2;?++i)??5?{??6?if(n?%?i?=?0)??7?{??8?return?I;??9?}??10?}??11?return?0;??12?}???代碼2-1判斷一個數(shù)是否是素數(shù)??2-1所示代碼的作用是判斷一個數(shù)是否是素數(shù),如果是,返回0,如果不是,??返回1。其對應(yīng)的控制流圖如圖2-3所示。??/Func?head?\??\^test_0^y??/6ecl?stmt\??x??(For?init?2)??x??(For?head?3??(Return?9?)?(?Return?5?)?(?If?out?6?)?\??%??/runc_out_t\??'v?est_10?)?(For一inc_7??
北京郵電大學工學碩士學位論文??圖2-3中的True表示真分支,False表示假分支,圖中的每一個節(jié)點都加了??前綴,用以描述當前節(jié)點所對應(yīng)的語句。??通常,一個控制流圖的節(jié)點對應(yīng)一個或多個語句,而一個語句則對應(yīng)一系列??抽象語法樹節(jié)點,在實際應(yīng)用中,會先找到控制流圖節(jié)點,然后訪問該節(jié)點對應(yīng)??的一系列抽象語法樹節(jié)點,最后將語法樹節(jié)點上的相關(guān)信息存儲到抽象內(nèi)存模型??中。??2.3.3路徑選擇??路徑選擇〃4]是面向路徑測試的基礎(chǔ),是必不可少的一部分。在單元覆蓋測??試中,首先按照某種劃分方式,將被測程序劃分為多個目標覆蓋元素,然后路徑??選擇會從中選取一個目標覆蓋元素,開始進行選路。在選路的過程中,有兩個集??合
【參考文獻】:
期刊論文
[1]基于內(nèi)存建模的復雜結(jié)構(gòu)類型測試數(shù)據(jù)自動生成方法[J]. 李飛宇,宮云戰(zhàn),王雅文. 計算機輔助設(shè)計與圖形學學報. 2012(02)
[2]單元覆蓋測試中基于區(qū)間運算的路徑選擇[J]. 王思嵐,王雅文,宮云戰(zhàn). 清華大學學報(自然科學版). 2011(S1)
[3]基于區(qū)間縮減的自動化打樁方法[J]. 周傲,王雅文,宮云戰(zhàn). 清華大學學報(自然科學版). 2011(S1)
[4]基于規(guī)格說明的若干邏輯覆蓋測試準則[J]. 錢忠勝,繆淮扣. 軟件學報. 2010(07)
[5]軟件體系結(jié)構(gòu)測試覆蓋準則研究[J]. 葉俊民,趙良,羅景,王振宇,趙恒. 計算機工程. 2005(22)
[6]結(jié)構(gòu)測試中的路徑產(chǎn)生[J]. 肖慶,萬琳,宮云戰(zhàn). 計算機工程. 2003(02)
博士論文
[1]測試用例自動生成的分支限界算法及實驗研究[D]. 邢穎.北京郵電大學 2014
[2]分段符號執(zhí)行模型及其環(huán)境交互問題研究[D]. 范文慶.北京郵電大學 2010
碩士論文
[1]單元自動化測試系統(tǒng)中路徑選擇方法的研究與設(shè)計[D]. 李青翠.北京郵電大學 2011
[2]面向符號執(zhí)行的內(nèi)存模型研究[D]. 代子營.國防科學技術(shù)大學 2009
本文編號:3484907
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3484907.html
最近更新
教材專著