基于静态分析的Java单元测试教学反馈系统
发布时间:2017-05-17 11:14
本文关键词:基于静态分析的Java单元测试教学反馈系统,由笔耕文化传播整理发布。
【摘要】:软件测试是软件开发周期中的一个重要过程,而白盒测试是软件测试教育中的一个重要课题,通常使用逻辑覆盖作为衡量白盒测试或单元测试的标准。但目前软件测试教学中,针对覆盖的单元测试难以组织练习和考试,难以评估测试用例,需要耗费大量的助教人力。为了解决该问题,本文实现了一个基于静态分析的Java单元测试教学反馈系统。本系统包含:Web端的管理平台,用于组织班级和考试;Eclipse考试插件,用于在Eclipse客户端中下载考题并编写测试用例;程序分析和自动化评估模块,用于实现对测试用例的自动化评估,将覆盖率结果显示在Eclipse控制台中,并对所有学生的测试用例结果进行汇总统计,最终将量化结果展现在Web端。本文利用程序控制流分析和代码插桩技术,依托Soot框架,完成了对源程序的静态分析并收集测试用例的执行路径。利用程序控制流图生成各覆盖指标的测试需求路径,再通过与测试用例执行路径的比较,计算得出各指标的覆盖率,从而实现了对测试用例的自动化评估。本文实现的教学反馈系统经历了一年的使用,被证明是合理的有效的。学生能够方便地进行覆盖测试的练习,根据反馈结果不断提高编写测试用例的能力。教师能够轻松地组织考试,根据反馈结果比较班级和考题的差异,并做针对性的课堂讲解。同时,本系统节省了大量助教人力,是更高效的Java单元测试练习和考试的解决方案。
【关键词】:静态分析 控制流分析 程序插桩 单元测试 教学反馈
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.53-4;G642
【目录】:
- 摘要5-6
- Abstract6-12
- 第一章 引言12-16
- 1.1 软件测试12
- 1.2 教学现状12-13
- 1.3 同类系统比较13-14
- 1.4 本文主要工作和组织结构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 程序中间状态20-21
- 2.5.2 常用数据类型21-22
- 2.5.3 对控制流的支持22-23
- 2.5.4 对插桩的支持23-24
- 2.6 本章小节24-25
- 第三章 单元测试考试系统的构建25-40
- 3.1 系统架构25-26
- 3.2 Web管理端设计26-33
- 3.2.1 Web后端框架26
- 3.2.2 管理端模块划分26-27
- 3.2.3 数据库设计27-31
- 3.2.4 接口服务设计31-33
- 3.3 Eclipse插件设计33-38
- 3.3.1 插件开发框架33-35
- 3.3.2 考试插件设计35-38
- 3.4 题目文件结构设计38-39
- 3.5 本章小节39-40
- 第四章 单元测试自动化评估40-58
- 4.1 整体流程目标40-41
- 4.2 源程序静态分析41-49
- 4.2.1 Soot中间状态转化41-43
- 4.2.2 获取程序控制流43-48
- 4.2.3 数据反向转化48-49
- 4.3 测试需求生成49-53
- 4.3.1 覆盖指标的数据结构定义49-51
- 4.3.2 生成测试路径51-53
- 4.4 测试用例数据采集53-56
- 4.4.1 源程序插桩53-54
- 4.4.2 测试用例执行54-56
- 4.5 覆盖率计算56-57
- 4.6 本章小节57-58
- 第五章 教学反馈和成果58-70
- 5.1 数据反馈类型58-62
- 5.2 教学反馈调查62-67
- 5.3 结论和成果67-69
- 5.4 本章小节69-70
- 第六章 总结和展望70-72
- 6.1 总结70
- 6.2 存在的不足和展望70-72
- 参考文献72-75
- 致谢75-76
- 攻读硕士学位期间的学术成果76-78
【参考文献】
中国期刊全文数据库 前7条
1 佘凤;;软件测试中白盒测试覆盖方法[J];电子商务;2012年12期
2 王波;柴玉梅;王黎明;;基于路径覆盖准则的AOP路径生成方法研究[J];计算机工程与设计;2012年11期
3 苟英;;白盒测试[J];科技资讯;2010年10期
4 谷钰;杨艳斌;王泽生;;Eclipse插件体系结构的研究[J];电脑知识与技术;2009年31期
5 王腾;姚丹霖;;Online Judge系统的设计开发[J];计算机应用与软件;2006年12期
6 万年红,李翔;软件黑盒测试的方法与实践[J];计算机工程;2000年12期
7 魏光新,苏丽;逻辑覆盖测试工具的设计与实现[J];计算机工程与应用;2000年05期
本文关键词:基于静态分析的Java单元测试教学反馈系统,,由笔耕文化传播整理发布。
本文编号:373265
本文链接:https://www.wllwen.com/jiaoyulunwen/gaodengjiaoyulunwen/373265.html