基于GDE3的多阶段动态多目标测试资源分配方法组成比例

技术编号:20160242 阅读:36 留言:0更新日期:2019-01-19 00:12
本发明专利技术实施例公开一种基于GDE3的多阶段动态多目标测试资源分配方法,包括:获取多阶段动态多目标优化模型;应用GDE3算法对多阶段动态多目标优化模型进行优化;在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。本发明专利技术实施例的基于GDE3的多阶段动态多目标测试资源分配方法,获取多阶段动态多目标优化模型,应用GDE3算法对多阶段动态多目标优化模型进行优化,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。从而利用多阶段反馈的思想使方案更加贴近实际的软件测试,实现多目标使方案更能适应不断发展的软件系统。

【技术实现步骤摘要】
基于GDE3的多阶段动态多目标测试资源分配方法
本专利技术涉及计算机领域,尤其涉及一种基于GDE3的多阶段动态多目标测试资源分配方法。
技术介绍
软件测试的主要任务是检测软件错误和发现纠正缺陷,旨在获得软件质量、可靠性、适用性和客户满意度,因此软件测试在软件开发行业的输出验证和验证中发挥了至关重要的作用.在许多模块软件系统中,尤其对于串并联模块软件系统,尽管在实际中对于简单模块测试数量是无穷尽的,但是大量的串并行模块需要合理的测试资源用来测试。软件测试因此在软件开发的过程中被视为最消耗资源的一环,消耗的资源可占软件开发工程中的50%。如今面临着紧急重要的问题是为了应对模块软件系统规模和复杂度不断增加,找到一种最优测试资源分配方案,充分利用有限的测试最大化软件系统的可靠性.也就是众所周知的最优测试资源分配问题。早期的测试资源分配方案只涉及单目标优化问题,例如测试资源一定时,使软件可靠性最大化;另外在满足可靠性的前提下,最小化测试资源。软件功能结构的复杂度越来越高以及考虑的问题越来越多,单目标优化问题越发难以适应软件测试资源优化问题,也有通过某些方法将多目标问题转化为单目标问题进行计算,本质都是单目标优化问题。随后,搜索算法不断发展,可以很好的适应多目标问题,同样也适应软件测试资源分配问题。在这部分的研究中,在给定约束的测试资源,最大化测试资源、最小化花费和测试资源。但是在实际软件测试的过程中,软件含有错误数量是不固定的而非固定的,当测试完成后,模块的可靠性有可能远远低于预期或者随后的测试资源不会对可靠性有明显的提高,并且浪费了测试资源。多阶段的思想开始被应用到软件测试中,将多阶段反馈思想与遗传算法相结合,实现了具有反馈特性单个目标优化。将多目标与多阶段资源分配相结合,实现多阶段多目标优化。在优化方案中,可以通过多阶段反馈思想更加逼近与实际测试,但是优化方案只针对单目标进行优化,并且每个测试阶段的测试资源是固定的。
技术实现思路
本专利技术实施例提供一种基于GDE3的多阶段动态多目标测试资源分配方法,能够利用多阶段反馈的思想使方案更加贴近实际的软件测试,实现多目标使方案更能适应不断发展的软件系统。本专利技术实施例采用如下技术方案:一种基于GDE3的多阶段动态多目标测试资源分配方法,包括:获取多阶段动态多目标优化模型;应用GDE3算法对多阶段动态多目标优化模型进行优化;在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。基于上述技术方案的基于GDE3的多阶段动态多目标测试资源分配方法,获取多阶段动态多目标优化模型,应用GDE3算法对多阶段动态多目标优化模型进行优化,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。从而利用多阶段反馈的思想使方案更加贴近实际的软件测试,实现多目标使方案更能适应不断发展的软件系统。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1为本专利技术实施例示出的基于GDE3的多阶段动态多目标测试资源分配方法的流程图。图2为本专利技术实施例示出的计算结果示意图。图3为本专利技术实施例示出的系统测试示意图。图4为本专利技术实施例示出的GDE3算法流程示意图。图5为本专利技术实施例示出的一维实数编码示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。本专利技术实施例的基于GDE3的多阶段动态多目标测试资源分配方法,提供优化的对象(软件测试系统)以及测试资源;采用多阶段思想,每个测试阶段的测试资源预分配,说明需要优化的目标,以及每个测试阶段实际消耗的测试资源和可靠性的计算方法,构成了一个优化模型,该模型是我们最终的目标。优化该模型需要的算法GDE3以及对于软件测试系统的采用的编码方式。采用多阶段的思想,在当前阶段通过GDE3算法获得一个最优解集时,下一测试阶段的测试资源动态调整、重估可靠性参数的方法本阶段处理优化模型的方式实现,而下一测试阶段的种群初始化详见具体实施例。本专利技术实施例以同样的方式获得一个最优解集,不断进行,直到完成最后一个测试阶段。本专利技术实施例提供一种基于GDE3的多阶段动态多目标测试资源分配方法,如图1所示,包括:11、获取多阶段动态多目标优化模型;12、应用GDE3算法对多阶段动态多目标优化模型进行优化;13、在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。本专利技术实施例的基于GDE3的多阶段动态多目标测试资源分配方法,获取多阶段动态多目标优化模型,应用GDE3算法对多阶段动态多目标优化模型进行优化,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。从而利用多阶段反馈的思想使方案更加贴近实际的软件测试,实现多目标使方案更能适应不断发展的软件系统。本专利技术实施例,多目标算法在一个测试阶段运行完将会的一个种群,并且个体之间是不相互支配的(没有好坏之分),如何在不浪费现阶段的资源的情况下,完成下一阶段的种群初始化.我们提出了两种不同的初始化分配方案。在一个实施例中,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化包括:多阶段初始化:当算法完成现阶段的多目标优化模型时,对下一阶段的种群进行初始化,每一个测试阶段阶段下界Low=0,第i测试阶段上界在第i测试阶段对每个模块分配测试时间其中rand(Low,Up)表示Low与Up之间的随机数,另外对每个模块做以下修正操作,在一个实施例中,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化包括:多阶段动态初始化:当算法完成现阶段的多目标优化模型时,对下一阶段的种群进行初始化,多阶段动态初始化的在利用上述方法进行初始化种群,之后测试阶段通过调整上一测试阶段最优解集使其符合当前测试阶段阈值范围,形成的种群作为当前阶段的初始化种群,利用最优个体消耗的资源占测试资源阈值的比例对上一测试阶段的最优解集进行缩放,比例计算如下:进而初始化当前阶段的个体:很显然每个模块及个体都符合当前测试资源阈值的条件,另外还充分的利用上一测试阶段的最优解集。优点在于可以从中间的状态直接到达收敛状态,相比多阶段初始化需要的迭代次数要小;同时在利用了历史解的情况下,存在历史的收敛性,这与重估参数后的收敛方向会有不同,需要花费一定的迭代次数进行调整,从而很好的解决了可靠性连续的问题(即测试阶段与可靠性存在一定的关系)。在一个实施例中,获取多阶段动态多目标优化模型包括:多阶段动态多目标优化模型:每个测试阶段都对该优化模型计算获得最优解集,该优化模型是用来比较不同方案之间优劣的标准,多目标模型的测试资源计算和多目标模型的可靠性计算作为多目标函数的优化模型:其中T表示经过前i阶段后的可靠性和消耗的测试资源,ti为第i测试阶段实际消耗的测试资源,为第i测试阶段第j个子系统第k个模块分配消耗的测试资源,本文档来自技高网
...

