符號執(zhí)行結(jié)合隨機方法_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、院系:軟件學(xué)院,答辯人:屈媛媛,指導(dǎo)老師:洪 玫,專業(yè):軟件工程,畢業(yè)答辯,,,面向?qū)ο筌浖膯卧獪y試用例生成方法,,目錄,Contents,研究背景及意義,1,論文主要工作,2,研究方法,3,計量分析結(jié)果,4,,5,文獻綜述結(jié)果,6,討論,7,總結(jié),,,,,,,1.1研究背景,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,雙擊添加標(biāo)題文字,軟件測試是保證軟件質(zhì)量的有效手段,單元測試是測試過程的基礎(chǔ)。測試用例的生成方法給自動

2、化單元測試提供了可能。 由于面向?qū)ο筌浖姆庋b、繼承、多態(tài)性,其單元測試是針對類和類中方法的測試。針對傳統(tǒng)軟件的單元測試用例生成方法可能不完全使用于面向?qū)ο筌浖?,,,,,,1.2研究意義,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,,論文主要關(guān)注針對面向?qū)ο鬁y試用例生成方法,通過整理分析歷年來專家學(xué)者對該方面的研究,回答了以下兩個問題:(1)面向?qū)ο筌浖臏y試用例生成有哪些方法?對比分析了這些方法各自的優(yōu)缺點

3、。(2)有哪些自動生成針對面向?qū)ο筌浖膯卧獪y試的工具?,,,,,,,2論文主要工作,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,,,,,,,3.1研究方法,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,,,,,,,3.2文獻數(shù)據(jù)來源,輸入文字,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,會議,數(shù)據(jù)庫,期刊,搜索引擎,國際會議國內(nèi)外論文(報告)等,IEEE Digital LibraryCNKI萬方

4、學(xué)位論文庫,GoogleGoogle Scholar, IE EXplore,EISCI,,,,,,,3.3文獻檢索及篩選原則,研究背景及意義,論文主要工作,研究方法,計量分析結(jié)果,,,,2003年1月—2013年12月,國際會議、EI、SCI期刊、博士論文,5頁以上,關(guān)鍵詞、摘要,最終,確定111篇文獻作為研究對象。,,,,,,研究背景及意義,研究方法,論文主要工作,計量分析結(jié)果,,4.1文獻年代分布,,文獻主要集中在2011年

5、-2012年,說明學(xué)術(shù)界在這兩年間對該問題關(guān)注度較高。,,,,,,研究背景及意義,研究方法,論文主要工作,計量分析結(jié)果,,4.2文獻類型分布,文獻集中在會議論文,其中以國際會議論文居多,這與檢索和篩選時預(yù)定的文獻級別標(biāo)準(zhǔn)是相符的。,,,,,,研究背景及意義,研究方法,論文主要工作,計量分析結(jié)果,,4.3高被引文獻,通過對文獻被引用量統(tǒng)計,給出引用量在100以上的文獻。圖示的幾篇文獻對該課題參考價值較大。,,,,,,研究背景及意義,研究方

6、法,論文主要工作,計量分析結(jié)果,,4.4高產(chǎn)作者統(tǒng)計,在選出的111篇文獻對應(yīng)286位作者中,發(fā)文量超過5篇的作者共有4位。,說明他們對該領(lǐng)域研究較為深入,其發(fā)表的文獻具有一定指導(dǎo)意義。這四位作者分別是Xie Tao(8篇),F(xiàn)raser, G.(7篇) Tillmann, NikolaiArcuri, A. (6篇),Tillmann, Nikolai(5篇)。,,,,,,研究背景及意義,研究方法,論文主要工作,計量分析結(jié)果,,4.5

7、研究熱點,論文采用關(guān)鍵詞詞頻法、共詞分析方法來揭示該領(lǐng)域的研究熱點。為此借助了文獻統(tǒng)計工具EndNote和文獻分析工具Refvize。累計關(guān)鍵詞共590個,篇均關(guān)鍵詞約5.3個。由圖可以看出,從圖中可以看出test case generation 最高,跟論文研究的課題一致,也契合了檢索策略。,,,,,,研究背景及意義,研究方法,論文主要工作,計量分析結(jié)果,,4.5研究熱點,借助Refvize文獻分析工具,得出關(guān)鍵詞共現(xiàn)現(xiàn)頻率圖(左),

8、方格顏色越深表明詞匯共現(xiàn)頻率越高。 generation case object-oriented 與genetic coverage program 等共現(xiàn)頻次較高,class case generate 與object-oriented program 共現(xiàn)頻次較高,說明熱點集中在面向?qū)ο筌浖械念悳y試、用例生成方法和測試覆蓋上。,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.文獻綜述結(jié)果,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝

