面向函数调用路径的覆盖率分析

来源 :北京信息科技大学 | 被引量 : 0次 | 上传用户:wangying428
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
覆盖率对于软件测试有着非常重要的作用,它是用来度量测试完整性的一个手段。通过覆盖率数据,可以知道测试工作是否充分,测试的弱点在哪些方面,进而指导我们设计能够增加覆盖率的测试用例,有效地提高测试质量。覆盖率中最常见的是代码覆盖率,而路径覆盖是代码覆盖方法里一种非常严格的覆盖准则。但是在实际代码中,一个较为复杂的程序包含的路径数目是相当庞大的,要完全达到路径覆盖是不可行的,实现自动化路径覆盖也是困难的。所以本文提出了基于函数调用路径的覆盖生成技术,将路径覆盖的分析粒度由语句扩展到函数级别,实现函数调用与控制逻辑相结合,既能避免路径的爆炸式增长,又可以保证测试完全。  对代码进行覆盖率分析,最重要的是能够跟踪记录源代码的运行路径。文章采用程序插桩技术对源代码进行插桩预处理,分别在函数的起始位置、结束位置和控  制关键字的位置插入桩点值,得到函数对象列表信息、控制关键字对象列表信息和插桩后的源代码。编译运行插桩后的源代码,输入测试数据得到由桩点数据流组成的动态路径。结合函数调用路径和动态路径的特点,并根据函数对象列表和控制关键字对象列表所提供的信息,对动态路径进行拆分获得函数调用路径子集。动态路径集里可能含有重复、冗余的动态路径,为了更好的维护测试数据库,进行覆盖率计算,使用优化算法去除动态路径集中重复、冗余的动态路径。  文中根据优化后的动态路径集获得的函数调用路径集,给出了函数调用路径覆盖率的计算公式,得出测试用例基于函数调用路径的覆盖率。分析出未被覆盖的函数调用路径集,指导测试人员针对未被覆盖的函数调用路径设计测试用例。
其他文献
流体现象(如流水)是自然界中最普遍的一类现象,与人们的生活息息相关。如何结合流体现象的内在物理特征,依托计算机仿真技术和图形技术,生成可控的流体动画,一直是动画领域的热点
随着通信技术和多媒体技术的应用与服务越来越广泛,实时视频压缩编码技术成为非常重要的研究领域。运动估计是各类视频编码算法普遍采用的一项关键技术。它是上除时间冗余最基
H.264/AVC是由国际电信联盟和国际标准化组织共同制定的新一代视频编码标准。H.264不仅有着优异的压缩性能,而且具有良好的网络亲和性,这对实时的视频通信是十分重要的。因此
针对油藏数值模拟数据具有明显的地理空间特性,以往的MIS系统无法对这些油藏数据较好表达等问题,本文结合山东胜利油田科研项目,设计并实现了基于WebGIS的油藏模型显示分析系统,
为了提高空间相机故障诊断的效率,缩短故障诊断的时间,减少故障诊断的人力和物力,设计能集合多名专家的最佳经验,实现人机联合诊断的空间相机故障诊断专家系统。阐述故障诊断
近些年,以深度学习为代表的人工智能、模式识别领域相关技术取得了许多里程碑式的突破。这不但归功于研究者们在技术上取得的突破,还很大程度上受益于高性能计算资源的商业化以
为了实时动态的了解多轴联动控制系统的工作状态、明确各轴向之间的相互协调关系、改进系统的控制策略、提高对运动控制的仿真测试能力,应用半实物仿真测试技术,提出了一种基
随着互联网的飞速发展,网络已逐渐成为反映社会舆情的重要载体之一。近年来,对网络舆情进行倾向性分析已逐渐成为学术界的一个热点问题,其中涵盖了自然语言处理、信息检索、信息
近年来,随着计算机技术的迅速发展和互联网应用的广泛普及,图片信息资源正急速膨胀,人们对图片信息检索的需求也日益扩大。如何迅速有效地搜索到所需要的图片信息--基于内容图像
随着科技的发展,因特网应用的不断普及,网络规模的日益扩大,网络结构变得越来越复杂。如何保证网络设备安全、可靠、高效地运行,成为一个急待解决的问题。优秀的网络管理软件