[发明专利]一种软件测试用例的生成方法在审
申请号: | 202210166764.2 | 申请日: | 2022-02-23 |
公开(公告)号: | CN114579435A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 张媛;彭茂;卢长娜 | 申请(专利权)人: | 南京信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/16 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 田凌涛 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 生成 方法 | ||
1.一种软件测试用例的生成方法,用于获得覆盖预设k+1种软件类型、且各种软件类型分别包括v+1个可选测试软件的软件测试用例方案,其特征在于,按如下方法执行:
步骤A.针对两两不同软件类型的可选测试软件的组合测试方案设计问题,获得相对应构造覆盖阵列CA(2,k+1,v+1)问题,然后进入步骤B;
步骤B.应用进化算法生成初始覆盖向量组,然后进入步骤C;
步骤C.基于初始覆盖向量组,应用矩阵循环模加方法,构造满足参数要求CA(2,k+1,v+1)的覆盖阵列,然后进入步骤D;
步骤D.将覆盖阵列转化为所对应的软件测试用例方案。
2.根据权利要求1所述一种软件测试用例的生成方法,其特征在于:所述步骤B包括如下步骤B1至步骤B5;
步骤B1.初始化向量组B的取值为空集,以及初始化迭代次数n=1,然后进入步骤B2;
步骤B2.使用修正算子更新向量组B,使得向量组B中各向量中两两数据对象之间位置差覆盖满足要求的集合C,并针对迭代次数n进行加1更新,其中,Zv={0、1、…、v-1},然后进入步骤B3;
步骤B3.判断迭代次数n的值是否等于预设第一最大迭代次数N,是则即获得N个向量组B,并进入步骤B4;否则返回步骤B2;其中,预设第一最大迭代次数N为正偶数;
步骤B4.迭代执行如下步骤B4-1至步骤B4-2,直至满足预设迭代溢出条件,然后进入步骤B5;
步骤B4-1.根据N个向量组B分别所包含向量的个数,按分别所包含向量个数由小至大的顺序,针对N个向量组B进行排序,并按预设规则选择该排序中的前P个向量组B,并定义该前P个向量组B中的第一个向量组B为当前迭代最优解,然后进入步骤B4-2;
步骤B4-2.分别针对N个向量组B中除前P个向量组B以外的剩余各个向量组B,按预设规则针对向量组B进行更新,使得该向量组B中各向量中两两数据对象之间位置差覆盖满足要求的集合C,进而更新N个向量组B中除前P个向量组B以外的剩余各个向量组B;
步骤B5.根据N个向量组B分别所包含向量的个数,选择其中最小包含向量个数所对应的向量组B,构成初始覆盖向量组。
3.根据权利要求2所述一种软件测试用例的生成方法,其特征在于:所述步骤B4-1中,按由N个向量组B的排序中选择前P个向量组B,其中,a表示预设选择比例,表示向上取整;或者按P=(N/2),由N个向量组B的排序中选择前P个向量组B。
4.根据权利要求2所述一种软件测试用例的生成方法,其特征在于:所述步骤B4-2中,分别针对N个向量组B中除前P个向量组B以外的剩余各个向量组B,执行如下步骤B4-2-1至步骤B4-2-3,针对向量组B进行更新,使得该向量组B中各向量中两两数据对象之间位置差覆盖满足要求的集合C,进而更新N个向量组B中除前P个向量组B以外的剩余各个向量组B;
步骤B4-2-1.应用当前最优解,针对向量组B进行替换更新,并进入步骤B4-2-2;
步骤B4-2-2.由该向量组B中随机删除一个向量,针对该向量组B进行更新,并进入步骤B4-2-3;
步骤B4-2-3.使用修正算子更新该向量组B,使得该向量组B中各向量中两两数据对象之间位置差覆盖满足要求的集合C。
5.根据权利要求4所述一种软件测试用例的生成方法,其特征在于:所述步骤B2、以及所述步骤B4-2-3中,分别按如下步骤a)至步骤d),使用修正算子更新向量组B,使得向量组B中各向量中两两数据对象之间位置差覆盖满足要求的集合C;
步骤a)计算当前向量组B中各向量中两两数据对象之间位置差集合,若该集合已覆盖集合C,则修正完成,得到一组符合要求的向量组B,返回向量组B,并退出流程;否则任意选取集合C中未被所覆盖的一个数据对象x,并进入步骤b);
步骤b)由Zv中随机选择k个数据对象,构成长度为k的行向量u,并进入步骤c);
步骤c)随机选择行向量u中的一个位置,修改该位置的值,使行向量u的位置差覆盖该数据对象x,然后进入步骤d);
步骤d)将行向量u添加至向量组B中,针对向量组B进行更新,返回到步骤a)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息工程大学,未经南京信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210166764.2/1.html,转载请声明来源钻瓜专利网。