CN108509335B - 基于遗传算法优化的软件测试数据生成方法 - Google Patents

基于遗传算法优化的软件测试数据生成方法 Download PDF

Info

Publication number
CN108509335B
CN108509335B CN201810098671.4A CN201810098671A CN108509335B CN 108509335 B CN108509335 B CN 108509335B CN 201810098671 A CN201810098671 A CN 201810098671A CN 108509335 B CN108509335 B CN 108509335B
Authority
CN
China
Prior art keywords
branch
test data
population
path
individuals
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
CN201810098671.4A
Other languages
English (en)
Other versions
CN108509335A (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.)
Hangzhou Huicui Intelligent Technology Co ltd
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810098671.4A priority Critical patent/CN108509335B/zh
Publication of CN108509335A publication Critical patent/CN108509335A/zh
Application granted granted Critical
Publication of CN108509335B publication Critical patent/CN108509335B/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)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于遗传算法优化的软件测试数据生成方法,属于软件测试领域。本发明包括:对当前被测程序进行静态分析,由此得出分支路径覆盖矩阵,考虑层接近度、分支距离和分支权重的影响,设计适合的适应度函数,结合精英思想,对遗传算法中遗传算子的方向和概率分别进行改进,对初始种群的选取,采用由覆盖矩阵得出的含有启发式信息的种群来替代部分初始种群,对种群等分,使用改进的适应度函数和遗传算子对其并行遗传算法操作,选择出最优的符合条件的软件测试数据。避免算法陷入局部最优的同时提升遗传算法的收敛速度,节约软件测试数据生成的时间成本。

Description

