基于靜態(tài)分析的Java單元測試教學(xué)反饋系統(tǒng)
發(fā)布時間:2017-05-17 11:14
本文關(guān)鍵詞:基于靜態(tài)分析的Java單元測試教學(xué)反饋系統(tǒng),由筆耕文化傳播整理發(fā)布。
【摘要】:軟件測試是軟件開發(fā)周期中的一個重要過程,而白盒測試是軟件測試教育中的一個重要課題,通常使用邏輯覆蓋作為衡量白盒測試或單元測試的標(biāo)準(zhǔn)。但目前軟件測試教學(xué)中,針對覆蓋的單元測試難以組織練習(xí)和考試,難以評估測試用例,需要耗費(fèi)大量的助教人力。為了解決該問題,本文實(shí)現(xiàn)了一個基于靜態(tài)分析的Java單元測試教學(xué)反饋系統(tǒng)。本系統(tǒng)包含:Web端的管理平臺,用于組織班級和考試;Eclipse考試插件,用于在Eclipse客戶端中下載考題并編寫測試用例;程序分析和自動化評估模塊,用于實(shí)現(xiàn)對測試用例的自動化評估,將覆蓋率結(jié)果顯示在Eclipse控制臺中,并對所有學(xué)生的測試用例結(jié)果進(jìn)行匯總統(tǒng)計(jì),最終將量化結(jié)果展現(xiàn)在Web端。本文利用程序控制流分析和代碼插樁技術(shù),依托Soot框架,完成了對源程序的靜態(tài)分析并收集測試用例的執(zhí)行路徑。利用程序控制流圖生成各覆蓋指標(biāo)的測試需求路徑,再通過與測試用例執(zhí)行路徑的比較,計(jì)算得出各指標(biāo)的覆蓋率,從而實(shí)現(xiàn)了對測試用例的自動化評估。本文實(shí)現(xiàn)的教學(xué)反饋系統(tǒng)經(jīng)歷了一年的使用,被證明是合理的有效的。學(xué)生能夠方便地進(jìn)行覆蓋測試的練習(xí),根據(jù)反饋結(jié)果不斷提高編寫測試用例的能力。教師能夠輕松地組織考試,根據(jù)反饋結(jié)果比較班級和考題的差異,并做針對性的課堂講解。同時,本系統(tǒng)節(jié)省了大量助教人力,是更高效的Java單元測試練習(xí)和考試的解決方案。
【關(guān)鍵詞】:靜態(tài)分析 控制流分析 程序插樁 單元測試 教學(xué)反饋
【學(xué)位授予單位】:南京大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2016
【分類號】:TP311.53-4;G642
【目錄】:
- 摘要5-6
- Abstract6-12
- 第一章 引言12-16
- 1.1 軟件測試12
- 1.2 教學(xué)現(xiàn)狀12-13
- 1.3 同類系統(tǒng)比較13-14
- 1.4 本文主要工作和組織結(jié)構(gòu)14-16
- 第二章 程序分析技術(shù)16-25
- 2.1 程序分析常用方法16-17
- 2.2 程序控制流分析17-18
- 2.3 程序覆蓋理論18-19
- 2.4 代碼插樁技術(shù)19-20
- 2.5 Soot框架20-24
- 2.5.1 程序中間狀態(tài)20-21
- 2.5.2 常用數(shù)據(jù)類型21-22
- 2.5.3 對控制流的支持22-23
- 2.5.4 對插樁的支持23-24
- 2.6 本章小節(jié)24-25
- 第三章 單元測試考試系統(tǒng)的構(gòu)建25-40
- 3.1 系統(tǒng)架構(gòu)25-26
- 3.2 Web管理端設(shè)計(jì)26-33
- 3.2.1 Web后端框架26
- 3.2.2 管理端模塊劃分26-27
- 3.2.3 數(shù)據(jù)庫設(shè)計(jì)27-31
- 3.2.4 接口服務(wù)設(shè)計(jì)31-33
- 3.3 Eclipse插件設(shè)計(jì)33-38
- 3.3.1 插件開發(fā)框架33-35
- 3.3.2 考試插件設(shè)計(jì)35-38
- 3.4 題目文件結(jié)構(gòu)設(shè)計(jì)38-39
- 3.5 本章小節(jié)39-40
- 第四章 單元測試自動化評估40-58
- 4.1 整體流程目標(biāo)40-41
- 4.2 源程序靜態(tài)分析41-49
- 4.2.1 Soot中間狀態(tài)轉(zhuǎn)化41-43
- 4.2.2 獲取程序控制流43-48
- 4.2.3 數(shù)據(jù)反向轉(zhuǎn)化48-49
- 4.3 測試需求生成49-53
- 4.3.1 覆蓋指標(biāo)的數(shù)據(jù)結(jié)構(gòu)定義49-51
- 4.3.2 生成測試路徑51-53
- 4.4 測試用例數(shù)據(jù)采集53-56
- 4.4.1 源程序插樁53-54
- 4.4.2 測試用例執(zhí)行54-56
- 4.5 覆蓋率計(jì)算56-57
- 4.6 本章小節(jié)57-58
- 第五章 教學(xué)反饋和成果58-70
- 5.1 數(shù)據(jù)反饋類型58-62
- 5.2 教學(xué)反饋調(diào)查62-67
- 5.3 結(jié)論和成果67-69
- 5.4 本章小節(jié)69-70
- 第六章 總結(jié)和展望70-72
- 6.1 總結(jié)70
- 6.2 存在的不足和展望70-72
- 參考文獻(xiàn)72-75
- 致謝75-76
- 攻讀碩士學(xué)位期間的學(xué)術(shù)成果76-78
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前7條
1 佘鳳;;軟件測試中白盒測試覆蓋方法[J];電子商務(wù);2012年12期
2 王波;柴玉梅;王黎明;;基于路徑覆蓋準(zhǔn)則的AOP路徑生成方法研究[J];計(jì)算機(jī)工程與設(shè)計(jì);2012年11期
3 茍英;;白盒測試[J];科技資訊;2010年10期
4 谷鈺;楊艷斌;王澤生;;Eclipse插件體系結(jié)構(gòu)的研究[J];電腦知識與技術(shù);2009年31期
5 王騰;姚丹霖;;Online Judge系統(tǒng)的設(shè)計(jì)開發(fā)[J];計(jì)算機(jī)應(yīng)用與軟件;2006年12期
6 萬年紅,李翔;軟件黑盒測試的方法與實(shí)踐[J];計(jì)算機(jī)工程;2000年12期
7 魏光新,蘇麗;邏輯覆蓋測試工具的設(shè)計(jì)與實(shí)現(xiàn)[J];計(jì)算機(jī)工程與應(yīng)用;2000年05期
本文關(guān)鍵詞:基于靜態(tài)分析的Java單元測試教學(xué)反饋系統(tǒng),,由筆耕文化傳播整理發(fā)布。
本文編號:373265
本文鏈接:http://www.sikaile.net/jiaoyulunwen/gaodengjiaoyulunwen/373265.html
最近更新
教材專著