覆盖测试中路径选择算法的设计与实现

来源 :北京邮电大学 | 被引量 : 2次 | 上传用户:sdszsh122
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网、个人电脑及移动终端的普及,市场对各类软件的需求也与日俱增。由于开发过程中种种偏差,软件代码中总是存在着故障,给软件使用带来了不好的体验甚至安全上的隐患。因此,软件测试在软件开发过程中有着不可或缺的作用,自动化测试将程序员从枯燥的测试工作中解放出来,有着广阔的发展前景。单元覆盖测试是软件测试中的一个环节,其目标是尽可能全面地覆盖被测代码,从而发现问题。本文中提到的单元测试流程主要分为代码预处理、控制流图生成、测试路径生成和测试用例生成四个部分。测试路径生成直接决定了用例的生成与否,有效的测试路径会减少用例生成的次数,产生更高的覆盖率。本文围绕生成可达测试路径进行研究,做出了如下工作:(1)针对循环内执行路径难以选择的问题,本文提出一种判定循环类型的方法,针对不同种类的循环类型,采用不同的选路方法,从而提高了循环内的选路效率,更为有效地生成可达路径。(2)关于如何选择路径,本文提出了基于回溯法的可达路径选择框架,该框架面向目标覆盖元素,基于回溯法,遍历程序控制流图,选择可达路径。从函数入口节点开始,进行深度优先的路径遍历,以当前的部分路径是否可达和当前节点是否能够到达目标覆盖元素,作为回溯的条件进行回溯,最终获得一条经过目标覆盖元素的可达路径。最后针对Linux实际使用的C语言工程进行语句、分支、MCDC覆盖的选路实验,能够获得较高的覆盖率,验证了该方法能够适用于多种不同覆盖准则下的选路。(3)由于代码中条件约束的边界往往是产生错误的地方,提出在白盒测试中进行边界值覆盖测试,并对其进行选路。为后续生成边界值覆盖用例提供基础。
其他文献
聚类是数据挖掘中一种重要的技术。它从数据库中寻找数据间的相似性,并依此对数据进行分类,使得不同类中的数据尽可能相异,而同一类中的数据尽可能相似,从而优化大规模数据库的查
随着计算机技术、网络通信技术、地球空间技术的发展,传统的GIS向着信息共享的WebGIS发展,WebGIS正成为大众化的信息工具,越来越多的Web站点提供空间数据服务。但我们不得不面对
双目立体视觉的距离测量在三维重构、非接触式精确定量测量和危险场景感知等领域有着广阔的应用前景。一般的双目立体测距系统主要包括四个部分:立体标定,图像校正,立体匹配,立体
在各种神经网络中,单隐层前向网络(SLFNs)由于其简单的结构和逼近能力而在理论和应用领域都被广泛地研究。但是,传统的单隐层前向网络学习算法,比如基于梯度的方法,可能面临