基于遗传算法优化的软件测试数据生成方法
技术领域
本发明属于软件测试领域,具体涉及一种基于遗传算法优化的软件测试数据生成方法。
背景技术
软件测试是软件***开发中保证软件质量的至关重要的环节,软件开发费用有很大的比重是用在测试上。若是测试过程能够实现自动化,则会很大程度地减少软件开发的费用,提高测试效率。测试用例的生成工作包含确定测试需求、确定输入数据、运行被测程序并分析对应的输出数据。测试用例自动生成技术的设计是软件自动化测试的一个重要难题,解决这个难题对保证软件质量至关重要,是提高软件质可靠性的保证。
遗传算法作为一种启发式搜索算法,具有简单易行、通用性强、鲁棒性高、全局搜索能力强等优点。遗传算法是求解测试数据自动生成问题的有效方法,近年来国内外的相关研究成果较多。然而遗传算法固有的一些缺陷,如早熟停滞、易于陷入局部最优、后期搜索效率低等,影响了测试生成的效率。并且现有的适应值函数设计方法没有有效利用进化种群所反映的综合信息,从而没有很好地在进化过程中保护生成的测试数据。
因此,针对遗传算法的这些缺陷,对遗传算法进行一些改进,把分支路径的层接近度、分支距离和分支权重作为测试用例适应值函数的主要设计参数,力求极大的提高测试用例的优秀程度,对于测试数据的生成执行效率和覆盖率,力求使其得到的测试用例是最优的集合。提出了一种利用路径相关性、基于遗传算法优化的测试数据进化生成方法,该方法在实际中的运行能力得到加强,在覆盖率、测试数据规模和搜索时间等方面,都具有很好地优势。
发明内容
本发明的目的是在经典遗传算法的基础上,针对遗传算法存在的缺陷和现有的方法设计适应值函数时存在的不足,充分利用路径之间的相关性等启发式信息对初始种群改进,设计适应度函数,结合精英思想,使得优异的个体能够更好的得到保存,并且使算法的运算能力增强。
本发明解决其技术问题所采用的技术方案如下:对当前被测程序进行静态分析,由此得出分支路径覆盖矩阵和含有启发式信息的种群,考虑层接近度、分支距离和分支权重的影响,设计适合的适应度函数,结合精英思想,对遗传算法中遗传算子的方向和概率分别进行改进,对初始种群的选取,采用含有启发式信息的种群来替代部分初始种群,将种群划分,使用改进的适应度函数和遗传算子对其并行遗传算法操作,避免陷入局部最优的同时提升遗传算法的收敛速度,节约软件测试数据生成的时间成本。
为实现上述目标,本发明提出了一种基于遗传算法优化的软件测试数据生成方法。本方法具体步骤如下:
(1)静态分析被测软件程序,得出程序控制流图,将控制流图中的循环结构处理为多个选择并列的分支结构,并由此得出分支路径,随机产生初始测试数据,对比查看初始测试数据覆盖了的具体分支路径节点,保留已覆盖部分目标路径的测试数据作为待测程序的部分测试数据,并给出分支路径节点覆盖矩阵;
(2)结合步骤1中确定的分支路径及其覆盖矩阵,对程序的路径进行统一编码并计算分析相邻路径间的相关性,得出难覆盖路径的含有启发式信息的测试数据种群;初始化种群,用路径相关性所得的含有启发式信息的种群,替换部分初始种群,给算法参数赋值;
(3)计算层接近度、分支距离和分支权重,并基于此构造个体适应度函数,将个体参数带入适应度函数计算出个体适应度值,并将种群按适应度值的高低降序排序,采用精英种群思想,选出排名前5的个体组成初始精英种群;将剩下来的有序种群等分成5个小种群,淘汰掉最差子种群并用复制的第二差种群替代;
(4)计算子种群个体与精英个体之间的相似度,设定相似度阈值,当相似度大于相似度阈值时,不对其进行交叉变异操作,直接选择进下一轮迭代;否则,根据相似度的大小使用对应的交叉率将该个体与复制的精英个体进行交叉操作,统计并确定精英个体的优秀基因值,根据相似度的大小使用对应的变异率定向向精英个体的优秀基因值进行变异操作;
(5)对步骤3中处理后的各子种群采用步骤4中改进后的选择、交叉、变异算子并行操作,生成下一代新的种群,并计算新种群的适应度值;
(6)判断种群是否满足设定的终止条件,若满足,则迭代停止,跳转到步骤7;反之,跳转到步骤3;
(7)输出测试数据集。
附图说明
图1是Z路径覆盖思想转换图
图2是遗传算法基本流程图。
图3是采用本文方法所述的测试数据生成流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步描述本发明。
图1是Z路径覆盖思想转换图
如图1所示,图1左侧部分为控制流图,右侧部分为经Z路径覆盖思想转换后的图。Z路径覆盖是指针对程序中的循环,无论循环的形式和实际执行循环体的次数如何,只需执行0次和1次,即只考虑执行时进入循环体一次和跳过循环体这两种情况,Z路径覆盖是一种简化循环意义下的路径覆盖。例如,图中节点1,3,5 为分支节点,2,4,6为分支子节点,经Z路径覆盖思想转换后,左侧图中原2分支子节点也就是右侧图中a分支子节点,新***分支子节点a’,将循环转化为多个选择结构的并列,易于计算理论路径数目,通过兄弟分支子节点,也易于确定已知路径的邻近路径,更易于获得含有启发式信息的初始测试数据种群。
图2是遗传算法基本流程图。
如图2所示,图中给出了遗传算法执行的基本流程,若假设一个群体中存在M 个个体,遗传算法的终止迭代次数为T,那么从第t=0代开始,遗传算法的一般执行步骤如下:
步骤1:初始化。设置进化计数器t=0,设置最大进化代数T,随机生成M个个体作为初始种群P(0)。
步骤2:个体评价。计算群体P(t)中各个个体的适应度。
步骤3:选择运算。将选择算子作用于群体。
步骤4:交叉运算。将交叉算子作用于群体。
步骤5:变异运算。将变异算子作用于群体,群体P(t)经过上述遗传运算后得到下一代群体P(t+1)。
步骤6:终止条件判定。若t<T,则用t+1更新t,并转步骤二;若t>T,将当前群体最优解个体作为输出结果,算法终止。
图3为采用本文方法所述的测试数据生成流程图。
如图3所示,本发明所述的基于遗传算法优化的软件测试数据生成方法,将分支路径覆盖、精英种群思想和标准遗传算法相结合,利用分支路径覆盖矩阵关系对初始种群进行预处理;考虑层接近度、分支距离和分支权重的影响,设计适合的适应度函数;结合精英思想,对遗传算法中遗传算子的方向和概率分别进行改进,具体方法如图3所示,包括以下步骤:
步骤1:静态分析被测软件程序,得出程序控制流图,结合Z路径覆盖思想将控制流图中的循环结构处理为多个选择并列的分支结构,并由此得出分支路径,随机产生初始测试数据,对比查看初始测试数据覆盖了的具体分支路径节点,保留已覆盖部分目标路径的测试数据作为待测程序的部分测试数据,并给出分支路径节点覆盖矩阵;
步骤1.1:分支路径节点覆盖矩阵的表示方法为:
Figure BDA0001565748650000041
若测试数据Cm覆盖了第i条分支路径Pi的节点Nn,则覆盖矩阵值
Figure BDA0001565748650000044
否则,记为0;
其中,m和n分别代表第m个测试数据和分支路径Pi上的第n个节点,测试数据集合为C={C1,C2,…,Cm},分支路径节点集合为N={N1,N2,…,Nn},
Figure BDA0001565748650000042
是分支路径节点覆盖矩阵,
Figure BDA0001565748650000043
表示测试数据是否覆盖分支路径Pi的节点。
步骤2:结合步骤1中确定的分支路径及其覆盖矩阵,对程序的路径进行统一编码并计算分析相邻路径间的相关性,得出难覆盖路径的含有启发式信息的测试数据种群;初始化种群,用路径相关性所得的含有启发式信息的种群,替换部分初始种群,给算法参数赋值;
步骤2.1:计算任意两条路径Pi,Pj间的路径相似度Simi(Pi,Pj),其公式如下:
Figure BDA0001565748650000051
其中,
Figure BDA0001565748650000052
式中,n表示路径总长度,l表示相同的分支节点数,αl(Pi,Pj)的取值表示两条路径Pi,Pj间经过的分支节点是否相同;显然地,两条路径所经过相同的分支节点数越多,则相似度越大,那么这两条路径间的相关性也越大。
步骤2.2:难覆盖路径的含有启发式信息的测试数据种群的获取方法具体如下:
1)从覆盖分支节点角度:
分支路径中的各分支节点集为N={N1,N2,…,Ni-1,Ni,Ni+1,…,Nn},若已确定分支节点Ni-1和Ni+1的测试数据,未找到覆盖分支节点Ni的测试数据,则用于遗传算法搜索的启发式信息为覆盖Ni-1和Ni+1的两组测试数据;
2)从覆盖分支路径的角度:
若未找到覆盖分支路径P1:entry-a-b-c’-exit的测试数据,已找到覆盖分支路径P2:entry-a-b-c-exit的测试数据,(其中,c和c’是兄弟分支子节点),则用于遗传算法搜索的启发式信息为覆盖路径P2的测试数据。
步骤3:计算层接近度、分支距离和分支权重,并基于此构造个体适应度函数,将个体参数带入适应度函数计算出个体适应度值,并将种群按适应度值的高低降序排序,采用精英种群思想,选出排名前5的个体组成初始精英种群;将剩下来的有序种群等分成5个小种群,淘汰掉最差子种群并用复制的第二差种群替代;
步骤3.1:计算第k条分支路径Pk的层接近度
Figure BDA0001565748650000053
其公式如下:
Figure BDA0001565748650000054
式中,p(x)表示当前个体x覆盖的分支路径,Pk为待覆盖的第k条分支路径, B(Pk,p(x))表示当前个体x覆盖的路径p(x)与待覆盖的分支路径Pk的层接近度,其值为从第一个分支节点开始Pk与p(x)的不同节点的数目,|Pk|是当前目标路径Pk中包含的分支节点数目;
步骤3.2:计算第k条分支路径Pk的的分支距离
Figure BDA0001565748650000055
其公式如下:
Figure BDA0001565748650000061
式中,N2-N1是分支节点的表达式,c是一个常数,用以表达N2≠N1的情况;
步骤3.3:计算第k条分支路径Pk的分支权重
Figure BDA0001565748650000062
其公式如下:
Figure BDA0001565748650000063
式中,ndi为通过程序静态分析所获得的嵌套深度,若分支的嵌套深度越高,生成测试用例覆盖该分支的可达性就越低,其分支的嵌套权重就相对越大,对适应度调整的影响就得到相应提升;
步骤3.4:计算个体适应度函数Fit(x),其公式如下:
Figure BDA0001565748650000064
式中,Fit(x)表示个体适应度函数,
Figure BDA0001565748650000065
Figure BDA0001565748650000066
分别是第k条分支路径Pk的层接近度、分支距离和分支权重,α+β+γ=1,其中,α是层接近度影响因子,β是分支距离影响因子,γ是分支权重影响因子,各影响因子均不为零。
步骤4:计算子种群个体与精英个体之间的相似度,设定相似度阈值,当相似度大于相似度阈值时,不对其进行交叉变异操作,直接选择进下一轮迭代;否则,根据相似度的大小使用对应的交叉率将该个体与复制的精英个体进行交叉操作,统计并确定精英个体的优秀基因值,根据相似度的大小使用对应的变异率定向向精英个体的优秀基因值进行变异操作;
步骤4.1:计算子种群个体与精英个体间的相似度Simiij,其公式如下:
Figure BDA0001565748650000067
式中,用海明距离来计算两个个体间的相似度Simiij,Xig表示第i个输入变量的二进制串中第g个符号,同样地,Xjg表示第j个输入变量的二进制串中第g个符号 l是二进制串的长度;
步骤4.2:计算子种群个体与精英个体间的交叉率
Figure BDA0001565748650000068
其公式如下:
Figure BDA0001565748650000071
式中,Cm为当前子种群个体,Ej为精英个体,M为相似度阈值。
步骤4.3:计算子种群个体与精英个体间的变异率
Figure BDA0001565748650000072
其公式如下:
Figure BDA0001565748650000073
式中,Cm为当前子种群个体,Ej为精英个体,M为相似度阈值。
(5)对步骤3中处理后的各子种群采用步骤4中改进后的选择、交叉、变异算子并行操作,生成下一代新的种群,并计算新种群的适应度值;
(6)判断种群是否满足设定的终止条件,若满足,则迭代停止,跳转到步骤7;反之,跳转到步骤3;
终止条件设定如下:
a:已找到能覆盖所有路径的最佳测试数据。
b:算法达到最大迭代次数。
其中,条件a与条件b属于或的关系,二者满足其一算法即可结束。
(7)输出测试数据集。
本发明提出的将基于路径相关的优化遗传算法用于软件测试数据生成中的方法,用由分支路径覆盖矩阵分析得出的相关启发式信息替换部分初始种群,提高了初始测试用例的优秀度,在此基础上进行优化能够较快找到覆盖难覆盖路径的测试数据,减少了整体的工作量。结合精英种群思想,加快种群收敛速度,力求使其得到的测试数据是最优的集合。对种群划分并行遗传算法操作节省了算法运行时间,对遗传算法的适应度函数、遗传算子的改进使得该方法在实际算法中的运行能力得到加强,在覆盖率、测试数据规模和搜索时间等方面都具有很好地优势。

