CN112711535B - 基于粒子群优化的约束下组合测试数据生成方法 - Google Patents

基于粒子群优化的约束下组合测试数据生成方法 Download PDF

Info

Publication number
CN112711535B
CN112711535B CN202011609041.2A CN202011609041A CN112711535B CN 112711535 B CN112711535 B CN 112711535B CN 202011609041 A CN202011609041 A CN 202011609041A CN 112711535 B CN112711535 B CN 112711535B
Authority
CN
China
Prior art keywords
value
test data
particle
gbest
constraint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011609041.2A
Other languages
English (en)
Other versions
CN112711535A (zh
Inventor
杨京礼
魏长安
姜守达
盛云龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202011609041.2A priority Critical patent/CN112711535B/zh
Publication of CN112711535A publication Critical patent/CN112711535A/zh
Application granted granted Critical
Publication of CN112711535B publication Critical patent/CN112711535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于粒子群优化的约束下组合测试数据生成方法,包括:利用粒子群优化算法全局搜索能力强的特点,在解空间中寻找最优解,经过粒子群算法的迭代寻优过程,输出所能搜索到的一条最优测试数据;针对这一最优测试数据进行局部搜索,利用贪心算法在针对局部进行取值替换,保留更优的测试数据,其中,在局部替换过程中,使用满足性解释器同步验证每一次替换的结果,在保证了测试数据满足约束的前提下,测试数据尽可能的覆盖更多的未被覆盖的取值组合,生成高覆盖的组合测试数据。该方法有效的结合贪心算法和启发式算法的优势,弥补了对应的不足,增强了解空间的搜索能力,同时能够有效的减少测试数据量,提高测试效率。

Description

基于粒子群优化的约束下组合测试数据生成方法
技术领域
本发明涉及软件测试技术领域,特别涉及一种基于粒子群优化的约束下组合测试用例生成方法。
背景技术
电子与信息系统已经在公共安全和国防等重要领域占据核心地位,承担着计算、控制、信息处理和通信等重要的任务。它们结构复杂、集成的功能项多、功能之间的耦合程度紧密,且具有多样的通信接口、复杂的输入参数。一些微小的错误或偶然因素的影响就可能带来巨大的财产损失和严重的人员伤害,造成难以估计的后果。为了减少损失、降低伤害、保证质量和可靠性,需要对这类系统进行全面的测试。
理论上对测试空间中的全部数据进行全因子测试才能保证全面性,然而测试空间中可能的测试数据举不胜举,无法在实际测试中应用。组合测试是一种科学有效的黑盒测试方法,可以使用较少的测试数据有效地检测被测系统中参数之间的相互作用产生的影响。组合测试可以使用较少的测试数据达到全因子测试的效果,因此,实际中常常使用组合测试代替全因子测试。
在实际的被测系统,参数间往往存在一定的依赖关系,也就是约束关系。如果忽略约束关系会导致测试数据无效,进而无法进行测试,所以测试数据首先要满足约束关系。同时,在满足相同覆盖标准的情况下,测试数据的规模越小,也就是数据量越少,测试的效率也就越高,高效的测试有利于节省测试的时间和消耗的资源,追求高效测试一直是该行业的发展方向。
目前约束下组合测试数据生成算法主要分为贪心算法和启发式算法两类。贪心算法每次只为一个参数选择取值,搜索步子小,注重于寻找局部最优解,生成的测试数据量较大;启发式算法搜索步子大,善于发现全局最优解,但是后期容易陷入到一个局部,生成的测试数据量往往也较大,其优势体现不出来。将这两种算法的优点进行结合,并改进不足,那么约束下组合测试用例数据量仍有可能减少。首先,利用启发式算法大范围搜索解空间,寻找最优解;然后,当搜索空间变小时,利用贪心算法进行局部搜索。将两种算法进行充分的结合,可以取长补短,更有利于减少数据量。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提出一种基于粒子群优化的约束下组合测试数据生成方法,该方法能够有效的减少测试数据量,提高测试效率。
为达到上述目的,本发明实施例提出了基于粒子群优化的约束下组合测试数据生成方法,包括以下步骤:步骤S1,对粒子群优化算法本身参数和生成测试数据过程中所用的参数进行初始化;步骤S2,为种群中M个粒子中每个粒子位置的每个维度进行初始化,得到候选解集;步骤S3,选出所述候选解集中每个粒子的个体极值pBest和全局极值gBest,种群中每个粒子根据所述个体极值pBest和所述全局极值gBest更新自身的速度和位置,以完成种群进化;步骤S4,在所述种群进化后,更新所述个体极值pBest和所述全局极值gBest;步骤S5,对每个粒子的位置进行全局扰动操作;步骤S6,判断更新后的全局极值gBest是否满足最大覆盖,若不满足,继续进行迭代执行所述步骤S3,若满足,则所述更新后的全局极值gBest为最优测试数据,输入步骤S7中;步骤S7,对所述更新后的全局极值gBest进行局部搜索优化,使其满足约束一致性,全部参数均选取一遍取值;步骤S8,判断满足约束的t个参数的取值组合全部被至少覆盖一次,则结束生成过程,得到组合测试数据集。
本发明实施例的基于粒子群优化的约束下组合测试数据生成方法,利用启发式算法大范围搜索解空间,寻找最优解;然后,当搜索空间变小时,利用贪心算法进行局部搜索;将两种算法进行充分的结合,可以取长补短,更有利于减少数据量,提高测试效率。
另外,根据本发明上述实施例的基于粒子群优化的约束下组合测试数据生成方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述步骤S2具体包括:粒子维度初始值从第j个参数的取值区间[0,gj-1]中随机选择,粒子位置中每个维度的初始速度值vij从范围[-(gj-1),(gj-1)]中随机选取,其中,gj为第j个参数的取值个数。
进一步地,在本发明的一个实施例中,所述个体极值gBest是粒子的初始位置Xi,所述全局极值gBest是种群中既满足约束一致性又具有最大适应值的粒子位置。
进一步地,在本发明的一个实施例中,所述种群进化中更新公式为:
Figure BDA0002871136440000021
Figure BDA0002871136440000022
其中,
Figure BDA0002871136440000023
为粒子更新后的速度,
Figure BDA0002871136440000024
为粒子更新后的位置,t为迭代次数,ω为惯性权重,c1、c2为学习因子,r1、r2为均匀分布在(0,1)间的随机数,i为第i个粒子,设粒子的规模为M,则i的范围为1,2,...,M;j为第j个维度,设粒子位置的维度数为d,则j的范围为1,2,...,d;
Figure BDA0002871136440000025
为每个粒子在整个迭代过程中的最优位置;
Figure BDA0002871136440000026
为全体粒子在整个迭代过程中的最优位置。
进一步地,在本发明的一个实施例中,所述步骤S4中更新的具体步骤为:
每个个体的粒子的位置的适应值若大于其个体极值pBest,则替换pBest,否则不替换;
更新完个体极值pBest后,逐个比较个体极值pBest和全局极值gBest的适应值大小,若个体极值pBest的适应值大于全局极值gBest的适应值,则替换gBest,否则不替换。
进一步地,在本发明的一个实施例中,所述步骤S5具体包括:
对每个粒子位置中的每个维度xij,在范围[0,gj-1]中随机生成一个新的位置,并按照50%的概率进行更新,更新之后粒子的位置为
Figure BDA0002871136440000031
如果
Figure BDA0002871136440000032
的适应值大于
Figure BDA0002871136440000033
的适应值,用
Figure BDA0002871136440000034
替换粒子的位置
Figure BDA0002871136440000035
进一步地,在本发明的一个实施例中,所述最大覆盖为gBest的适应值为
Figure BDA0002871136440000036
时,即一次测试数据能覆盖的最多的t个参数的取值组合。
进一步地,在本发明的一个实施例中,所述步骤S7中分两种情况进行局部搜索优化,
第一种情况,当所述更新后的全局极值gBest不满足约束一致性,则局部搜索的步骤为:
剔除违反约束一致性的参数取值,并为剔除取值的参数随机生成一个顺序;
按照生成的参数顺序,逐个参数选取取值,选取原则为:随机从候选取值集合中选择一个,放至所述更新后的全局极值gBest中之后,若使得测试数据满足约束一致性且适应值大于等于预设适应值,则保留该值为下一个参数选取取值;放至所述更新后的全局极值gBest中之后,若使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值区集合中选取取值,直至所述更新后的全局极值gBest中全部参数都选取了对应的取值;
第二种情况,当所述更新后的全局极值gBest满足约束一致性,则局部搜索的步骤为:
随机生成参数的顺序;
按照所述生成的参数顺序,逐个的替换对应参数的取值,替换的原则为:随机从剔除了当前值的候选取值集合中选择一个,放至所述更新后的全局极值gBest中替换现有参数的对应取值,若使得所述更新后的全局极值gBest满足约束一致性且适应值大于等于现有适应值,则保留该值,为下一个参数选取取值;放至所述更新后的全局极值gBest中后,若使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值集合中选取取值,直至为所述更新后的全局极值gBest中全部参数均选取了一遍取值。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于粒子群优化的约束下组合测试数据生成方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于粒子群优化的约束下组合测试数据生成方法。
图1是本发明一个实施例的基于粒子群优化的约束下组合测试数据生成方法的流程图。
如图1所示,该基于粒子群优化的约束下组合测试数据生成方法包括以下步骤:
在步骤S1中,对粒子群优化算法本身参数和生成测试数据过程中所用的参数进行初始化。
具体地,参数初始化包括两个部分,一个是粒子群优化算法本身参数的初始化;另一个是生成测试数据过程中用的参数。
粒子群优化算法本身的参数按照目前主流的初始值进行选取,粒子数为M=160,迭代次数为N=20,惯性权重ω=0.3,学习因子c1=c2=1.375。
约束作为满足性解释器的初始参数,需要在这一步初始化,进而满足性解释器才能在测试数据的生成过程中判断是否满足了约束条件。采用“Map”数据结构存储约束,“Map”的键“Key”表示参数的组合,如表1中的第一行所示,值“Value”是一个存储了参数约束取值组合对应索引的数组,如表1中的第一列所示。存储约束时,非约束的索引不能出现。
表1约束与索引对照表
Figure BDA0002871136440000041
目标取值组合同样使用“Map”数据结构进行存储,如果其中的取值组合不满足约束一致性则其对应的索引也不能出现。目标取值组合“Map”中的每一个参数组合“Key”
Figure BDA0002871136440000042
Figure BDA0002871136440000043
对应的“Value”数组中的每一个索引都需要进行约束一致性验证,以决定是否是目标取值组合。利用整数集
Figure BDA0002871136440000044
表示任意t个参数的全部取值组合,已知每个取值对应参数的取值个数集
Figure BDA0002871136440000045
任意一个取值组合
Figure BDA0002871136440000046
对应的索引index的求解过程为:
(1)令
Figure BDA0002871136440000047
(2)令j从2取到t,循环执行
Figure BDA0002871136440000048
(3)index即为取值组合
Figure BDA0002871136440000051
对应的索引。
在步骤S2中,为种群中M个粒子中每个粒子位置的每个维度进行初始化,得到候选解集,其中,M为正整数。
具体地,为种群中M个粒子中每个粒子位置的每个维度xij进行初始化,初始值从第j个参数的取值区间[0,gj-1]中随机选择。本发明实施例为防止种群位置随机初始化的盲目性,在每个粒子位置随机初始化后,从中随机选取一个未被覆盖的目标取值组合放入粒子的位置中,使粒子位置的初始适应值至少为1,加速粒子的寻优过程。
粒子位置中每个维度的初始速度值vij从范围[-(gj-1),(gj-1)]中随机选取。粒子i的个体极值pBest就是粒子的初始位置Xi。粒子群的全局极值gBest是种群中既满足约束一致性又具有最大适应值的粒子位置,其中,gj为第j个参数的取值个数。
在步骤S3中,选出候选解集中每个粒子的个体极值pBest和全局极值gBest,种群中每个粒子根据个体极值gBest和全局极值gBest更新自身的速度和位置,以完成种群进化。
具体而言,在寻优过程中,用粒子的位置
Figure BDA0002871136440000052
表示待优化目标,用粒子的速度
Figure BDA0002871136440000053
表示当前运动趋势和变化程度,虽然面对不同的问题,适应值的含义不同,但是作用是一致的,都用来描述粒子位置的优秀程度。
迭代更新时,种群中每个粒子根据两个极值来更新自己的速度和位置,即在第t+1次迭代时,粒子i通过如下公式进行更新:
Figure BDA0002871136440000054
Figure BDA0002871136440000055
其中,
Figure BDA0002871136440000056
为粒子更新后的速度,
Figure BDA0002871136440000057
为粒子更新后的位置,t为迭代次数,ω为惯性权重,c1、c2为学习因子,r1、r2为均匀分布在(0,1)间的随机数,i为第i个粒子,设粒子的规模为M,则i的范围为1,2,...,M;j为第j个维度,设粒子位置的维度数为d,则j的范围为1,2,...,d;
Figure BDA0002871136440000058
为每个粒子在整个迭代过程中的最优位置;
Figure BDA0002871136440000059
为全体粒子在整个迭代过程中的最优位置。
其中,如果粒子的位置
Figure BDA00028711364400000510
超出参数取值范围则粒子返回之前的位置
Figure BDA00028711364400000511
在步骤S4中,在种群进化后,更新个体极值pBest和全局极值gBest。
具体地的更新原则为:每个个体的粒子的位置的适应值如果大于其个体极值pBest,则替换pBest,否则不替换。更新完个体极值pBest之后,逐个比较个体极值pBest和全局极值gBest的适应值大小,如果适应值大于gBest的适应值,则替换gBest,否则不替换。
在步骤S5中,对每个粒子的位置进行全局扰动操作。
可以理解的是,在算法迭代的过程中,为了避免种群陷入局部最优,应对每个粒子的位置进行全局扰动操作。扰动时,对每一个粒子位置中的每一个维度xij,在范围[0,gj-1]中随机生成一个新的位置,并按照50%的概率进行更新,更新之后粒子的位置表示为
Figure BDA0002871136440000061
如果
Figure BDA0002871136440000062
的适应值大于
Figure BDA0002871136440000063
的适应值,用
Figure BDA0002871136440000064
替换粒子的位置
Figure BDA0002871136440000065
在步骤S6中,判断更新后的全局极值gBest是否满足最大覆盖,若不满足,继续进行迭代执行步骤S3,若满足,则更新后的全局极值gBest为最优测试数据,输入步骤S7中。
如果在迭代过程中,gBest的适应值为
Figure BDA0002871136440000066
也就是一条测试数据能覆盖的最多的t个参数的取值组合,则可以提前跳出迭代过程,若不满足则迭代执行步骤S3直至其满足最大覆盖。
在步骤S7中,对更新后的全局极值gBest进行局部搜索优化,使其满足约束一致性,全部参数均选取一遍取值。
需要说明的是,约束满足性问题一般都可以采用合取范式对问题进行描述,然后再利用满足性解释器进行求解。假设约束为F=(a1,a2,...,ak),用合取范式可以表示为
Figure BDA0002871136440000067
常用的验证约束一致性的满足性解释器有zChaff和MiniSAT等。这些解释器在使用前都要预先输入合取范式表示的约束元组。解释器在验证某一条测试数据是否满足约束一致性时,如果该条测试数据中的取值个数小于参数的个数,解释器会根据约束,为没有取值的参数选取取值,在选取的过程中如果某一个或某几个参数所有的取值都违反约束,则该条测试数据不满足约束一致性。如果该条测试数据中的取值个数等于参数的个数,则直接验证约束一致性。
具体地,经过迭代更新之后,对种群的全局极值gBest进行局部搜索优化。如果gBest不满足约束一致性,采用贪心算法局部搜索的步骤为:
(1)剔除违反约束一致性的参数取值;
(2)为剔除取值的参数随机生成一个顺序;
(3)按照生成的参数顺序,逐个参数选取取值,选取原则是:随机从候选取值集合中选择一个,放到测试数据中之后,如果使得测试数据满足约束一致性且适应值大于等于现有适应值,则保留该值,为下一个参数选取取值;放到测试数据中之后,如果使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值区集合中选取取值。直至该条测试数据中全部参数都选取了对应的取值。
如果gBest满足约束一致性,采用贪心算法局部搜索时,不需剔除其中取值,具体步骤为:
(1)随机生成参数的顺序;
(2)按照生成的参数顺序,逐个的替换对应参数的取值,替换的原则是:随机从剔除了当前值的候选取值集合中选择一个,放到测试数据中替换现有参数的对应取值,如果使得测试数据满足约束一致性且适应值大于等于现有适应值,则保留该值,为下一个参数选取取值;放到测试数据中之后,如果使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值集合中选取取值。直至为全部参数都选取了一遍取值。
在步骤S8中,判断满足约束的t个参数的取值组合全部被至少覆盖一次,则结束生成过程,得到组合测试数据集。
也就是说,如果满足约束的t个参数的取值组合全部被至少覆盖了一次,则结束生成过程,输出约束下组合测试数据集。
本发明实施例提出的基于粒子群优化的约束下组合测试数据生成方法,通过将粒子群优化算法和贪心算法的优势相结合,大大缩小了生成的约束下组合测试数据的数据量,与现有方法相比可以减少10%以上的数据量,在相同测试覆盖率的条件下,大大地提高了测试的效率,有效地减少了测试的时间和资源的消耗,为测试人员测试电子与信息系统提供了快捷的途径。另外,该方法已经应用于某型号导弹综控机的现场测试过程中,能够实现对被测系统高覆盖率、快速的系统级测试,解决了目前测试效率低的问题。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种基于粒子群优化的约束下组合测试数据生成方法,其特征在于,包括以下步骤:
步骤S1,对粒子群优化算法本身参数和生成测试数据过程中所用的参数进行初始化,其中,所述生成测试数据过程中所用的参数为约束与索引矩阵
Figure FDA0003351260600000011
步骤S2,为种群中M个粒子中每个粒子位置的每个维度进行初始化,得到候选解集;
步骤S3,选出所述候选解集中每个粒子的个体极值pBest和全局极值gBest,种群中每个粒子根据所述个体极值pBest和所述全局极值gBest更新自身的速度和位置,以完成种群进化;
步骤S4,在所述种群进化后,更新所述个体极值pBest和所述全局极值gBest;
步骤S5,对每个粒子的位置进行全局扰动操作;
步骤S6,判断更新后的全局极值gBest是否满足最大覆盖,若不满足,继续进行迭代执行所述步骤S3,若满足,则所述更新后的全局极值gBest为最优测试数据,输入步骤S7中;
步骤S7,对所述更新后的全局极值gBest进行局部搜索优化,使其满足约束一致性,全部参数均选取一遍取值,具体地,
所述步骤S7中分两种情况进行局部搜索优化,
第一种情况,当所述更新后的全局极值gBest不满足约束一致性,则局部搜索的步骤为:
剔除违反约束一致性的参数取值,并为剔除取值的参数随机生成一个顺序;
按照生成的参数顺序,逐个参数选取取值,选取原则为:随机从候选取值集合中选择一个,放至所述更新后的全局极值gBest中之后,若使得测试数据满足约束一致性且适应值大于等于预设适应值,则保留该值为下一个参数选取取值;放至所述更新后的全局极值gBest中之后,若使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值区集合中选取取值,直至所述更新后的全局极值gBest中全部参数都选取了对应的取值;
第二种情况,当所述更新后的全局极值gBest满足约束一致性,则局部搜索的步骤为:
随机生成参数的顺序;
按照所述生成的参数顺序,逐个的替换对应参数的取值,替换的原则为:随机从剔除了当前值的候选取值集合中选择一个,放至所述更新后的全局极值gBest中替换现有参数的对应取值,若使得所述更新后的全局极值gBest满足约束一致性且适应值大于等于现有适应值,则保留该值,为下一个参数选取取值;放至所述更新后的全局极值gBest中后,若使得测试数据不满足约束一致性,则从候选取值集合中剔除该取值,继续从剩余的候选取值集合中选取取值,直至为所述更新后的全局极值gBest中全部参数均选取了一遍取值;
步骤S8,判断满足约束的t个参数的取值组合全部被至少覆盖一次,则结束生成过程,得到组合测试数据集。
2.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述步骤S2具体包括:
粒子维度初始值从第j个参数的取值区间[0,gj-1]中随机选择,粒子位置中每个维度的初始速度值vij从范围[-(gj-1),gj-1]中随机选取,其中,gj为第j个参数的取值个数。
3.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述个体极值pBest是粒子的初始位置Xi,所述全局极值gBest是种群中既满足约束一致性又具有最大适应值的粒子位置。
4.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述种群进化中更新公式为:
Figure FDA0003351260600000021
Figure FDA0003351260600000022
其中,
Figure FDA0003351260600000023
为粒子更新后的速度,
Figure FDA0003351260600000024
为粒子更新后的位置,t为迭代次数,ω为惯性权重,c1、c2为学习因子,r1、r2为均匀分布在(0,1)间的随机数,i为第i个粒子,设粒子的规模为M,则i的范围为1,2,...,M;j为第j个维度,设粒子位置的维度数为d,则j的范围为1,2,...,d;
Figure FDA0003351260600000025
为每个粒子在整个迭代过程中的最优位置;
Figure FDA0003351260600000026
为全体粒子在整个迭代过程中的最优位置。
5.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述步骤S4中更新的具体步骤为:
每个个体的粒子的位置的适应值若大于其个体极值pBest,则替换pBest,否则不替换;
更新完个体极值pBest后,逐个比较个体极值pBest和全局极值gBest的适应值大小,若个体极值pBest的适应值大于全局极值gBest的适应值,则替换gBest,否则不替换。
6.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述步骤S5具体包括:
对每个粒子位置中的每个维度xij,在范围[0,gj-1]中随机生成一个新的位置,并按照50%的概率进行更新,更新之后粒子的位置为
Figure FDA0003351260600000027
如果
Figure FDA0003351260600000028
的适应值大于
Figure FDA0003351260600000029
的适应值,用
Figure FDA00033512606000000210
替换粒子的位置
Figure FDA0003351260600000031
7.根据权利要求1所述的基于粒子群优化的约束下组合测试数据生成方法,其特征在于,所述最大覆盖为gBest的适应值为
Figure FDA0003351260600000032
时,即一次测试数据能覆盖的最多的t个参数的取值组合。
CN202011609041.2A 2020-12-29 2020-12-29 基于粒子群优化的约束下组合测试数据生成方法 Active CN112711535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011609041.2A CN112711535B (zh) 2020-12-29 2020-12-29 基于粒子群优化的约束下组合测试数据生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011609041.2A CN112711535B (zh) 2020-12-29 2020-12-29 基于粒子群优化的约束下组合测试数据生成方法

Publications (2)

Publication Number Publication Date
CN112711535A CN112711535A (zh) 2021-04-27
CN112711535B true CN112711535B (zh) 2021-12-21

Family

ID=75547226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011609041.2A Active CN112711535B (zh) 2020-12-29 2020-12-29 基于粒子群优化的约束下组合测试数据生成方法

Country Status (1)

Country Link
CN (1) CN112711535B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779856B (zh) * 2021-09-15 2023-06-27 成都中科合迅科技有限公司 一种面向电子系统功能在线重组的离散微粒群算法建模方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870448B2 (en) * 2007-12-18 2011-01-11 International Business Machines Corporation In system diagnostics through scan matrix
CN104765690A (zh) * 2015-04-22 2015-07-08 哈尔滨工业大学 基于模糊遗传算法的嵌入式软件测试数据生成方法
CN110389902A (zh) * 2019-07-18 2019-10-29 江苏科技大学 基于人工蜂群混合粒子群算法的软件可靠性参数估计方法
CN110515851A (zh) * 2019-08-30 2019-11-29 西安邮电大学 一种并行化的两两组合测试用例生成方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135937B (zh) * 2011-03-15 2014-02-19 西安邮电大学 一种两两覆盖组合软件测试用例集生成方法
CN104853399B (zh) * 2015-03-10 2018-04-13 华南理工大学 基于改进的遗传‑粒子群混合算法的协作中继选择方法
CN108376116B (zh) * 2018-01-31 2021-06-11 浙江理工大学 基于改进粒子群算法的测试用例生成方法
US20190251458A1 (en) * 2018-02-15 2019-08-15 Institute For Development And Research In Banking Technology System and method for particle swarm optimization and quantile regression based rule mining for regression techniques
CN109918307B (zh) * 2019-03-14 2022-04-19 牡丹江师范学院 基于否定选择遗传算法的路径覆盖测试数据生成方法
CN111239587A (zh) * 2020-01-20 2020-06-05 哈尔滨工业大学 一种基于frft和lle特征提取的模拟电路故障诊断方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870448B2 (en) * 2007-12-18 2011-01-11 International Business Machines Corporation In system diagnostics through scan matrix
CN104765690A (zh) * 2015-04-22 2015-07-08 哈尔滨工业大学 基于模糊遗传算法的嵌入式软件测试数据生成方法
CN110389902A (zh) * 2019-07-18 2019-10-29 江苏科技大学 基于人工蜂群混合粒子群算法的软件可靠性参数估计方法
CN110515851A (zh) * 2019-08-30 2019-11-29 西安邮电大学 一种并行化的两两组合测试用例生成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Automatic Generating All-Path Test Data of a Program Based on PSO;Aiguo Li等;《2009 WRI World Congress on Software Engineering》;20091110;第189-193页 *
基于改进粒子群算法的组合测试数据生成;潘烁等;《西安邮电学院学报》;20120510;第48-52页 *
基于粒子群优化的组合测试数据生成算法;姜守达等;《哈尔滨工程大学学报》;20130402;第477-482页 *

Also Published As

Publication number Publication date
CN112711535A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
US20190361808A1 (en) Cache configuration performance estimation
US8301638B2 (en) Automated feature selection based on rankboost for ranking
CN102693246B (zh) 一种用于从数据集获取信息的方法和系统
US9047319B2 (en) Tag association with image regions
CN109902190A (zh) 图像检索模型优化方法、检索方法、装置、系统及介质
CN110187880A (zh) 一种同类元素识别方法、装置和计算设备
CN112711535B (zh) 基于粒子群优化的约束下组合测试数据生成方法
Abdullah et al. Integrated MOPSO algorithms for task scheduling in cloud computing
Qaraad et al. Addressing constrained engineering problems and feature selection with a time-based leadership salp-based algorithm with competitive learning
Daxini et al. Numerical shape optimization based on meshless method and stochastic optimization technique
CN114429195A (zh) 混合专家模型训练的性能优化方法和装置
CN110837567A (zh) 实现知识图谱嵌入的方法和系统
CN107704364A (zh) 后台应用程序管控方法、装置、存储介质及电子设备
CN106354633A (zh) 基于算法插件的任务调度表生成方法
US11709993B2 (en) Efficient concurrent invocation of sheet defined functions including dynamic arrays
CN110378513A (zh) 一种用于工程规划的最优解确定方法及系统、设备、介质
Parreira et al. Efficient algorithms and data structures for element-free Galerkin method
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
Liao et al. On a moreau envelope wirelength model for analytical global placement
CN109436980A (zh) 电梯部件的状态检测方法和系统
JP2019211808A (ja) 類似性評価装置、その方法、及びプログラム
Su et al. A robust self-weighted SELO regression model
US20230125436A1 (en) Method for generating neural network architecture and computing apparatus executing the same
CN111563159B (zh) 文本排序方法及装置
Gu et al. A container scheduling strategy based on node image layer cache

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant