CN110399286B - 一种基于独立路径的测试数据自动生成方法 - Google Patents

一种基于独立路径的测试数据自动生成方法 Download PDF

Info

Publication number
CN110399286B
CN110399286B CN201810372298.7A CN201810372298A CN110399286B CN 110399286 B CN110399286 B CN 110399286B CN 201810372298 A CN201810372298 A CN 201810372298A CN 110399286 B CN110399286 B CN 110399286B
Authority
CN
China
Prior art keywords
path
test case
test
independent
branch
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
CN201810372298.7A
Other languages
English (en)
Other versions
CN110399286A (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.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
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 Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN201810372298.7A priority Critical patent/CN110399286B/zh
Publication of CN110399286A publication Critical patent/CN110399286A/zh
Application granted granted Critical
Publication of CN110399286B publication Critical patent/CN110399286B/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
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明针对软件测试中测试用例生成问题,提供了一种基于独立路径的测试数据自动生成方法。首先对被测程序进行静态分析,得到其控制流图,通过圈复杂度导出所有的独立路径;其次,针对被测程序的具体问题进行编码,得到输入范围及路径编码;然后,根据路径分析及计算分支距离的方法,对被测程序进行插桩得到适应度函数;接着通过混沌序列产生均匀分布的初始种群,选取适应度函数值高的作为细菌觅食算法的初始种群;最后,利用改进后的细菌觅食算法和适应度函数进行迭代更新,直到求出所有独立路径的测试用例或者达到最大的迭代次数,记录输出覆盖独立路径的测试用例。本方法可在保证有效覆盖的前提下,以较少的测试用例、较快速的得到测试用例。

Description

一种基于独立路径的测试数据自动生成方法
技术领域
本发明属于软件测试技术领域,具体涉及基于独立路径覆盖的软件测试用例的自动化生成方法。
背景技术
随着计算机科学的快速发展,计算机软件已经成为计算机科学领域在人们日常生活中的重要组成部分,成为不可替代的角色。但软件是由人来开发,且软件是一个繁杂的系统,不可能保证软件完全可靠无错,这并且有些错误很可能造成人力财力物力的浪费和损失,这使人们认识到软件测试的必要性。软件测试是软件开发整个流程中必不可少的一环,也是保障软件可靠性的重要手段。传统的软件测试方法基本上由人工完成,有可能产生人为的错误,从而影响软件测试的效率和质量。另外,人工测试的效率低,且需要专业的、有经验的测试人员,造成了软件测试的成本极高,增加了测试的困难。因此将软件测试中存在的技术含量低或者经常重复的工作进行自动化,可大大减少测试成本。其中,测试用例生成是关键性步骤,其生成的效率决定了软件测试的整体效率,对整个软件测试工程的发展具有重要的影响,并且可以自动生成测试用例。一个好的测试用例生成方案可以在节约人力、物力的同时,提高软件开发的效率和质量,增加企业效益。
为了检测软件中存在的错误,需要生成大量的测试用例,以保证尽可能得到零缺陷的软件。但无论一个程序的规模有多小,对其输入进行穷举也是不切合实际的,所以,需要设计一种测试用例的生成方法,使其在保证质量的前提下,减少资源的消耗。
现有的测试用例生成方法中,主要有随机法、静态法、动态法和试探法,即所谓的基于搜索的测试用例生成技术。随机法相对来说方法简单且时间消耗较低,但对于较为复杂的程序,随机法生成的测试用例很难达到覆盖标准,导致很多错误未能发现识别;静态法主要有符号执行法,由此得到了的很多约束器,且相对成熟,但该方法存在难以处理的非线性空间以及带有循环的程序,并且还存在组合爆炸等问题;动态法基于语句覆盖或者分支覆盖,任选测试用例输入,当程序动态执行时,动态收集分支函数信息,测试用例生成效率有所提高,但是其依赖初始数据,有局限性;试探法主要通过对代码进行插桩,利用桩函数信息针对随机生成的测试用例进行试探,直到测试用例覆盖到目标路径。其中,在试探过程中加入算法可提高效率。
本发明结合了动态法和试探法的优点并进行改进,相对于动态法中语句覆盖和分支覆盖等基本路径覆盖存在问题,选择了一种更加简便且高效的独立路径覆盖概念,保障了覆盖路径的有效性,同时利用了试探法中的启发式搜索算法,在保障有效路径覆盖的前提下,利用改进的细菌觅食算法,自动化生成测试用例。
发明内容
本发明主要解决的问题是:针对现有的软件测试技术领域中测试用例生成的不足问题,提供了基于独立路径覆盖的软件测试用例自动生成方法。本发明的目的在于设计一种合理的基于独立路径的测试用例生成方法,帮助软件测试人员能够快速获得覆盖被测程序中有效路径的测试用例,从而利用这些测试用例得到软件的缺陷信息并进一步修复。
本发明的技术方案为:一种基于独立路径的测试数据自动生成方法,其特点在于主要包括以下步骤:
(1)利用开源软件Soot代码分析工具,生成被测程序P的控制流图CFG,并进行精简以便于分析;
(2)对(1)中生成的控制流图CFG利用圈复杂度得到预防错误所需测试的最少路径条数,即独立路径数N,并对各个路径分支进行编码,根据被测程序P的实际问题,分析其输入输出的类型和范围,确定编码,得到测试用例取值范围;
(3)利用分支距离法对程序P的分支进行插桩,以此获得适应度函数F,其中,适应度函数F的计算方法如下:确定输入测试用例t经过了步骤(2)中的哪一条独立路径,测试用例t形成的路径Patht,路径Patht上共m分支,其中第j个分支节点的分支距离为f(Patht,j),若j分支被覆盖,则设f(Patht,j)值为0,若j分支未被覆盖,则f(Patht,j)为测试用例t在j节点上的分支距离,其具体计算规则见表1,则最终的适应度函数为:
Figure GDA0003920364310000021
M,c均为设定常数,M是为了保障适应度函数的上限,c是为了防止分母为0,这里,我们设置M=1,c=1,则适应度函数会在[0,1]之间取值,值越大,表示该测试用例越接近目标路径,反之,越远离目标路径,因此转换为求适应度函数的最大值,即可找到完全覆盖目标独立路径的测试用例;
(4)在步骤(2)中得到的测试用例取值范围内,利用混沌序列初始化细菌种群S;
(5)以步骤(4)得到的种群,利用改进的细菌觅食算法BFOA以及步骤(3)中得到的适应度函数F更新迭代种群,其中,在改进的BFOA算法中,设计趋化操作的自适应步长计算公式如下:
Figure GDA0003920364310000022
其中,ω是调节因子,其目的是为了使得趋化步长在初期依赖趋化次数,后期依赖细菌的适应度值,因此设计
Figure GDA0003920364310000023
使得ω在[0,1]之内递减,其中,NC表示趋化次数最大值,Nj表示当前的趋化次数;用μ表示期望,σ表示标准方差,
Figure GDA0003920364310000024
b=μ,c=σ;F max、F i、F min分别表示细菌的适应度最大值,当前细菌的适应度值和细菌的适应度最小值;C(i)表示标准的步长;
迁徙操作的迁徙概率计算如下:
Figure GDA0003920364310000031
其中Ped表示标准的细菌迁徙概率;
(6)将步骤(4)和步骤(5)产生的种群个体,覆盖被测程序P中的未被覆盖的独立路径的测试用例记录输出;
(7)判断算法的终止条件是否满足:如果不满足条件,跳回步骤(5)进行循环操作;如果满足条件,则结束算法,此时输出所有的测试用例集合。
上述的一种基于独立路径的测试数据自动生成方法的步骤(2)中,对需要覆盖的分支独立路径编码采用数字型编码,分支语句对应的行号记为该分支对应位置的编码;步骤(2)中,对被测程序P的实际问题,确定编码,具体为:数值型,根据定义的数据类型为整数或者浮点数确定取值范围;字符型,使用ASCII码符号对应的数字进行编码;字符串,根据字符型进行编码。
表1分支距离f具体计算规则
Figure GDA0003920364310000032
上述的一种基于独立路径的测试数据自动生成方法的步骤(4)中,混沌序列初始化细菌种群S具体如下:随机产生D维向量X=(x1,x2,…,xd),其中xi∈(0,1),1≤i≤d,d为维度;将X通过公式
Figure GDA0003920364310000033
迭代M次,其中a∈(0,1),当a=0.4时,其概率密度函数在(0,1)内服从均匀分布,迭代完成后得到M个向量Yi=(yi1,yi2,…,yid),i=1,2,…,M;将得到的混沌向量Y通过公式xid=p+yid|p-q|来映射到步骤(2)中的编码范围,其中p,q分别为步骤(2)中的编码的最小值和最大值,最后选取适应度值最高的S个种群,作为细菌觅食算法的初始解空间。使用这种方法可以保障取值在编码的取值范围内均匀分布,使得初始的测试用例分布均匀,尽快搜索得到适应度函数的最大值。
上述的一种基于独立路径的测试数据自动生成方法的步骤(6)中,对步骤(4)产生的初始解和步骤(5)利用BFOA产生的解进行分析,判断解对应的测试用例覆盖被测程序P中,未被覆盖的哪一条独立路径,如果测试用例覆盖了一条之前未被覆盖的独立路径,则将该测试用例记录输出,这样结束之后,将得到一组测试用例集合T=(t1,t2,…,tN),N为被测程序P的独立路径数,其中,每一个测试用例ti(i=1,2,…,N)都覆盖了一条与集合中其他测试用例不同的独立路径;
上述的一种基于独立路径的测试数据自动生成方法的步骤(7)中算法的终止条件:已经得到覆盖被测程序P中所有独立路径的测试用例,或达到设置的最大迭代次数。
本发明的特点在于:(1)提出了新的覆盖测试准则,即独立路径覆盖,既可实现全路径覆盖,又避免了冗余的路径覆盖情况;(2)转换测试用例覆盖独立路径问题为数学上的最优问题;(3)结合细菌觅食算法,并对其进行改进融合,使其适应于测试用例的生成。通过实验表明,本发明能够通过较低的代价得到较完善的测试用例来覆盖有效路径。
本发明通过分析控制流图,利用圈复杂度得到独立路径,对其进行编码,以便后续进行覆盖判断;通过分支距离法得到适应度函数并进行合理化处理,将测试用例生成问题转化为求适应度函数的最大值问题;利用细菌觅食算法,进行改进融合,输出最后的测试用例集合。将静态分析、动态法和试探法的优点结合并进行改进,能够有效降低测试数据生成的代价,并得到有效的测试用例对程序进行检测。
附图说明
图1为本发明的流程图。
图2为实施方式中示例测试程序“Median”代码。
图3为实施方式中示例测试程序“Median”通过Soot工具生成的控制流图。
图4为实施方式中示例测试程序“Median”精简后的控制流图。
图5为本发明中设计步长的合理性证明图:适应度取值为最大适应度的0.25倍。
图6为本发明中设计步长的合理性证明图:适应度取值为最大适应度的0.5倍。
图7为本发明中设计步长的合理性证明图:适应度取值为最大适应度的0.75倍。
具体实施方式
以下结合实施例对本发明的实施方式进行进一步的说明,但本发明的实施不限于此。在以下说明中关于未特别详细说明之处,均是一般技术人员可参照现有技术可理解实现的部分,如细菌觅食算法的一般执行步骤。
如图1,一种基于一种基于独立路径的测试数据自动生成方法包括以下步骤:
(1)得到程序median的控制流图。
利用开源软件Soot代码分析工具,针对图2所示的示例代码Median,生成了如图3所示的控制流图CFG,并进行精简以便于分析。得到的结果如图4,图中圆圈的序号为图2中代码对应的行号。
(2)针对被测程序median确定其具体编码。
对(1)中生成的控制流图CFG,利用圈复杂度得到预防错误所需测试的最少路径条数,即独立路径数N=e-n+2p,其中,e表示控制流图中边的数量,n表示控制流图中节点的数量,p为图的连接组件数目(图的组件数是相连节点的最大集合)。因为控制流图都是连通的,所以p为1。因此独立路径的个数N=6,分别是:
{4,5,6,16},{4,5,7,8,16},{4,5,7,16},{4,11,12,16},{4,11,13,16},{4,11,13,14,16},
根据被测程序median中,其输入参数x,y,z的类型均定义为int类型,则输入的范围为[0,MAX]的正整数,MAX是计算机可表达的最大的正整数。
(3)根据被测程序median确定适应度函数
利用分支距离法对程序分支进行插桩,以此获得适应度函数F。根据表1分支距离f的计算规则,针对median的程序进行插桩如下表2:
表2 median分支距离f
Figure GDA0003920364310000051
最终,适应度计算函数返回测试用例经过的判断节点的分支距离叠加得到:
Figure GDA0003920364310000052
这里设置M=1,c=1。
(4)根据混沌序列得到细菌觅食算法的初始种群。
被测程序有三个变量x,y,z,则随机产生3维向量X=(x1,x2,x3),其中xi∈(0,1),1≤i≤3;将X通过公式
Figure GDA0003920364310000053
迭代M次,迭代完成后得到M个向量Yi=(yi1,yi2,…,yid),i=1,2,…,M;将得到的混沌向量Y通过公式xid=p+yid|p-q|来映射到步骤(2)中的编码范围,其中p,q分别为步骤(2)中的编码的最小值1和最大值MAX,最后得到的值作为细菌觅食算法的初始解空间。
(5)利用改进的细菌觅食算法(BFOA)以及得到的适应度函数F更新迭代种群。
选取细菌觅食算法来迭代种群,选取的种群大小为20,对步骤(4)中生成的初始解进行分析,判断这些解对应的被测程序median中的哪一条独立路径,如果覆盖了一条之前未被覆盖的独立路径,则将该测试用例记录下来。接下来利用细菌觅食算法并结合其对应的适应度函数来进行搜索,在搜索过程中,经过细菌觅食算法的趋化、复制、迁徙操作,得到覆盖该条独立路径的最优测试用例。将其记录输出,结束第一次迭代。接着寻找未被覆盖的独立路径,继续进行迭代搜索。在该细菌觅食算法中,除了算法的一般性操作,根据测试用例生成的规则和要求,改进了BFOA算法,其中趋化操作的自适应步长计算公式如下:
Figure GDA0003920364310000061
其中,ω是调节因子,其目的是为了使得趋化步长在初期依赖趋化次数,后期依赖细菌的适应度值。因此设计
Figure GDA0003920364310000062
使得ω在[0,1]之内递减。其中NC表示趋化次数最大值,Nj表示当前的趋化次数。
用μ表示期望,σ表示标准方差,
Figure GDA0003920364310000063
b=μ,c=σ。由median程序测试用例生成问题可知步长的最大值为1,且当取最大值1时,应该在初期阶段,因而其中a=1,b=0,
Figure GDA0003920364310000064
Fmax、Fi、Fmin分别表示细菌的适应度最大值,当前细菌的适应度值和细菌的最小值。C(i)表示标准的步长。该自适应步长的合理性通过图5,图6,图7进行说明。
迁徙操作的迁徙概率计算如下:
Figure GDA0003920364310000065
其中Ped表示标准的细菌迁徙概率。
本实施例的具体参数设置如表3:
表3针对实施例median程序参数设置一览表
Figure GDA0003920364310000066
Figure GDA0003920364310000071
(6)将步骤(4)和步骤(5)产生的种群个体,覆盖被测程序P中的未被覆盖的独立路径的测试用例记录输出。
(7)判断是否满足算法的终止条件:如果不满足条件,跳回步骤(5)进行循环操作;如果满足条件,则结束算法,此时输出所有的测试用例集合。
这一步判断是否结束整个任务,其终止条件有两个,一个是已经得到覆盖被测程序median的6条独立路径,另一个是,达到最大迭代次数,仍没有完全覆盖独立路径。在这里,设置的最大迭代路径为1000。执行完毕后,算法会将记录的覆盖对应路径的测试用例集合输出。
由于在步骤(4)、(5)、(7)中,存在随机因素,因此本具体实施并不是一个确定的结果,因此这几步很难模拟,会根据随机产生的数据变化。
最后实验数据如下:
表4针对实施例median某次运行结果
测试用例 覆盖的独立路径信息
{2,2,3} {4,5,7,8,16}
{1,3,4} {4,5,6,16}
{4,3,0,} {4,11,12,16}
{3,3,1} {4,11,13,14,16}
{4,0,3} {4,5,7,16}
{1,3,2} {4,11,13,16}
上述运行结果是一次运行的结果,多次运行测试用例可能会有所不同,而且随着输入范围的改变而改变。但实验表明通过本发明方法,可以找到median程序的有效路径测试用例。
由于该发明中算法存在的随机性,会使得最终的结果并不唯一,因而上述实施例只是该发明的一种结果,本领域研究人员可在该发明思想的框架下,对上述实施例做出修改。总之,本发明的保护范围不被上述实施例限制。
为了说明本发明的有益效果,通过对经典基准程序:判断中值Median程序与判三角形Triangle程序在表3条件下进行实现,其中Triangle的搜寻范围为[1,10],其余完全相同。最终得到的效果与测试用例自动生成工具Evosuite进行对比,得到实验对比如下:
表5实验对比
Figure GDA0003920364310000072
Figure GDA0003920364310000081
由此可知,本发明方法保证了测试准确率,同时生成了较少的测试用例,以便节省测试程序的运行时间与开销。

Claims (5)

1.一种基于独立路径的测试数据自动生成方法,其特征在于包括以下步骤:
(1)利用开源软件Soot代码分析工具,生成被测程序P的控制流图CFG,并进行精简以便于分析;
(2)对(1)中生成的控制流图CFG利用圈复杂度得到预防错误所需测试的最少路径条数,即独立路径数N,并对各个路径分支进行编码;根据被测程序P的实际问题,分析其输入输出的类型和范围,确定编码,得到测试用例取值范围;
(3)利用分支距离法对程序P的分支进行插桩,以此获得适应度函数F,其中F的计算方法如下:确定输入测试用例t经过了步骤(2)中的哪一条独立路径,测试用例t形成的路径Patht,路径Patht上共m分支,其中第j个分支节点的分支距离为f(Patht,j),若j分支被覆盖,则设f(Patht,j)值为0,若j分支未被覆盖,则f(Patht,j)为测试用例t在j节点上的分支距离,最终的适应度函数为
Figure FDA0003920364300000011
M,c均为设定常数;
(4)在步骤(2)中得到的测试用例取值范围内,利用混沌序列初始化细菌种群S;
(5)以步骤(4)得到的种群,利用改进的细菌觅食算法BFOA以及步骤(3)中得到的适应度函数F更新迭代种群,其中,在改进的BFOA算法中,设计趋化操作的自适应步长计算公式如下:
Figure FDA0003920364300000012
其中,ω是调节因子,其目的是为了使得趋化步长在初期依赖趋化次数,后期依赖细菌的适应度值,因此设计
Figure FDA0003920364300000013
使得ω在[0,1]之内递减,其中,NC表示趋化次数最大值,Nj表示当前的趋化次数;用μ表示期望,σ表示标准方差,
Figure FDA0003920364300000014
b=μ,c=σ;Fmax、Fi、Fmin分别表示细菌的适应度最大值,当前细菌的适应度值和细菌的适应度最小值;C(i)表示标准的步长;
迁徙操作的迁徙概率计算如下:
Figure FDA0003920364300000015
其中Ped表示标准的细菌迁徙概率;
(6)将步骤(4)和步骤(5)产生的种群个体,覆盖被测程序P中的未被覆盖的独立路径的测试用例记录输出;
(7)判断算法的终止条件是否满足:如果不满足条件,跳回步骤(5)进行循环操作;如果满足条件,则结束算法,此时输出所有的测试用例集合。
2.根据权利要求1所述的一种基于独立路径的测试数据自动生成方法,其特征在于:步骤(2)中,对需要覆盖的分支独立路径编码采用数字型编码,分支语句对应的行号记为该分支对应位置的编码;步骤(2)中,对被测程序P的实际问题,确定编码,具体为:数值型,根据定义的数据类型为整数或者浮点数确定取值范围;字符型,使用ASCII码符号对应的数字进行编码;字符串,根据字符型进行编码。
3.根据权利要求1所述的一种基于独立路径的测试数据自动生成方法,其特征在于:步骤(4)中,混沌序列初始化细菌种群S具体如下:随机产生D维向量X=(x1,x2,…,xd),其中xi∈(0,1),1≤i≤d,d为维度;将X通过公式
Figure FDA0003920364300000021
迭代M次,其中a∈(0,1),当a=0.4时,其概率密度函数在(0,1)内服从均匀分布,迭代完成后得到M个向量Yi=(yi1,yi2,…,yid),i=1,2,…,M;将得到的混沌向量Y通过公式xid=p+yid|p-q|来映射到步骤(2)中的编码范围,其中p,q分别为步骤(2)中的编码的最小值和最大值,最后选取适应度值最高的S个种群,作为细菌觅食算法的初始解空间。
4.根据权利要求1所述的一种基于独立路径的测试数据自动生成方法,其特征在于:步骤(6)中,对步骤(4)产生的初始解和步骤(5)利用BFOA产生的解进行分析,判断解对应的测试用例覆盖被测程序P中,未被覆盖的哪一条独立路径,如果测试用例覆盖了一条之前未被覆盖的独立路径,则将该测试用例记录输出,这样结束之后,将得到一组测试用例集合T=(t1,t2,…,tN),N为被测程序P的独立路径数,其中,每一个测试用例ti(i=1,2,…,N)都覆盖了一条与集合中其他测试用例不同的独立路径。
5.根据权利要求1所述的一种基于独立路径的测试数据自动生成方法,其特征在于:步骤(7)中算法的终止条件:已经得到覆盖被测程序P中所有独立路径的测试用例,或达到设置的最大迭代次数。
CN201810372298.7A 2018-04-24 2018-04-24 一种基于独立路径的测试数据自动生成方法 Active CN110399286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810372298.7A CN110399286B (zh) 2018-04-24 2018-04-24 一种基于独立路径的测试数据自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810372298.7A CN110399286B (zh) 2018-04-24 2018-04-24 一种基于独立路径的测试数据自动生成方法

Publications (2)

Publication Number Publication Date
CN110399286A CN110399286A (zh) 2019-11-01
CN110399286B true CN110399286B (zh) 2023-05-12

Family

ID=68320137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810372298.7A Active CN110399286B (zh) 2018-04-24 2018-04-24 一种基于独立路径的测试数据自动生成方法

Country Status (1)

Country Link
CN (1) CN110399286B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290946B (zh) * 2019-12-27 2021-04-20 北京大学 基于原子状态函数的浮点数误差检测方法和装置
CN112380120B (zh) * 2020-11-13 2022-06-10 华南理工大学 单元测试代码结构自动解析与路径分析方法
CN113672503A (zh) * 2021-08-03 2021-11-19 中移(杭州)信息技术有限公司 测试用例的生成方法、系统、终端设备以及存储介质
CN115794658B (zh) * 2023-01-09 2023-05-30 国网区块链科技(北京)有限公司 一种区块链的模糊测试方法及系统
CN117472786B (zh) * 2023-12-27 2024-04-12 道普信息技术有限公司 一种测试用例自动生成方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729297A (zh) * 2013-12-31 2014-04-16 北京理工大学 一种基于分层遗传算法的测试用例生成方法
WO2016004657A1 (zh) * 2014-07-11 2016-01-14 电子科技大学 一种针对嵌入式软件的测试用例自动化生成装置及其方法
JP2016115175A (ja) * 2014-12-16 2016-06-23 株式会社東芝 ソフトウェアテスト装置およびソフトウェアテストプログラム
CN106021114A (zh) * 2016-06-02 2016-10-12 北京光年无限科技有限公司 面向智能机器人的自动化测试方法及系统
CN107172627A (zh) * 2017-05-31 2017-09-15 王振东 基于混沌优化细菌觅食算法的传感器节点部署策略
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729297A (zh) * 2013-12-31 2014-04-16 北京理工大学 一种基于分层遗传算法的测试用例生成方法
WO2016004657A1 (zh) * 2014-07-11 2016-01-14 电子科技大学 一种针对嵌入式软件的测试用例自动化生成装置及其方法
JP2016115175A (ja) * 2014-12-16 2016-06-23 株式会社東芝 ソフトウェアテスト装置およびソフトウェアテストプログラム
CN106021114A (zh) * 2016-06-02 2016-10-12 北京光年无限科技有限公司 面向智能机器人的自动化测试方法及系统
CN107172627A (zh) * 2017-05-31 2017-09-15 王振东 基于混沌优化细菌觅食算法的传感器节点部署策略
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A method of test points optimization selection based on improved bacterial foraging algorithm;Wenkui Hou;《2016 Prognostics and System Health Management Conference (PHM-Chengdu)》;20170119;全文 *
基于改进菌群算法测试用例自动生成方法的研究;黄今慧;《2012(第五届)全国网络与信息安全学术会议优秀论文》;20120720;全文 *
基路径覆盖测试用例自动生成方法研究;宋想等;《计算机工程与设计》;20130816(第08期);全文 *
应用混沌果蝇算法的路径覆盖测试用例优化技术研究;李龙澍等;《小型微型计算机系统》;20180215(第02期);全文 *
软件测试中测试用例自动生成方法研究;贾冀婷;《电脑知识与技术》;20100525(第15期);全文 *

Also Published As

Publication number Publication date
CN110399286A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN110399286B (zh) 一种基于独立路径的测试数据自动生成方法
Wang et al. Search, align, and repair: data-driven feedback generation for introductory programming exercises
Rajpal et al. Not all bytes are equal: Neural byte sieve for fuzzing
CN107590073B (zh) 基于路径覆盖软件测试的测试用例自动生成方法
Ouni et al. Search-based refactoring using recorded code changes
CN114626071B (zh) 一种漏洞导向的模糊测试方法、系统和介质
CN109857457B (zh) 一种在双曲空间中学习源代码中的函数层次嵌入表示方法
CN112286824B (zh) 基于二分搜索迭代的测试用例生成方法、系统及电子设备
CN112394973B (zh) 一种基于伪孪生网络的多语言代码剽窃检测方法
CN108255702A (zh) 一种测试用例创建方法、装置、设备及存储介质
CN113687821A (zh) 一种基于图形可视化的智能代码拼接方法
CN107992426A (zh) 一种基于频繁子图挖掘的软件错误定位方法及处理装置
CN111581086B (zh) 一种基于RankNet的混合软件错误定位方法及系统
He et al. On distribution shift in learning-based bug detectors
CN113741886A (zh) 一种基于图的语句级程序修复方法及系统
White et al. Reassert: Deep learning for assert generation
CN116150757A (zh) 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法
CN109542949B (zh) 一种基于形式向量的决策信息系统知识获取方法
CN106951373A (zh) 一种用于电网网管移动运维软件的自动化测试方法及装置
CN110825642A (zh) 一种基于深度学习的软件代码行级缺陷检测方法
CN117574383A (zh) 一种基于特征融合和代码可视化技术的软件漏洞检测模型的方法
CN113158194A (zh) 一种基于多关系图网络的漏洞模型的构建方法及检测方法
CN117494760A (zh) 一种基于超大规模语言模型的富语义标签数据增广方法
Mahouachi et al. A new design defects classification: Marrying detection and correction
CN110879778B (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