C/C++单元自动化覆盖测试框架的研究与实现

来源 :北京邮电大学 | 被引量 : 6次 | 上传用户:swei830807
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息化的推进,软件应用的领域越来越广泛,软件本身的复杂性也随之加大。如何保证软件质量一直是计算机技术的热门研究领域。单元测试是保证软件质量的重要环节。如何解决单元测试的可测试性和测试的自动化问题是实施单元测试的关键。本文主要研究C/C++单元自动化测试技术中,如何解决单元可测性问题以及如何建立一套自动化单元覆盖测试框架。本文提出了一套自动化单元覆盖的框架,该框架自动分析程序代码,生成代码的抽象语法树、控制流图、符号表、函数调用关系图,对待测程序进行单元划分,自动改造程序代码,生成测试用例后,自动生成驱动文件,最终监控管理测试用例执行,检测测试中的死循环和异常,同时给出测试报告。本文基于抽象解释理论,提出用函数摘要和路径区间缩减的方式来自动计算桩函数的预期值的方法进行打桩。同时通过对源代码的插装,实现对测试的覆盖分析,覆盖率计算,同时选取路径覆盖新的测试目标元素,生成新的测试用例。本文通过测试10个开源C/C++工程来验证单元自动化覆盖测试框架的性能和作用。实验证明该框架能够自动地建立测试环境;C程序不同方式的打桩证明基于函数摘要和路径区间缩减来自动计算桩函数预期值,在一定程度上解决了单元测试的可测性难题并提高了覆盖效果。
其他文献
数字内容的阅读和播放是3G网络中重要的增值业务应用,为使这些数字内容的创作、分发和消费在可控方式下进行,防止数字内容的非法拷贝和传输,真正达到知识产权保护的目的,全球
随着智能移动终端平台的迅速发展以及第三代移动通信技术的逐步推广,移动互联网技术及其应用已经成为一个重要的研究领域。由于移动终端平台的特殊性,其设计原则和开发技术都
随着网络的普及和居民消费需求的提升,网络购物这种新型消费模式迅猛发展,使面向普通消费者的快递物流业成为了物流行业新的爆发点。电商对物流的时效性要求越来越高,使得快