利索能及
我要发布
收藏
专利号: 2023103707028
申请人: 江西财经大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于路径相似表与个体迁移的多路径测试方法,其特征在于,所述方法包括如下步骤:步骤一、获取目标路径集与可达路径集,所述目标路径集包括多个目标路径集子集,每个所述目标路径子集中包含多个目标路径,根据目标路径集子集中的所有目标路径与可达路径集中可达路径之间的相似度关系,在每个所述可达路径上分别建立对应的路径相似表;

步骤二、将目标路径集中的任一目标路径随机生成对应的子种群;

步骤三、根据被测程序中个体的路径搜索对应的路径相似表,根据路径相似表中的相似度值,将与所述相似度值具有对应关系的个体迁移至所述路径相似表对应的子种群中;

步骤四、计算所述子种群中个体对应的适应度值,根据所述适应度值判断个体的路径是否覆盖目标路径,若是,则对应的子种群停止进化;

步骤五、重复步骤三与步骤四,直至进化代数达到阈值,使得目标路径集被全部覆盖生成得到目标测试用例,以完成多路径测试。

2.根据权利要求1所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,在所述步骤一中,根据目标路径集子集中的所有目标路径与可达路径集中可达路径之间的相似度关系,在每个所述可达路径上分别建立对应的路径相似表的方法包括:在获取所述目标路径集与所述可达路径集之后,将所述目标路径集划分为多个不相交的子集;

从所述不相交的子集中选出其中一条目标路径作为所述不相交的子集的代表路径;

根据所述代表路径与所述可达路径集中可达路径之间的相似度关系,在每个所述可达路径上分别建立对应的路径相似表。

3.根据权利要求2所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,在所述步骤一中,在每个所述可达路径上分别建立对应的路径相似表的方法具体包括:将目标路径集表示为 ,可达路径集表示为

,其中, 表示目标路径集 中第 个目标路径, 表示可达路径集 中第 个可达路径;

当可达路径集 中的第 个可达路径 与目标路径集 的目标路径集子集 中所有目标路径的相似度为 时,则将目标路径集子集 设定为可达路径 对应的路径相似表。

4.根据权利要求2所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,所述代表路径的确定方法具体包括:将目标路径集 划分为多个不相交的子集 ;

计算所述不相交的子集 中除当前一目标路径 之外的其它目标路径的相似度之和 ;

计算出与每个目标路径对应的相似度之和 后,查找相似度之和的最大值 ,,其中, 表示第 个目标路径所对应的相似度之和;

将相似度之和的最大值 所对应的目标路径 确定为所述不相交的子集 的代表路径。

5.根据权利要求2所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,在所述步骤三中,根据被测程序中个体的路径搜索对应的路径相似表的方法具体包括如下步骤:利用二分查找方法搜索所述路径相似表是否存在,若存在路径相似表,直接返回路径相似表;

若不存在路径相似表,遍历所有所述不相交的子集,计算所述个体的路径与所述不相交的子集的代表路径之间的相似度值;

当判断到所述相似度值达到阈值,则确定所述不相交的子集中的所有目标路径与所述个体的路径相似。

6.根据权利要求5所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,所述可达路径与所述代表路径之间的相似度值的计算方法具体包括:设定可达路径 、代表路径 和目标路径 分别有 个节点,可达路径 与代表路径的不同节点为 ,可达路径与遍历所有子目标路径集中已遍历的目标路径 的不同节点为 ;

将可达路径与目标路径的第一相似度值表示为 ,可达路径与代表路径的第二相似度值表示为 。

7.根据权利要求6所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,所述第一相似度值 与第二相似度值 之间存在如下关系式: 。

8.根据权利要求7所述的基于路径相似表与个体迁移的多路径测试方法,其特征在于,在所述步骤四中,计算所述子种群中个体对应的适应度值的步骤中,对应存在如下公式:;

其中, 为适应度函数, 表示第 条目标路径所有适应度值中最大的值,表示第 条目标路径所有适应度值中最大的值,  。

9.一种基于路径相似表与个体迁移的多路径测试系统,其特征在于,所述系统应用如上述权利要求1至8任意一项所述的基于路径相似表与个体迁移的多路径测试方法,所述系统包括:目标路径预处理模块,用于:

获取目标路径集与可达路径集,所述目标路径集包括多个目标路径集子集,每个所述目标路径子集中包含多个目标路径,根据目标路径集子集中的所有目标路径与可达路径集中可达路径之间的相似度关系,在每个所述可达路径上分别建立对应的路径相似表;

遗传算法模块,用于:

将目标路径集中的任一目标路径随机生成对应的子种群;

根据被测程序中个体的路径搜索对应的路径相似表,根据路径相似表中的相似度值,将与所述相似度值具有对应关系的个体迁移至所述路径相似表对应的子种群中;

计算所述子种群中个体对应的适应度值,根据所述适应度值判断个体的路径是否覆盖目标路径,若是,则对应的子种群停止进化;

重复遗传算法模块所有步骤,直至进化代数达到阈值,使得目标路径集被全部覆盖生成得到目标测试用例,以完成多路径测试。