【技术实现步骤摘要】
基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
[0001]本专利技术涉及软件测试
,特别是涉及一种基于均衡优化理论与灰色预测模型的多路径覆盖测试方法。
技术介绍
[0002]自动生成满足测试需求的数据是软件测试的一个关键问题,相关技术人员提出各种方法对该问题求解,最普遍的方法即对代码已知的被测程序尝试进行路径覆盖。大多数测试数据自动生成问题可转化为目标路径覆盖问题。该问题分两个方面考虑(即,单目标、多目标的路径覆盖),其中多目标路径覆盖的复杂程度高,但更贴近实际应用,且测试数据的生成也更高效。
[0003]近年来,利用搜索的测试方法是软件自动测试领域的常用方法,它被认为是一种基于优化思想解决测试问题并利用相关搜索算法生成测试用例的方法。遗传算法作为经典的搜索算法,是求解多路径覆盖测试数据自动生成问题的一种有效方法,近年来国内外的相关研究较丰富,其主要通过适应度函数寻找最优解。
[0004]但是,已有方法大多需计算所有个体的适应度值,时间消耗巨大,且随程序复杂度及代码量的增加,表现越明显。因此,如何 ...
【技术保护点】
【技术特征摘要】
1.一种基于均衡优化理论与灰色预测模型的多路径覆盖测试方法,其特征在于,所述方法包括:获取被测程序的目标路径,对被测程序依据该目标路径生成对应的子种群,再利用均衡优化方法计算子种群中一个体被删除前后的程序均衡度,根据程序均衡度的变化情况设计适应度函数;基于设计出的适应度函数计算被测程序中部分个体的适应度函数值,通过灰色预测模型对该部分个体的适应度函数值进行训练,得到训练后的灰色预测模型,使用灰色预测模型进行个体适应度值预测,对适应度预测值大于等于阈值的优秀个体,计算其精确适应度值;在多种群遗传算法中利用优秀个体精确适应度值,通过优秀个体覆盖目标路径,从而进化生成测试数据。2.根据权利要求1所述的基于均衡优化理论与灰色预测模型的多路径覆盖测试方法,其特征在于,获取被测程序的目标路径的步骤具体包括:对被测程序进行插桩,随机生成测试数据,计算每个节点被穿越的概率,设定概率阈值并确定难覆盖节点及难覆盖边,所述难覆盖节点为被穿越的概率低于概率阈值的节点,所述难覆盖边的两个节点均为难覆盖节点;遍历被测程序中所有测试路径,将包含难覆盖边的测试路径作为初始目标路径,计算各初始目标路径中难覆盖边概率之和,按照从大到小的顺序,根据难覆盖边概率之和对各个初始目标路径排序;选择排序靠前的预设数量的初始目标路径作为被测程序的目标路径,并组成目标路径集。3.根据权利要求2所述的基于均衡优化理论与灰色预测模型的多路径覆盖测试方法,其特征在于,难覆盖边概率的计算公式如下:;;;;;其中,表示难覆盖边的概率,难覆盖边的两个节点分别为节点和节点,表示节点被穿越的概率,表示节点被穿越的概率,表示穿越矩阵覆盖节点的路径数,表示穿越矩阵覆盖节点的路径数,表示被测程序中测试路径的总数,表示穿越矩阵中第行第列的元素,表示穿越矩阵中第行第列的元素;在穿越矩阵中,若元素对应的测试路径穿越难覆盖边,则元素的取值为1,若元素对应的测试路径未穿越难覆盖边,则元素的取值为0。
...
【专利技术属性】
技术研发人员:钱忠胜,成轶伟,俞情媛,朱辉,
申请(专利权)人:江西财经大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。