一种基于组合混沌序列的测试用例集生成方法

文档序号:9396792阅读:2168来源:国知局
一种基于组合混沌序列的测试用例集生成方法
【专利说明】一种基于组合混沌序列的测试用例集生成方法 【技术领域】
[0001] 本发明涉及计算机软件性能测试领域,尤其是计算机软件性能测试中用到的测试 用例集的生成方法。 【【背景技术】】
[0002] 计算机系统已被应用到社会生活各方面,软件形式更加复杂多样,规模越来越大。 在这样的背景下,保证软件质量,使其准确完成预期目标变得尤为重要。软件测试是软件质 量保重中必不可少的一部分,为满足一定测试需求覆盖率,生成的测试用例数目往往异常 庞大;另一方面,软件系统开发过程的迭代需要频繁的进行回归测试,测试冗余严重。为提 高测试效率、降低测试成本,减少测试用例的执行、管理与维护的开销,测试用例集的约简 是极为必要的。
[0003] 现有的测试用例约简方法主要有贪心算法、启发式算法、整数规划算法、扩张集算 法、有限状态机、分支限界搜索、粒子群优化算法、遗传算法等。
[0004] 这些方法中,遗传算法由于其良好的全局搜索能力,快速地搜索效率,在测试用例 优化中取得了较好的应用,但是其局部搜索能力较弱,容易出现早熟收敛等问题。 【
【发明内容】