9、,,5.1隨機方法,該方法基本思想是在程序輸入空間內(nèi)進行隨機的選取,將選取的樣本作為測試輸入,與相應(yīng)的測試輸出結(jié)合即測試用例。通過執(zhí)行大量的隨機測試用例,讓程序錯誤自己暴露出來。隨機生成單元測試用例,不需要分析程代碼的邏輯、動態(tài)結(jié)構(gòu)、函數(shù)內(nèi)部調(diào)用這些復(fù)雜的程序約束條件,僅分析程序的輸入?yún)?shù)結(jié)構(gòu)類型,為輸入?yún)?shù)構(gòu)造隨機的測試用例。純隨機方法具有一定的盲目性,目前很多學(xué)者都針對純隨機方法做出了一些改進,產(chǎn)生了一些衍生的隨機方法,如帶反饋的

10、隨機、有指導(dǎo)的隨機(靜態(tài)分析、動態(tài)分析指導(dǎo))、規(guī)避了傳統(tǒng)的純隨機算法的一些缺陷。,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.2符號執(zhí)行方法,未超過,超過,符號執(zhí)行方法用符號代替實際值模擬程序執(zhí)行,從而實現(xiàn)對程序的源代碼的分析,是一種靜態(tài)形式化技術(shù),符號執(zhí)行與約束求解結(jié)合能用于自動生成測試用例。符號執(zhí)行方法用于生成測試用例的過程中需要先將程序經(jīng)過詞法、語法分析轉(zhuǎn)化為中間語言,用控制流圖描述中間語言,符號執(zhí)行的思想是從控制流圖的入口

11、處用符號值代替具體的輸入值來模擬程序符號化的執(zhí)行過程。一個完整的執(zhí)行框架包括將源程序轉(zhuǎn)化為中間語言的機制、路徑遍歷算法和約束求解器。遍歷控制流圖,產(chǎn)生每條路徑的約束表達(dá)式運用約束求解工具進行求解,能夠生成每條路徑可滿足的解數(shù)據(jù)集合。,,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.2符號執(zhí)行方法,未超過,超過,使用Soot解析工具在將源程序轉(zhuǎn)化成控制流圖時,常會用到程序解析工具,圖示為使用Soot解析工具,再利用符號執(zhí)行生成測試用

12、例。,,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.2符號執(zhí)行方法,未超過,超過,輸入,要求解的約束,執(zhí)行代碼時收集到的約束,,,,選擇分支,約束求解器,隨機選擇,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.2符號執(zhí)行方法,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.2符號執(zhí)行方法,符號執(zhí)行結(jié)合隨機方法,謝濤等人提出的MseqGen方法使用了符號執(zhí)行結(jié)合隨機方法生成測試用例。使用符號執(zhí)行方法轉(zhuǎn)化從代碼庫中提取的方法序列,即

13、泛化序列,最后將這些單個的序列隨機組合在一起,新的方法調(diào)用序列易于構(gòu)造理想的狀態(tài)對象。,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.3搜索尋優(yōu)方法,遺傳算法,強類型的遺傳規(guī)劃,分布估計算法,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.3搜索尋優(yōu)方法,,,,進化算法框架,,,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.3搜索尋優(yōu)方法,,結(jié)合JML、JUnit、遺傳算法的自動單元測試框架 有學(xué)者認(rèn)為:一個完整的測試用例

14、需要包括測試數(shù)據(jù)和測試諭示,所以提出了利用JML詳細(xì)設(shè)計,基于遺傳算法生成完整的測試用例,該用例能直接用于JUnit平臺。,目前有學(xué)者提出這兩種方法結(jié)合生成測試用例,其思想是利用符號執(zhí)行信息指導(dǎo)搜索尋優(yōu)產(chǎn)生測試用例方法中適應(yīng)度函數(shù)的構(gòu)造,以指導(dǎo)進化過程。,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.3搜索尋優(yōu)方法,謝濤等人提出的EVACON方法框架如下圖:,,,,,,文獻綜述結(jié)果,總結(jié),討論,致謝,,5.4 測試用例生成工具,,,,

15、,,,6.討論,,文獻綜述結(jié)果,討論,總結(jié),致謝,研究趨勢:關(guān)注方法的有機結(jié)合:隨機&符號執(zhí)行,符號執(zhí)行&進化尋優(yōu),,,,,,,7.總結(jié),文獻綜述結(jié)果,討論,總結(jié),致謝,文獻計量分析。總結(jié)了該領(lǐng)域內(nèi)主流的幾類生成方法:隨機方法、符號執(zhí)行方法、進化搜索尋優(yōu)方法。對比分析了這些方法各自的優(yōu)劣,需要解決的問題。整理了測試用例自動生成工具。給出了研究熱點和未來發(fā)展趨勢。,,,,,,答辯人,,,,,,,謝謝觀看,洪玫,屈

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論