基于单元覆盖的测试用例自动化生产与可视化的研究
内容摘要 | 第6-7页 |
Abstract | 第7页 |
第一章 绪论 | 第11-15页 |
1.1. 国内外研究现状 | 第12-13页 |
1.2. 本文主要研究内容 | 第13页 |
1.3. 本文贡献 | 第13页 |
1.4. 本文组织结构 | 第13-15页 |
第二章 相关技术介绍 | 第15-23页 |
2.1. 符号执行技术 | 第15-20页 |
2.1.1. 基本概念 | 第15-17页 |
2.1.2. 符号执行框架 | 第17-18页 |
2.1.3. 动态符号执行 | 第18-19页 |
2.1.4. 主要工具介绍 | 第19页 |
2.1.5. 动态符号执行框架的不足 | 第19-20页 |
2.2. 单元覆盖标准 | 第20-21页 |
2.3. 动态符号执行框架KLEE | 第21-23页 |
2.3.1. 代码解释模块 | 第21-22页 |
2.3.2. 路径选择模块 | 第22页 |
2.3.3. 约束求解模块 | 第22-23页 |
第三章 基于分支覆盖的自动化单元测试 | 第23-37页 |
3.1. 分支覆盖驱动 | 第23-27页 |
3.1.1. 路径选择策略概述 | 第23-26页 |
3.1.2. 框架设计 | 第26-27页 |
3.2. 自动化测试前端 | 第27-32页 |
3.2.1. 前端工具CIL | 第27-28页 |
3.2.2. 代码等价变形 | 第28-30页 |
3.2.3. 代码结构调整 | 第30页 |
3.2.4. 前端实现简述 | 第30-32页 |
3.3. 分支覆盖驱动算法设计 | 第32-35页 |
3.3.1. 覆盖驱动测试算法设计 | 第32-33页 |
3.3.2. 路径剪枝策略 | 第33-34页 |
3.3.3. 路径选择策略 | 第34-35页 |
3.4. 小结 | 第35-37页 |
第四章 测试用例可视化设计与实现 | 第37-51页 |
4.1. 总体框架设计 | 第37-41页 |
4.1.1. 约束求解简述 | 第38页 |
4.1.2. 类型系统 | 第38-39页 |
4.1.3. 测试范例 | 第39-41页 |
4.1.4. 方案设计 | 第41页 |
4.2. 前端类型收集模块设计 | 第41-45页 |
4.2.1. CIL类型表示 | 第41-44页 |
4.2.2. 前端类型抽取算法简述 | 第44页 |
4.2.3. 前端类型抽取算法实现 | 第44-45页 |
4.3. KLEE框架下的求解单元简介 | 第45-46页 |
4.3.1. LLVM类型信息建模 | 第45-46页 |
4.3.2. 求解单元分析 | 第46页 |
4.4. 类型信息的还原 | 第46-49页 |
4.4.1. 求解模块的拆解 | 第46-48页 |
4.4.2. 测试用例的还原 | 第48-49页 |
4.5. 小结 | 第49-51页 |
第五章 自动测试工具与测试实例 | 第51-55页 |
5.1. 可视化工具设计 | 第51-52页 |
5.1.1. 自动化流程设计 | 第51页 |
5.1.2. 覆盖指标计算 | 第51-52页 |
5.1.3. 结果展示 | 第52页 |
5.2. 测试流程 | 第52-54页 |
5.2.1. 测试实例 | 第52-53页 |
5.2.2. 测试过程 | 第53-54页 |
5.3. 小结 | 第54-55页 |
第六章 总结与展望 | 第55-57页 |
6.1. 本文总结 | 第55页 |
6.2. 未来研究方向 | 第55-57页 |
附录 | 第57-59页 |
参考文献 | 第59-65页 |
致谢 | 第65-67页 |
攻读硕士学位期间发表论文 | 第67页 |