[发明专利]一种用于弱变异测试的路径覆盖测试数据生成方法有效
申请号: | 201610108003.6 | 申请日: | 2016-02-28 |
公开(公告)号: | CN105808426B | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 徐州工程学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种用于弱变异测试的路径覆盖测试数据生成方法,目的是将弱变异测试问题转化为路径覆盖问题,从而有效提高变异测试的效率,和生成具有较强检测缺陷能力的测试数据。首先,基于弱变异测试准则构建变异分支,基于变异分支之间的相关度和变异分支的覆盖难度,采取一定的方法生成变异分支相关图;接着,基于该图,按照一定的策略,生成比较容易覆盖的可执行路径集合;然后,构建多路径覆盖测试数据生成问题的多目标优化数学模型;最后采用多种群并行遗传算法生成覆盖这些路径的测试数据。 | ||
搜索关键词: | 一种 用于 变异 测试 路径 覆盖 测试数据 生成 方法 | ||
【主权项】:
1.一种用于弱变异测试的路径覆盖测试数据生成方法,其特征在于,该方法包括:步骤1.1:给出变异分支相关度的计算方法,保障相关度大于阈值的一些变异分支进行结合,生成的可执行路径;步骤1.2:给出变异分支覆盖难度的计算方法,保障在路径生成时,优先选择覆盖难度高的变异分支,且只选择1次,从而降低覆盖难度高的变异分支在路径集合中出现的频率;步骤1.3:给出基于变异分支相关图的可执行路径集合生成方法;依次选择覆盖难度最大的变异分支,并结合与其相关度大的一些变异分支,生成变异分支相关图,再基于该图生成可执行路径集合;其中:首先,基于变异分支的覆盖难度,从高到低的顺序,对将变异分支进行排序,形成一个有序的变异分支集合,记为H;为了生成可执行路径,先基于变异分支集合H和变异分支相关矩阵∧构建变异分支相关图;首先,从变异分支集合H中,选取最难覆盖的变异分支
为基准变异分支,其中i为并行程序的第i个进程,j为进程中包含的第j个变异分支,将
放入顶点集合
中,并设置合适的阈值;然后,基于变异分支相关矩阵中
所属的行,考察
与其他变异分支的相关度
其中
为变异分支,ik1为第ik1个进程,ik1=0,1,...,m‑1,m为并行程序中进程的个数,jk1为进程中包含的第jk1个变异分支,jk1=1,2,...,jk1≠j;如果
大于阈值,将
放入
中;继续考察
和其他变异分支相关度与阈值的关系;直到与
或
相关的所有变异分支都考察完毕,那么结束生成
最后,考察集合
中,任意两个顶点
之间相关度是否大于0,如果大于0,添加到边集合
直到所有顶点之间都考察完毕;生成变异分支相关图,记为
由变异分支相关图生成可执行路径集合,首先,考察变异分支相关图
中任意两个顶点之间是否存在入度边或出度边,如果两或多个顶点之间,不存在边,则将这些顶点分为n,个组,n=1,2,...;然后,分别考察每个组内顶点与
中其他顶点是否存在边,如果存在边,将
中这些顶点放入对应的组内;直到
中所有的顶点都被考察完毕;并根据每个组内变异分支所属并行程序的进程,及进程内变异分支从前往后的顺序,输出一系列并行程序的路径;删除这些路径中的不可执行的路径,从剩下的一或多条可执行路径中,选择一条包含节点最少的可执行路径,作为
对应的路径
最后,将路径
放入可执行路径集合Q中,并从变异分支集合H中,约简路径
包含的变异分支;若
继续从约简后的H中,选取最难覆盖的变异分支为基准节点,生成对应的可执行路径;若
输出可执行路径集合Q={g1,g2,...,gk,...,g|Q|},|Q|为集合Q中可执行路径个数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于徐州工程学院,未经徐州工程学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610108003.6/,转载请声明来源钻瓜专利网。