1.一种基于RBF神经网络与个体迁移的多路径覆盖测试方法,其特征在于,所述方法包括如下步骤:步骤1、利用高斯函数激活RBF神经网络,将个体输入至RBF神经网络中进行训练,以得到RBF神经网络预测模型;
步骤2、根据个体在节点上的经过情况得出关键点概率,再根据关键点概率计算出个体对进化生成测试用例的个体贡献度,利用个体贡献度设计得到适应度函数;
步骤3、利用RBF神经网络预测模型预测个体适应度值的预测值,再筛选出与预测值阈值最小差值的个体,利用适应度函数进行计算筛选后的个体的适应度值;
步骤4、将目标路径集中的任一目标路径随机生成对应的子种群,将计算适应度值后的个体迁移至对应的所有子种群中,并根据个体的适应度值判断个体是否覆盖目标路径,若是,则对应的子种群停止进化;
步骤5、重复步骤3与步骤4,直至进化代数达到预设进化代数值,使得目标路径集被全部覆盖生成得到目标测试用例,以完成多路径测试;
在所述步骤1中,将个体输入至RBF神经网络进行训练的具体方法为:步骤1.1、先初始化中心向量、宽度向量与权重向量;
步骤1.2、将个体输入神经网络中得到的预测值,计算个体的预测值与实际适应度值的误差;
步骤1.3、若误差大于阈值,则使用梯度下降法更新中心向量、宽度向量与权重向量;
步骤1.4、循环步骤1.2与步骤1.3的操作,直至迭代超过上限或误差小于阈值,输出RBF神经网络预测模型;
RBF神经网络采用径向基函数,径向基函数表达式为:;
其中, 为径向基函数, 为个体, 为中心向量;
激活后的RBF神经网络表达式为:
;
其中, 为激活后的RBF神经网络的表达, 为宽度向量;
RBF神经网络预测模型表达式为:
;
其中,为预测值, 为权重向量,为转置操作。
2.根据权利要求1所述的基于RBF神经网络与个体迁移的多路径覆盖测试方法,其特征在于,在所述步骤1.2中,误差的表达式为:;
其中, 为误差, 为适应度函数;
中心向量 的梯度下降表达式为 ;
宽度向量 的梯度下降表达式为 ;
权重向量 的梯度下降表达式为 ;
其中 为常量系数,为偏导数。
3.根据权利要求1所述的基于RBF神经网络与个体迁移的多路径覆盖测试方法,其特征在于,在所述步骤2中,根据个体在节点上的经过情况得出关键点概率的方法包括:设 表示为个体在节点 的经过情况,当个体经过节点 ,则 ;当个体未经过节点 ,则 ;
运行被测程序,得到被测程序对应目标路径集 ,目标路径集 包含 条目标路径,每个目标路径上分别有若干节点,个体在每个节点经过的次数为 ,则每个节点的关键点概率为 ;
其中, 为目标路径数量, 表示第 个节点。
4.根据权利要求3所述的基于RBF神经网络与个体迁移的多路径覆盖测试方法,其特征在于,在所述步骤2中,根据关键点概率计算出个体对进化生成测试用例的个体贡献度的方法包括如下步骤:计算个体路径 与目标路径 之间相同节点的关键点概率之和,即为个体贡献度;
其中,个体路径 表示为个体 所覆盖的目标路径;
个体贡献度表达式为:
;
其中, 表示第 个目标路径。
5.根据权利要求4所述的基于RBF神经网络与个体迁移的多路径覆盖测试方法,其特征在于,在所述步骤2中,适应度函数的表达式为:;
其中, 表示个体 与第 条目标路径 对应的适应度函数, 为个体的适应度值。