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

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

Info

Publication number
CN110399286A
CN110399286A CN201810372298.7A CN201810372298A CN110399286A CN 110399286 A CN110399286 A CN 110399286A CN 201810372298 A CN201810372298 A CN 201810372298A CN 110399286 A CN110399286 A CN 110399286A
Authority
CN
China
Prior art keywords
test case
independent pathway
test
branch
path
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.)
Granted
Application number
CN201810372298.7A
Other languages
English (en)
Other versions
CN110399286B (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

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;
(4)在步骤(2)中得到的测试用例取值范围内,利用混沌序列初始化细菌种群S;
(5)以步骤(4)得到的种群,利用改进的细菌觅食算法(BFOA)以及步骤(3)中得到的适应度函数F更新迭代种群;
(6)将步骤(4)和步骤(5)产生的种群个体,覆盖被测程序P中的未被覆盖的独立路径的测试用例记录输出;
(7)判断算法的终止条件是否满足:如果不满足条件,跳回步骤(5)进行循环操作;如果满足条件,则结束算法,此时输出所有的测试用例集合。
上述的一种基于独立路径的测试数据自动生成方法的步骤(2)中,对需要覆盖的分支独立路径编码采用数字型编码,分支语句对应的行号记为该分支对应位置的编码;步骤(2)中,对被测程序P的实际问题,确定编码,具体为:数值型,根据定义的数据类型为整数或者浮点数确定取值范围;字符型,使用ASCII码符号对应的数字进行编码;字符串,根据字符型进行编码。
上述一种基于独立路径的测试数据自动生成方法的步骤(3)中,适应度函数F的计算方法如下:确定输入测试用例t经过了步骤(2)中的哪一条独立路径,测试用例t形成的路径Patht,路径Patht上共m分支,其中第j个分支节点的分支距离为f(Patht,j),若j分支被覆盖,则设f(Patht,j)值为0,若j分支未被覆盖,则f(Patht,j)为测试用例t在j节点上的分支距离,最终的适应度函数为:
其中M,c均为设定常数。M是为了保障适应度函数的上限,c是为了防止分母为0,这里,我们设置M=1,c=1。则适应度函数会在[0,1]之间取值,值越大,表示该测试用例越接近目标路径。反之,越远离目标路径。因此转换为求适应度函数的最大值,即可找到完全覆盖目标独立路径的测试用例。
表1分支距离f具体计算规则
上述的一种基于独立路径的测试数据自动生成方法的步骤(4)中,混沌序列初始化细菌种群S具体如下:随机产生D维向量X=(x1,x2,…,xd),其中xi∈(0,1),1≤i≤d,d为维度;将X通过公式
迭代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个种群,作为细菌觅食算法的初始解空间。使用这种方法可以保障取值在编码的取值范围内均匀分布,使得初始的测试用例分布均匀,尽快搜索得到适应度函数的最大值。
上述的一种基于独立路径的测试数据自动生成方法的步骤(5)中,改进的BFOA算法中,趋化操作的自适应步长计算公式如下:
其中,ω是调节因子,其目的是为了使得趋化步长在初期依赖趋化次数,后期依赖细菌的适应度值。因此设计使得ω在[0,1]之内递减。用μ表示期望,σ表示标准方差,b=μ,c=σ。NC表示趋化次数最大值,Nj表示当前的趋化次数。Fmax、Fi、Fmin分别表示细菌的适应度最大值,当前细菌的适应度值和细菌的适应度最小值。C(i)表示标准的步长。
迁徙操作的迁徙概率计算如下:
其中Ped表示标准的细菌迁徙概率。
上述的一种基于独立路径的测试数据自动生成方法的步骤(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
最终,适应度计算函数返回测试用例经过的判断节点的分支距离叠加得到:这里设置M=1,c=1。
(4)根据混沌序列得到细菌觅食算法的初始种群。
被测程序有三个变量x,y,z,则随机产生3维向量X=(x1,x2,x3),其中xi∈(0,1),1≤i≤3;将X通过公式
迭代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算法,其中趋化操作的自适应步长计算公式如下:
其中,ω是调节因子,其目的是为了使得趋化步长在初期依赖趋化次数,后期依赖细菌的适应度值。因此设计使得ω在[0,1]之内递减。其中NC表示趋化次数最大值,Nj表示当前的趋化次数。
用μ表示期望,σ表示标准方差,b=μ,c=σ。由median程序测试用例生成问题可知步长的最大值为1,且当取最大值1时,应该在初期阶段,因而其中a=1,b=0,Fmax、Fi、Fmin分别表示细菌的适应度最大值,当前细菌的适应度值和细菌的最小值。C(i)表示标准的步长。该自适应步长的合理性通过图5,图6,图7进行说明。
迁徙操作的迁徙概率计算如下:
其中Ped表示标准的细菌迁徙概率。
本实施例的具体参数设置如表3:
表3针对实施例median程序参数设置一览表
参数 取值
种群大小S 20
趋向次数N<sub>c</sub> 10
趋向行为可前进最大步数N<sub>s</sub> 5
复制次数N<sub>re</sub> 6
迁徙次数N<sub>ed</sub> 8
迁徙概率P<sub>ed</sub> 0.25
步长C<sub>i</sub> 0.05
搜寻范围,即median的输入范围 [0,5]
(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实验对比
由此可知,本发明方法保证了测试准确率,同时生成了较少的测试用例,以便节省测试程序的运行时间与开销。

Claims (7)

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

Cited By (6)

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

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
WENKUI HOU: "A method of test points optimization selection based on improved bacterial foraging algorithm", 《2016 PROGNOSTICS AND SYSTEM HEALTH MANAGEMENT CONFERENCE (PHM-CHENGDU)》 *
宋想等: "基路径覆盖测试用例自动生成方法研究", 《计算机工程与设计》 *
李龙澍等: "应用混沌果蝇算法的路径覆盖测试用例优化技术研究", 《小型微型计算机系统》 *
贾冀婷: "软件测试中测试用例自动生成方法研究", 《电脑知识与技术》 *
黄今慧: "基于改进菌群算法测试用例自动生成方法的研究", 《2012(第五届)全国网络与信息安全学术会议优秀论文》 *

Cited By (8)

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

Also Published As

Publication number Publication date
CN110399286B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN110399286A (zh) 一种基于独立路径的测试数据自动生成方法
Liu et al. Boosting slime mould algorithm for parameter identification of photovoltaic models
Xia et al. Collective personalized change classification with multiobjective search
CN109214191A (zh) 一种利用深度学习预测软件安全漏洞的方法
CN112364352B (zh) 可解释性的软件漏洞检测与推荐方法及系统
CN107590073A (zh) 基于路径覆盖软件测试的测试用例自动生成方法
CN105893876A (zh) 芯片硬件木马检测方法和系统
Langdon et al. Inferring automatic test oracles
CN111949535B (zh) 基于开源社区知识的软件缺陷预测装置及方法
Gunaratne et al. Evolutionary model discovery of causal factors behind the socio-agricultural behavior of the ancestral Pueblo
CN112394973B (zh) 一种基于伪孪生网络的多语言代码剽窃检测方法
CN115935372A (zh) 一种基于图嵌入和双向门控图神经网络的漏洞检测方法
Polewski et al. Free Shape Context descriptors optimized with genetic algorithm for the detection of dead tree trunks in ALS point clouds
CN111444079B (zh) 一种软件缺陷修复方法及装置
Wang et al. A personalized self‐learning system based on knowledge graph and differential evolution algorithm
CN117574383A (zh) 一种基于特征融合和代码可视化技术的软件漏洞检测模型的方法
CN114064487A (zh) 一种代码缺陷检测方法
CN111898134B (zh) 基于LSTM和BiLSTM的智能合约漏洞检测方法和装置
CN105930272A (zh) 基于重要语句的分支覆盖测试数据生成方法
Goswami et al. TokenCheck: towards deep learning based security vulnerability detection in ERC-20 tokens
McMinn IGUANA: Input generation using automated novel algorithms. A plug and play research tool
Yang et al. Smart contract vulnerability detection based on abstract syntax tree
Zhou et al. Deeptle: Learning code-level features to predict code performance before it runs
CN115454473A (zh) 基于深度学习漏洞决策的数据处理方法及信息安全系统
Weng et al. Boosted backtracking search optimization with information exchange for photovoltaic system evaluation

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