Claims (7)

1.一种基于遗传算法优化的软件测试数据生成方法,其特征在于,包括如下步骤:
1)静态分析被测软件程序,得出程序控制流图,将控制流图中的循环结构处理为多个选择并列的分支结构,并由此得出分支路径,随机产生初始测试数据,对比查看初始测试数据覆盖了的具体分支路径节点,保留已覆盖部分目标路径的测试数据作为待测程序的部分测试数据,并给出分支路径节点覆盖矩阵;
2)结合步骤1)中确定的分支路径及其覆盖矩阵,对程序的路径进行统一编码并计算分析相邻路径间的相关性,得出难覆盖路径的含有启发式信息的测试数据种群;初始化种群,用路径相关性所得的含有启发式信息的种群,替换部分初始种群,给算法参数赋值;
所述的步骤2)中难覆盖路径的含有启发式信息的测试数据种群的获取方法具体如下:
2.1)从覆盖分支节点角度:
分支路径中的各分支节点集为N={N1,N2,…,Ni-1,Ni,Ni+1,…,Nn},若已确定分支节点Ni-1和Ni+1的测试数据,未找到覆盖分支节点Ni的测试数据,则用于遗传算法搜索的启发式信息为覆盖Ni-1和Ni+1的两组测试数据;
2.2)从覆盖分支路径的角度:
若未找到覆盖分支路径P1:entry-a-b-c’-exit的测试数据,已找到覆盖分支路径P2:entry-a-b-c-exit的测试数据,其中,c和c’是兄弟分支子节点,则用于遗传算法搜索的启发式信息为覆盖路径P2的测试数据;
3)计算层接近度、分支距离和分支权重,并基于此构造个体适应度函数,将个体参数带入适应度函数计算出个体适应度值,并将种群按适应度值的高低降序排序,采用精英种群思想,选出排名前5的个体组成初始精英种群;将剩下来的有序种群等分成5个小种群,淘汰掉最差子种群并用复制的第二差种群替代;
4)计算子种群个体与精英个体之间的相似度,设定相似度阈值,当相似度大于相似度阈值时,不对其进行交叉变异操作,直接选择进下一轮迭代;否则,根据相似度的大小使用对应的交叉率将该个体与复制的精英个体进行交叉操作,统计并确定精英个体的优秀基因值,根据相似度的大小使用对应的变异率定向向精英个体的优秀基因值进行变异操作;
5)对步骤3)中处理后的各子种群采用步骤4)中改进后的选择、交叉、变异算子并行操作,生成下一代新的种群,并计算新种群的适应度值;
6)判断种群是否满足设定的终止条件,若满足,则迭代停止,跳转到步骤7);反之,跳转到步骤3);
7)输出测试数据集。
2.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤1)中分支路径节点覆盖矩阵的表示方法为:
Figure FDA0002903898450000021
若测试数据Cm覆盖了第i条分支路径Pi的节点Nn,则覆盖矩阵值
Figure FDA0002903898450000022
否则,记为0;
其中,m和n分别代表第m个测试数据和分支路径Pi上的第n个节点,测试数据集合为C={C1,C2,…,Cm},分支路径节点集合为N={N1,N2,…,Nn},
Figure FDA0002903898450000023
是分支路径节点覆盖矩阵,
Figure FDA0002903898450000024
表示测试数据是否覆盖分支路径Pi的节点。
3.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤2)中计算分析路径相关性的方法如下:
计算任意两条路径Pi,Pj间的路径相似度Simi(Pi,Pj),其公式如下:
Figure FDA0002903898450000025
其中,
Figure FDA0002903898450000026
式中,n表示路径总长度,l表示相同的分支节点数,αl(Pi,Pj)的取值表示两条路径Pi,Pj间经过的分支节点是否相同。
4.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤3)中个体适应度函数的构造方法具体为:
步骤a:计算第k条分支路径Pk的层接近度
Figure FDA0002903898450000027
其公式如下:
Figure FDA0002903898450000028
式中,p(x)表示当前个体x覆盖的分支路径,Pk为待覆盖的第k条分支路径,B(Pk,p(x))表示当前个体x覆盖的路径p(x)与待覆盖的分支路径Pk的层接近度,其值为从第一个分支节点开始Pk与p(x)的不同节点的数目,|Pk|是当前目标路径Pk中包含的分支节点数目;
步骤b:计算第k条分支路径Pk的的分支距离
Figure FDA0002903898450000031
其公式如下:
Figure FDA0002903898450000032
式中,N2-N1是分支节点的表达式,c是一个常数,用以表达N2≠N1的情况;
步骤c:计算第k条分支路径Pk的分支权重
Figure FDA0002903898450000033
其公式如下:
Figure FDA0002903898450000034
式中,ndi为通过程序静态分析所获得的嵌套深度,若分支的嵌套深度越高,生成测试用例覆盖该分支的可达性就越低,其分支的嵌套权重就相对越大,对适应度调整的影响就得到相应提升;
步骤d:计算个体适应度函数Fit(x),其公式如下:
Figure FDA0002903898450000035
式中,Fit(x)表示个体适应度函数,
Figure FDA0002903898450000036
Figure FDA0002903898450000037
分别是第k条分支路径Pk的层接近度、分支距离和分支权重,α+β+γ=1,其中,α是层接近度影响因子,β是分支距离影响因子,γ是分支权重影响因子,各影响因子均不为零。
5.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤4)根据相似度的大小使用对应的交叉率将该个体与复制的精英个体进行交叉操作中的交叉率的计算方法为:
步骤a:计算子种群个体与精英个体间的相似度Simiij,其公式如下:
Figure FDA0002903898450000038
式中,用海明距离来计算两个个体间的相似度Simiij,Xig表示第i个输入变量的二进制串中第g个符号,同样地,Xjg表示第j个输入变量的二进制串中第g个符号1是二进制串的长度;
步骤b:计算子种群个体与精英个体间的交叉率
Figure FDA0002903898450000041
其公式如下:
Figure FDA0002903898450000042
式中,Cm为当前子种群个体,Ej为精英个体,M为相似度阈值。
6.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤4)根据相似度的大小使用对应的变异率定向向精英个体的优秀基因值进行变异操作中的变异率的计算方法为:
步骤a:计算子种群个体与精英个体间的相似度Simiij,其公式如下:
Figure FDA0002903898450000043
式中,用海明距离来计算两个个体间的相似度Simiij,Xig表示第i个输入变量的二进制串中第g个符号,同样地,Xjg表示第j个输入变量的二进制串中第g个符号1是二进制串的长度;
步骤b:计算子种群个体与精英个体间的变异率
Figure FDA0002903898450000044
其公式如下:
Figure FDA0002903898450000045
式中,Cm为当前子种群个体,Ej为精英个体,M为相似度阈值。
7.根据权利要求1所述的一种基于遗传算法优化的软件测试数据生成方法,其特征在于所述的步骤6)中终止条件设定如下:
a:已找到能覆盖所有路径的最佳测试数据;
b:算法达到最大迭代次数;
其中,条件a与条件b属于或的关系,二者满足其一即可。
CN201810098671.4A 2018-01-31 2018-01-31 基于遗传算法优化的软件测试数据生成方法 Active CN108509335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810098671.4A CN108509335B (zh) 2018-01-31 2018-01-31 基于遗传算法优化的软件测试数据生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810098671.4A CN108509335B (zh) 2018-01-31 2018-01-31 基于遗传算法优化的软件测试数据生成方法