【技术保护点】
1.一种基于GDE3的多阶段动态多目标测试资源分配方法,其特征在于,包括:获取多阶段动态多目标优化模型;应用GDE3算法对多阶段动态多目标优化模型进行优化;在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。

【技术特征摘要】
1.一种基于GDE3的多阶段动态多目标测试资源分配方法,其特征在于,包括:获取多阶段动态多目标优化模型;应用GDE3算法对多阶段动态多目标优化模型进行优化;在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化。2.根据权利要求1所述的方法,其特征在于,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化包括:当算法完成现阶段的多目标优化模型时,对下一阶段的种群进行初始化,每一个测试阶段阶段下界Low=0,第i测试阶段上界在第i测试阶段对每个模块分配测试时间其中rand(Low,Up)表示Low与Up之间的随机数,另外对每个模块做以下修正操作,3.根据权利要求1所述的方法,其特征在于,在当前阶段通过GDE3算法获得一个最优解集时,对下一阶段种群初始化包括:当算法完成现阶段的多目标优化模型时,对下一阶段的种群进行初始化,多阶段动态初始化的在利用上述方法进行初始化种群,之后测试阶段通过调整上一测试阶段最优解集使其符合当前测试阶段阈值范围,形成的种群作为当前阶段的初始化种群,利用最优个体消耗的资源占测试资源阈值的比例对上一测试阶段的最优解集进行缩放,比例计算如下:进而初始化当前阶段的个体:4.根据权利要求1所述的方法,其特征在于,获取多阶段动态多目标优化模型包括:每个测试阶段都对该优化模型计算获得最优解集,该优化模型是用来比较不同方案之间优劣的标准,多目标模型的测试资源计算和多目标模型的可靠性计算作为多目标函数的优化模型:其中R(x|Ti*)、T表示经过前i阶段后的可靠性和消耗的测试资源,ti为第i测试阶段实际消耗的测试资源,为第i测试阶段第j个子系统第k个模块分配消耗的测试资源,另外,p代表测试阶段的数目、m表示子系统的数目、nj表示第j子系统的模块数量。5.根据权利要求4所述的方法,其特征在于,多目标模型的测试资源计算包括:第i测试阶段实际消耗的测试资源如下:其中表示模块Mjk在测试阶段i中消耗的测试时间;在实际优化中,第一阶段测试个体实际消耗的测试时间会小于给定的阈值因此将会剩余一定量的测试资源,第二阶段测试阶段的测试时间阈值将会被设置为以此类推在第i测试阶段测试时间阈值为而动态的测试资源阈值要大于固定测试时间在第i阶段结束时实际消耗的测试时间:上述的等式说明了该优化模型的每个优化阶段的测试时间阈值随着之前阶段的...

【专利技术属性】
技术研发人员:张国富牛福强苏兆品岳峰魏冰茹
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1