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