[发明专利]基于多目标差异演化算法的软件测试资源动态分配方法有效
申请号: | 201510320713.0 | 申请日: | 2015-06-10 |
公开(公告)号: | CN104899101B | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 张国富;苏兆品;岳峰;齐美彬;蒋建国;王永奇 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/36 |
代理公司: | 安徽合肥华信知识产权代理有限公司 34112 | 代理人: | 余成俊 |
地址: | 230009 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多目标 差异 演化 算法 软件 测试 资源 动态分配 方法 | ||
1.基于多目标差异演化算法的软件测试资源动态分配方法,其特征在于:包括以下步骤:
(1)、对所求问题进行分析,为可行解设计编码方法;
(2)、对整个测试环节进行划分,划分为若干个测试阶段;
(3)、对差异演化算法中的包含种群规模、迭代次数、交叉概率、变异概率的控制参数进行设置;
(4)、对种群进行初始化操作;
(5)、对种群中的个体进行变异操作;
(6)、对变异生成的个体与原种群中的个体进行交叉操作;
(7)、采用非支配排序机制进行选择操作;
(8)、判断是否达到最大迭代次数,若否,则跳到步骤(5),继续进化操作;若是,则跳到步骤(9);
(9)、对pareto解进行解码;
(10)、判断是否还存在未进行的测试阶段,若存在,跳到步骤(11);若否,则结束求解过程;
(11)、更新下一测试阶段的测试资源,跳到步骤(4),进入下一测试阶段;
步骤(1)中为可行解进行一维整数向量编码;且若软件系统包含m个串联子系统,每个子系统Sj(j=1,2,…,m)由nj个并联模块组成,则每个个体包含m个整数向量Γ1,…,Γj…,Γm,每个向量包含nj个元素tjk表示模块Mjk所分配到的测试资源;
步骤(2)中,将测试资源T分为p个测试阶段:
(T0=0,T1],…,(Ti-1,Ti],…,(Tp-1,Tp=T];
步骤(4)中,对种群进行初始化操作,按照不同测试阶段采用不同的种群初始化方法;
在步骤(4)中,对于第i=1个测试阶段(T0=0,T1],由于系统各个模块的可靠性都较低,采用随机的方法初始化每个子系统中每个模块的测试资源:
其中,rand(u1,u2)函数表示在区间(u1,u2)内随机取整数;
在步骤(4)中,对于第i个(i≥2)测试阶段(Ti-1,Ti],种群初始化的方法是根据模块已达到的可靠性rjk分配测试资源:
其中,θ是用户希望达到的模块可靠性阈值,rjk是模块Mjk已经达到的可靠性值;
步骤(7)中,采用非支配排序机制进行选择操作,选择的对象集合包括原种群个体、变异后的个体以及交叉产生的个体;
步骤(7)中,非支配排序机制是指对种群按照优化目标函数进行分层,并计算个体拥挤度来衡量个体在每层的优劣,然后根据个体的分层和拥挤度的大小选取较优的个体组成新的种群;
步骤(7)中,优化目标函数为:
s.t.
Tia≤Ti-Ti-1
0<tijk≤Ti-Ti-1
其中,k表示子系统Sj的第k个模块,tijk表示模块Mjk在第i个测试阶段所分配到的测试资源,rijk表示模块Mjk在第i个测试阶段的可靠性值,且rijk=rjk(x/tijk),Ri(x/(Ti-Ti-1))、Ci和Tia分别表示软件系统在第i个测试阶段的总体可靠性、总体测试代价和系统实际消耗的总测试资源,rjk(x/tijk)和Cjk(rijk)分别表示模块Mjk在第i个测试阶段的可靠性和测试代价,均为测试资源的函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510320713.0/1.html,转载请声明来源钻瓜专利网。