[0005] 本发明的目的就是解决现有技术中的问题,提出一种基于组合混沌序列的测试用 例集生成方法,能够有效避免未成熟收敛,覆盖所有测试需求。
[0006] 为实现上述目的,本发明提出了一种基于组合混沌序列的测试用例集生成方法, 依次包括以下步骤:a)采用Chebyshev映射和Logistic映射相结合生成混纯序列;b)利用 混沌序列初始化种群;c)设定个体适应度函数;d)定义遗传算子;e)添加混沌扰动。
[0007] 作为优选,各步骤具体如下:
[0008] a)采用Chebyshev映射和Logistic映射相结合生成混纯序列:令y。= X。为初始 值,使用 Chebyshev 映射 yi+1 =Cos (Aarccos yj 得到一个伪随机序列{y。, 后将序列取绝对值之后与Logistic映射求和temp = μ Xi (I-Xi) +1 yi+11,每次迭代后采用映 射xi+1= mod (temp, 1)保证混纯序列取值为(0, 1),其中mod (,1)算子代表取数值的小数部 分;
[0009] b)利用混沌序列初始化种群:设初始种群中个体数目为M,则初始种群及种群中 个体可分别表示为:
[0010] P0= (W1jW2jLjW11LjWmI
[0011] W = {gi, g2, L, gj, L, gn}
[0012] 其中P。表示初始种群,W表示种群中的个体,W i表示初始种群中的第i个初始个 体,表示该个体上的第j号染色体;
[0013] 采用混沌序列的方法由M个不同初值产生M个长度均为η的混沌序列,对 W1, W2, L,Wm上的染色体进行赋值,方法如下: CN 105117326 A 说明书 2/7 页
[0015] 由此完成初始种群中个体的初始化;
[0016] c)设定个体适应度函数:使用传统适应度函数计算公式,针对本文的基因编码方 式将适应度计算的对象变为对个体W1按式(1)进行适应度计算;
[0017] F(W1) = Cov(W1)ZCost(W1) (1)
[0018] 其中,Cov(W1)指个体的测试覆盖度,Cost(W1)是个体的测试运行代价,覆盖程度 Cov(W1)为计算父体编码W1中覆盖测试需求集的个数,根据式(1)计算出个体适应度;
[0019] d)定义遗传算子:遗传算子包括选择、交叉、变异三步,对个体进行遗传变异,对 其进行优化最终得到新个体,新个体的生产可能会增加向最优解变异的机会,因此在遗传 算子结束后再对新的个体进行适应值评价,判断是否满足输出条件;
[0020] 选择:采用改进的轮盘赌选择算法,利用各个体适应度的概率决定其遗留可能 性,若某个体W1,其适应度为F(W1),依次计算种群中每个个体的适应度,则第i个个体的 适应度累计值
假设需要选择S个个体直接遗留到下一代个体,利用混沌映 射产生长度为S的序列{y。,yi,y2, L,ys},由于组合混沌映射生成的组合混沌序列在统计 特性上呈现均匀分布,序列值均匀分布在区间(0, 1),选择所有满足C1S y C 1+1,j = 0, 1,2, L,S的S个个体W1,利用该序列可增加选择运算的随机均匀性,有效提升算法的全局 搜索能力,另外^被选择的概率为
可以保证适应度越大的个体遗留的可能性 也越大;
[0021 ] 交叉:首先参照MTCGG方法确认个体交叉点的有效区域;
[0022] 在TCGCG方法中采用基于个体适应度的自适应调整办法,具体如式(2)式⑶所 示
[0025] 式⑵中,Pctciss为参与交叉运算的两个个体的交叉概率,F_为群体中适应度的最 大值,F (W1)与F (Wj)分别为待交叉的两个个体的适应度值,Favg为群体内所有个体的适应度 均值;式⑶中Pnmtatlcin为个体的变异概率,F为参加变异运算个体的适应度值,k i,k2, k3, k4为常量系数;
[0026] 变异:经过上述选择和交叉变异出新个体;
[0027] e)添加混沌扰动:对当前种群中适应度后90%的个体,利用混沌系统,对其进行 微小扰动,从而提高其适应度;
[0028] 将选中的个体所指代的二进制的每一位都加一混沌扰动,按式(4)进行添加,然 后按式(5)映射为优化变量,进行迭代计算:
[0029] ffrk= (l-β ) . W *+β . ffk, I ^ k ^ η (4)
[0030] W" k= c Μ · r k (5)
[0031] 其中f为当前最优个体,Wk为当前个体,k为迭代次数,在式(5)中c b (I1为变换 常数;通过式(4)可得到一组新个体:
[0032] W' k= (g,kl,g' k2, L,g' kn,),0 < β < 1
[0033] 对于β的取值按照式(6)进行自适应进行选取:
[0035] 在搜索阶段的初期,希望Wk取值变动较大,随着搜索逐渐接近最优点,需将β逐 渐缩小,以保证在小范围内搜索最优解;
[0036] 由于g" kie {〇, 1},i = l,2,L,n,因此需将式(5)得到的g" kl通过式(7)变换 到相应的取值:
[0038] 作为优选,所述a)采用Chebyshev映射和Logistic映射相结合生成混纯序列步 骤中 μ = 4,λ = 4。
[0039] 本发明的有益效果:本发明利用组合混沌映射生成初始种群,每个种群个体包括 η个基因,种群个体即为一种可能的测试用例选择方案,并将具有均匀分布特性的组合混沌 序列引入遗传算法的选择、交叉和变异操作,有效地避免了未成熟收敛,提升了算法的全局 搜索能力和计算效率混沌系统产生初始种群基因,然后对各个混沌变量附加混沌小扰动进 行种群优化,通过不断进化收敛到一个最适合的个体上。从而将测试用例最小化转化为在 种群中寻找基因个数最少的个体覆盖所有测试需求。
[0040] 本发明的特征及优点将通过实施例结合附图进行详细说明。 【【附图说明】】
[0041] 图1是本发明一种基于组合混沌序列的测试用例集生成方法的流程示意图。 【【具体实施方式】】
[0042] 实施例一:
[0043] 用R = Ir1, r2,. . .,rk}表示测试需求集,T = It1, t2,. . .,tn}表示测试用例集,(其 中η代表测试用例数量,k代表需求数量),可用一个η X k矩阵g[1] m来表示测试用例11与 CN 105117326 A 说明书 4/7 页 测试需求&的覆盖关系其中g[1]m的取值为0或1,g [lKj]= I
则表示用例h可以覆盖需求r _j,g[iKj]= 0表示用例t;不能覆盖需求r _j。
[0044] 测试用例集约简问题:给出一个测试用例集T,一个测试用例需求集R,R满足给定 程序要求的某种测试覆盖准则,T可以完成对R中所有Γι的测试,要求从T中找到一个测试 用例优化集可以满足所有A的测试,需要在大量的测试用例中筛选出最优的测试用例,SP 能用最少的测试用例覆盖最多的测试需求。
[0045] -些遗传算法及混沌理论相关定义介绍如下:
[0046] 个体(Individual):遗传算法所处理的基本对象、结构。
[0047] 种群(Population):个体的集合。
[0048] 种群大小(Population Size):-个种群中个体的数量。
[0049] 染色体(Chromosome):个体的抽象表示,通常表现为二进制位串,在问题求解过 程中称为假设解,最接近被求解问题需求的个体称为最优解。
[0050] 基因(Gene):染色体中的元素,用于表示个体特征。
[0051] 适应度(Fitness):个体对环境的适应程度。
[0052] 交叉(Crossover):是指在一定条件下两条染色体上的一个或几个基因相互交换 位置。
[0053] 变异(Mutation):指在一定条件下随机改变一条染色体上的一个或几个基因值。
[0054] 选择(Selection):根据个体所对应的适应度值和问题的具体要求,对种群中的 个体进行筛选。
[0055] 子代个体(Offspring):个体经过交叉或变异后形成新的个体。
[0056] Chebyshev 映射:[23]
[0057] xi+1= cos (karccosx ;),XiG [-1,1],当映射阶数k彡2时,系统处于混纯状态,不 同初值产生的序列间具有自相关性与零值互相关性。
[0058] Logistic 映射:[23]
[0059] xi+1= μ ·χ ; · (I-Xi),对初值敏感,非周期,不收敛,μ = 4时处于完全混纯状态。
[0060] 提出一种基于混纯遗传算法的测试用例集优化选择方法(Test Case Generation Based on Chaos Genetic Algorithm, TCGCG)。该方法利用组合混纯映射生成初始种群,每 个种群个体包括η个基因,种群个体即为一种可能的测试用例选择方案,并将具有均匀分 布特性的组合混沌序列引入遗传算法的选择、交叉和变异操作,有效地避免了未成熟收敛, 提升了算法的全局搜索能力和计算效率混沌系统产生初始种群基因,然后对各个混沌变量 附加混沌小扰动进行种群优化,通过不断进化收敛到一个最适合的个体上。从而将测试用 例最小化转化为在种群中寻找基因个数最少的个体覆盖所有测试需求。
[0061] 基于混沌遗传算法的测试用例集优化方法的基本框架如图1所示,主要包括采用 Chebyshev映射和Logistic映射相结合生成混纯序列、利用混纯序列初始化种群、设定个 体适应度函数、计算个体适应度、定义遗传算子(选择、交叉、变异)、添加混沌扰动等步骤, 具体如下:
[0062] 产生组合混沌序列:
[0063] 采用Chebyshev映射和Logistic映射相结合生成混纯序列:令y。= X。为初始值, 使用 Chebyshev 映射yi+1=cos(Aarccos yj 得到一个伪随机序列{y。,Y1, y2,L,yJ,然后 将序列取绝对值之后与Logistic映射求和temp = μ Xi (I-Xi) +1 yi+11,每次迭代后采用映 射xi+1= mod (temp, 1)保证混纯序列取值为(0, 1),其中mod (,1)算子代表取数值
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1