Publications (2)

Publication Number Publication Date
CN108509335A CN108509335A (zh) 2018-09-07
CN108509335B true CN108509335B (zh) 2021-03-19

Family

ID=63375494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810098671.4A Active CN108509335B (zh) 2018-01-31 2018-01-31 基于遗传算法优化的软件测试数据生成方法

Country Status (1)

Country Link
CN (1) CN108509335B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376075B (zh) * 2018-09-19 2022-04-22 奇安信科技集团股份有限公司 一种生成测试对象最优测试覆盖路径的处理方法及装置
CN111444079B (zh) * 2019-01-16 2022-09-30 河南工业大学 一种软件缺陷修复方法及装置
CN109918307B (zh) * 2019-03-14 2022-04-19 牡丹江师范学院 基于否定选择遗传算法的路径覆盖测试数据生成方法
CN111221741B (zh) * 2020-01-17 2023-10-10 北京工业大学 一种基于遗传算法和日志分析的异常单元测试自动生成的方法
CN111240995B (zh) * 2020-01-21 2023-07-25 江西财经大学 结合关键点概率与路径相似度的多路径覆盖方法及***
CN112749082B (zh) * 2020-05-11 2022-06-24 长江大学 一种基于de-th算法的测试用例生成方法及***
CN112052166B (zh) * 2020-08-26 2021-05-18 河海大学 一种基于支配关系的测试用例生成方法与装置
CN112131679B (zh) * 2020-09-02 2022-10-14 大连理工大学 一种工件初始残余应力的反推调整方法
CN112231076B (zh) * 2020-09-18 2022-04-08 广东奥博信息产业股份有限公司 基于智能优化的数据标注任务调度方法
CN112328496B (zh) * 2020-11-27 2024-07-19 上海探巡科技有限公司 全栈式的循环神经网络深度学习***安全分析与检测方法
CN113590191A (zh) * 2021-06-28 2021-11-02 航天科工防御技术研究试验中心 基于遗传算法的软件可靠性模型参数估计方法
CN114064453B (zh) * 2021-10-12 2023-04-07 华南理工大学 基于聚类和进化算法的软件测试用例自动生成方法
CN113742251B (zh) * 2021-11-08 2022-01-28 山东建筑大学 基于集合进化的软件测试路径生成方法及***
CN114490316B (zh) * 2021-12-16 2023-04-18 四川大学 一种基于损失函数的单元测试用例自动生成方法
CN114401211B (zh) * 2022-01-17 2023-05-12 重庆邮电大学 一种工业无线网络设备接入IPv6网络的测试***及测试方法
CN115576848B (zh) * 2022-11-10 2023-04-07 江西财经大学 结合关键边概率与路径层接近度的多路径覆盖测试方法
CN116048958B (zh) * 2022-11-17 2023-12-01 中山大学 医疗机器人控制软件测试数据的生成方法、注入方法
CN116010291A (zh) * 2023-03-28 2023-04-25 江西财经大学 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029800A3 (en) * 2002-09-25 2004-08-12 Enigmatec Corp Verifiable processes in a heterogeneous distributed computing environment
CN102331966A (zh) * 2011-01-10 2012-01-25 中国矿业大学 面向路径的软件测试数据进化生成***
CN102629290A (zh) * 2012-03-13 2012-08-08 西安交通大学 一种多股流板翅式换热器流体通道排列的优化设计方法
CN103020349A (zh) * 2012-12-08 2013-04-03 清华大学 一种等离子体刻蚀工艺中刻蚀产额的建模方法
CN103255200A (zh) * 2012-02-16 2013-08-21 上海立得生物科技有限公司 一种鉴别冬虫夏草的线粒体基因序列和方法
CN104281522A (zh) * 2014-10-14 2015-01-14 中国矿业大学 基于语句覆盖和缺陷检测的多目标测试数据缩减方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760467B2 (en) * 2015-03-16 2017-09-12 Ca, Inc. Modeling application performance using evolving functions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029800A3 (en) * 2002-09-25 2004-08-12 Enigmatec Corp Verifiable processes in a heterogeneous distributed computing environment
CN102331966A (zh) * 2011-01-10 2012-01-25 中国矿业大学 面向路径的软件测试数据进化生成***
CN103255200A (zh) * 2012-02-16 2013-08-21 上海立得生物科技有限公司 一种鉴别冬虫夏草的线粒体基因序列和方法
CN102629290A (zh) * 2012-03-13 2012-08-08 西安交通大学 一种多股流板翅式换热器流体通道排列的优化设计方法
CN103020349A (zh) * 2012-12-08 2013-04-03 清华大学 一种等离子体刻蚀工艺中刻蚀产额的建模方法
CN104281522A (zh) * 2014-10-14 2015-01-14 中国矿业大学 基于语句覆盖和缺陷检测的多目标测试数据缩减方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Evolutionary generation of test data for many paths coverage based on grouping;DunweiGong等;《Journal of Systems and Software》;20110625;第84卷(第12期);第2222-2233页 *
Path-oriented test cases generation based adaptive genetic algorithm;Na Zhang 等;《PLoS ONE》;20171231;第12卷(第11期);第1-17页 *
基于关键点路径的快速测试用例自动生成方法;丁蕊 等;《软件学报》;20160113(第4期);第814-827页 *
基于自适应粒子群优化的组合测试用例生成方法;包晓安 等;《计算机科学》;20170630(第6期);第177-181页 *
多路径覆盖测试数据生成适应度函数设计方法;伊丹丹 等;《计算机工程与应用》;20140418;第48卷(第22期);第79-83页 *

