【技术实现步骤摘要】
一种程序路径的层次化匹配方法、装置、设备及存储介质
[0001]本专利技术属于计算机信息处理与软件工程测试领域,特别涉及一种程序路径的层次化路径匹配方法、装置、设备及存储介质。
技术介绍
[0002]软件生命周期是指从软件的产生直到报废的过程,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试、测试、验收、运行、维护升级到废弃等阶段。在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。衡量软件测试完备性的指标往往是各种层面上的代码覆盖率,其中路径覆盖是一种较为严密的覆盖指标,可以显示程序在经过测试后,程序路径被覆盖的情况。
[0003]在软件测试中,满足路径覆盖的软件测试要保证程序中每条路径都被覆盖。这就要求测试人员首先要知道程序运行了哪些路径,还有哪些路径未被覆盖。因此,匹配程序的执行路径与程序的标准路径是一项必要的工作。然而,由于程序控制流的复杂性与多样性,尤其是循环结构的存在,使得程序路径匹配出现了一些缺陷。
[0004]程序中的循环结构往往会提升程序的复杂度。如 ...
【技术保护点】
【技术特征摘要】
1.一种程序路径的层次化路径匹配方法,其特征在于包括如下步骤:S1,对被测程序进行静态分析,创建相应的控制流程图;S2,遍历控制流图,搜索出所有路径;S3,分割步骤S2中的路径为最小子路径,将所有最小子路径放入最小子路径库,建立最小子路径库;S4,组合子路径,建立循环节点库;S5,得出循环产生式,以表示循环节点;S6,针对路径的覆盖强度需求,建立路径标准库;S7,搜集执行路径,将该程序的所有执行路径放入执行路径集合;S8,路径匹配与结果分析;在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;利用循环节点的产生式,转化执行路径中循环多次的部分;将转化后的执行路径与路径标准库中的路径进行匹配;计算路径覆盖率,分析被测程序的路径覆盖情况。2.根据权利要求1所述的一种程序路径的层次化路径匹配方法,其特征在于:在步骤S2中,所述路径的条数等于该程序的圈复杂度。3.根据权利要求2所述的一种程序路径的层次化路径匹配方法,其特征在于:对于每一个循环,只考虑“进循环”与“不进循环”两种情况下的路径区别,而不考虑循环次数。4.根据权利要求1所述的一种程序路径的层次化路径匹配方法,其特征在于:在步骤S4中,程序中每一个循环均是一个循环节点。5.根据权利要求4所述的一种程序路径的层次化路径匹配方法,其特征在于:所述每个循环...
【专利技术属性】
技术研发人员:郭中豪,陈祥献,许馨月,王志豪,陈思农,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。