利索能及
我要发布
收藏
专利号: 2022117215096
申请人: 重庆大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于区域划分的自适应随机软件测试方法,其特征在于:包括如下步骤:S100:选用公开数据集,公开数据集包括若干个真实系统程序,每个真实系统程序有与其一一对应的输入域;

S200:构建自适应随机测试模型M,所述自适应随机测试模型包括组件一、组件二和组件三;

所述组件一用于划分系统程序的输入域,所述组件二用于计算测试用例的自适应相对比 所述组件三用于计算测试用例的自适应距离 所述测试用例为从输入域中选出的值;

S300:选取被测程序s,使用现有技术确定s的输入域维度和输入域范围,并从公开数据集中选择P个与s输入域维度相同的真实系统程序组成程序集D,利用组件一确定M的输入域划分比例参数α;

S400:定义测试用例使用数量阈值,从s的输入域范围中选择第一个候选测试用例t,且令已使用测试用例数量T=1;

S500:将t作为s的输入,当s的输出结果为正确时,则认为没有找到s的缺陷,然后执行下一步;

当s的输出结果为错误时,则认为找到s的缺陷,然后输出当前已经输入的测试用例数量F‑measure,结束测试;

S510:从s的输入域范围中随机选择k个候选测试用例组成候选测试用例集C;

S520:从C中选择第i个候选测试用例ci,利用组件二计算ci的自适应相对比然后利用组件三计算ci的自适应距离 其中,C={c1,…,ci,…ck},i=1,...,k;

当 时,执行S530;

当 时,执行S540;

exter表示调用函数Exter_func的次数,inter表示调用函数Inter_func的次数;

S530:使用函数Exter_func采用曼哈顿距离计算最近邻值 采用公式(1)计算其中, 表示自适应距离,E表示所有已经执行但没有找到s中缺陷的测试用例组成的集合, 表示自适应相对比,i=1,...,k;

将k个 进行降序排列,选择其中最大自适应距离值所对应的测试用例作为最佳的候选测试用例,将该最佳的候选测试用例赋给t,且令T=T+1,并执行S600;

S540:使用函数Inter_func,采用欧式距离计算最近邻值 采用公式(2)计算将k个 进行降序排列,选择其中最大自适应距离值所对应的测试用例作为最佳的候选测试用例,将该最佳的候选测试用例赋给t,且令T=T+1,并执行S600;

S600:当T大于测试用例使用数量阈值时,结束测试,否则返回S500。

2.如权利要求1所述的一种基于区域划分的自适应随机软件测试方法,其特征在于:所述S100中的系统程序为数值型程序。

3.如权利要求2所述的一种基于区域划分的自适应随机软件测试方法,其特征在于:所述S300中利用组件一确定M的输入域划分比例参数α的具体步骤如下:S310:令α=0.1;

S320:将D中每个真实系统程序对应的输入域按α均划分为外部区域和内部区域,内部d d区域表示为α,外部区域表示为1‑α,且α∈[0.1,0.9],中,d表示真实系统程序的维度;

S330:从D中任选一个真实程序W,且令W=1;

S340:从W的输入域中选择第一个候选测试用例w;

S350:将w作为W的输入,当输出结果为正确时,则认为没有找到W的缺陷,然后执行下一步;

当输出结果为错误时,则认为找到W的缺陷,然后输出当前已经输入的测试用例数量F‑measure;并令W=W+1,若W

S360:从W的输入域中随机选择k个候选测试用例组成候选测试用例集B;

S370:计算B中所有测试用例的自适应距离,并进行降序排列,选择其中最大自适应距离值所对应的测试用例赋给w作为W的下一个输入,并返回S350;

S380:针对当前α值,对所有真实系统程序对应的F‑measure进行求和并输出,同时令α=α+0.1,若α<=0.9,则返回S320,否则执行S390;

S390:将所有的F‑measure进行升序排列,选取其中最小值对应的α作为M的划分比例参数。

4.如权利要求3所述的一种基于区域划分的自适应随机软件测试方法,其特征在于:所述S520中计算自适应相对比 具体如下:所述C中第i个候选测试用例ci的维度为d;

计算ci在维度j的自适应相对比 的表达式如下:

其中,j表示第j维度且j=1,…,d, 表示候选测试用例ci在第j维度最大值,表示候选测试用例ci在第j维度最小值;

利用公式(3)计算ci所有维度的自适应相对比,选取其中自适应相对比的最小值作为ci的自适应相对比