Also Published As

Publication number Publication date
CN108509335A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108509335B (zh) 基于遗传算法优化的软件测试数据生成方法
Jovanovic et al. Ant colony optimization algorithm with pheromone correction strategy for the minimum connected dominating set problem
CN106527381B (zh) 一种面向并行批处理机动态调度的快速评估方法
CN107506865B (zh) 一种基于lssvm优化的负荷预测方法及***
CN112540849B (zh) 一种分布式计算作业的参数配置优化方法及***
CN106845642B (zh) 一种带约束云工作流调度的自适应多目标进化方法
CN111240995B (zh) 结合关键点概率与路径相似度的多路径覆盖方法及***
CN102331966A (zh) 面向路径的软件测试数据进化生成***
CN108363876B (zh) 一种考虑关键故障的测试优化选择方法
CN104765690A (zh) 基于模糊遗传算法的嵌入式软件测试数据生成方法
CN103559129A (zh) 基于遗传算法的统计回归测试数据生成方法
CN113407185B (zh) 基于贝叶斯优化的编译器优化选项推荐方法
US20210124860A1 (en) High-throughput computational material simulation optimisation method and apparatus based on time prediction
CN106919504B (zh) 一种基于ga算法的测试数据进化生成方法
Ali et al. An efficient discrete PSO coupled with a fast local search heuristic for the DNA fragment assembly problem
Nejad et al. Using memetic algorithms for test case prioritization in model based software testing
CN104281522A (zh) 基于语句覆盖和缺陷检测的多目标测试数据缩减方法
CN116596021A (zh) 基于改进的麻雀搜索算法的模型参数优化方法、装置
CN109767034B (zh) 继电保护的定值优化方法、装置、计算机设备和存储介质
CN104915680A (zh) 基于改进型rbf神经网络的多标签蜕变关系预测方法
CN111813669B (zh) 基于多目标群体智能的适应性随机测试用例生成方法
CN110069347B (zh) 一种基于过程重要度的线程划分方法
CN116010291A (zh) 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
CN117149615A (zh) 一种测试用例执行路径的生成方法及相应的装置
CN113505910A (zh) 一种含多路径有限连续输出库存的混合车间生产调度方法

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
TR01 Transfer of patent right

Effective date of registration: 20220926

Address after: Room 406, building 19, haichuangyuan, No. 998, Wenyi West Road, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: HANGZHOU HUICUI INTELLIGENT TECHNOLOGY CO.,LTD.

Address before: No.928, No.2 street, Jianggan Economic Development Zone, Hangzhou City, Zhejiang Province, 310018

Patentee before: ZHEJIANG SCI-TECH University

TR01 Transfer of patent right