CN110554952A - 一种基于搜索的分层回归测试数据生成方法 - Google Patents
一种基于搜索的分层回归测试数据生成方法 Download PDFInfo
- Publication number
- CN110554952A CN110554952A CN201810564743.XA CN201810564743A CN110554952A CN 110554952 A CN110554952 A CN 110554952A CN 201810564743 A CN201810564743 A CN 201810564743A CN 110554952 A CN110554952 A CN 110554952A
- Authority
- CN
- China
- Prior art keywords
- test data
- matrix
- target
- population
- node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
针对在回归测试中原有的测试数据集往往难以满足新版本软件的测试需求问题,提出一种基于搜索的分层回归测试数据生成方法。方法主要包含目标方法集获取模块和测试数据生成模块。对新版本程序进行抽象分析,提取出方法调用图,利用方法调用轨迹和已有测试数据建立方法覆盖信息,获取目标方法集,并通过计算贝叶斯条件概率对目标方法集进行优先选择;利用Hadamard矩阵设计正交种群,同时结合已有测试数据集进行种群初始化,采用基于种群的全局搜索和基于个体的局部搜索的文化基因算法对目标方法集生成测试数据。本发明通过利用从不同层次依次获取覆盖目标以及文化基因算法进行回归测试数据的生成,以提高测试数据集的覆盖率和检错能力,降低回归测试的成本。
Description
技术领域
本发明属于软件测试技术领域,特别是在回归测试技术领域,用于进行回归测试数据生成,提高回归测试原有数据集的覆盖率和缺陷检错能力,是一种回归测试数据生成优化方法。
背景技术
软件测试是提高软件质量和软件可靠性的重要手段,同时也可以提高被测软件的可信度。所谓回归测试,是指修改了程序代码后,对修改后程序重新测试,以确认修改过程中没有引入新的错误,或导致其他代码产生错误。
目前,回归测试研究往往被分为三大类:测试数据选择、测试数据修复和测试数据生成。其中,测试数据生成技术是指根据程序的新版本和现有测试数据生成新的测试数据,使得新测试数据可以覆盖新版本程序的修改部分和新增部分。与传统的测试数据生成不同,回归测试数据生成的特点是:新的测试数据只需要覆盖新版本软件修改和新增的部分,同时充分根据已有测试数据集和测试执行信息辅助生成新的测试数据集。
在软件生命周期中,由于频繁地对旧版本软件进行修改,使得原有测试数据集中某些测试数据不再满足新版本软件的测试需求,从而难以保证已有测试数据集可以识别到软件修改和新增部分,导致难以发现软件中存在的缺陷或潜在问题。为了补充已有测试数据集的完备性,则需要对原有测试数据集进行扩充,目前回归测试数据生成技术主要针对程序语句级别,分析发生改变的语句、分支或路径,但对于复杂软件而言语句级分析粒度过于精细导致复杂度过大,且将测试数据的覆盖率和测试数据生成效率作为最终评价,而忽视了测试数据的检错能力。
为此提出一种基于搜索的分层回归测试数据生成方法。方法主要包含目标方法集获取模块和测试数据生成模块。对新版本程序进行抽象分析,提取出方法调用图,利用方法调用图和已有测试数据建立程序执行信息,获取目标方法集,之后通过计算贝叶斯条件概率对目标方法集进行优先选择;利用H-矩阵设计正交种群,同时结合已有测试数据集进行种群初始化,采用基于种群的全局搜索和基于个体的局部搜索的文化基因算法对有序目标方法集生成测试数据。
发明内容
本发明要解决的问题是:现有回归测试数据生成技术中测试数据难以满足新版本软件测试需求问题,提出一种基于搜索的分层回归测试数据生成方法,从不同层次分析获取覆盖目标以及利用文化基因算法针对覆盖目标生成测试数据,以期提高测试数据检错能力、降低时间资源消耗的情况下,有效提高回归测试效率。
本发明的技术方案为:前期预处理采用程序方法调用图、方法覆盖息在方法级别分析程序可能引入错误或者新增部分,获取目标方法集;后期采用启发式搜索算法文化基因算法针对目标方法集进行回归测试数据生成。本发明的特征在于包括以下步骤:
(1)对于一个方法数目为n的新版本Java程序Pnew,采用Doxygen进行处理,得到方法调用图FunCall.html文件;用Jsoup对FunCall.html中的元素类名"dynheader"下的标签area为″id=nodei,title=className.fName,href=xx.html#id"的语句进行解析,其中nodei(1≤i≤n)为方法调用图的节点,className.fName为id对应的类名.方法名,xx.html#id是被调用的方法信息,其中id为被调用方法的名称;解析area中的语句信息,可以将方法调用轨迹信息抽象表示为方法调用矩阵M,若方法i和j之间存在调用关系,则矩阵元素mij=1,否则mij=0;对M进行遍历,用countCall数组统计每个方法的被调用次数c,将c作为每个节点出边权值wk(1≤k≤n),更新矩阵元素mij;将FunCall.html文件中满足id=nodei和title=className.fName的节点信息作为Mapping.txt的一条记录;
(2)利用步骤(1)得到的矩阵M,对Pnew执行原有测试数据集T并收集方法覆盖信息,该方法覆盖信息采用二维矩阵A来表示为:
其中,第i(1≤i≤m)行为方法f1,f2,…,fm,第j(1≤j≤n)列为测试数据t1,t2,…,tn,如果测试数据tj覆盖了方法fi,则aij=1,否则aij=0;用向量v=[v1,…,vi,…vm]表示测试数据的执行结果,其中元素vi表示第j个测试数据的执行结果:如果成功,则vj=1,否则vj=0;遍历矩阵A,得到目标方法集合ck={ci∈A|aij=0∩(aij=1∧vi=0)};
(3)假定方法是相互独立的,通过贝叶斯定理计算出方法集ck的条件概率P(ck|v),即目标方法包含错误的概率为:
其中,wk是第k(1≤k≤n)个节点入边权值,从P(v)是一个标准化常数,由所有ck定义,无需直接计算,由于每次执行都是独立的,故其中P(vi|ck)定义为:
其中,ε定义为:
其中,hj∈[0,1]表示方法j不包含错误的概率,在上述定义中,假定p=0.01,即假定源程序大部分方法都没有引入错误,其中M为方法的个数,|ck|是目标方法集ck包含方法的个数;将ε和P(vi|ck)代入P(v|ck),可以得到P(v|ck)关于hj的表达式,hj是通过最大似然估计H=mHax(P(v|ck))得到的,其中H={hj∈[0,1]|j∈ck};将得到的P(v|ck),P(ck)代入到P(ck|v)的计算公式中,将ck按照P(ck|v)值递增的顺序进行排列,得到有序目标方法集c'k={fname1,fname2,…fnamen}(1≤k≤n);
(4)利用步骤(1)得到的Mapping.txt,查找c'k中fname1对应的名为className的class文件,调用静态分析工具soot对该class文件进行分析,得到方法fname1的控制流数据Control.dot,Control为方法名称;Control.dot文件由集合T表示为T={label,fillcolor,Si→Sj},其中label为该方法的名称或方法中的语句,label="VarNumi:var=value",VarNumi(1≤i≤n)为语句行号,var为变量名,value为变量值,fillcolor={gray,lightgray},gray表示为开始节点,hightgray为结束节点,Si→Sj为语句Si和Sj的依赖指向关系,对c'k中的fnamek对应每个class文件进行静态分析可得到方法fnamek的Control.dot文件;
(5)扫描Control.dot,若label中包含goto标签的语句,则分支计数器b累加1,可得到理论路径数目为2b以及理论路径集Path={p1,p2,p3…,p2b},其中任意一条路径pi表示为pi=gray-B-lightgrap,B={1,2,3,…n}表示路径分支节点集;在理论路径集Path中选取路径pi=gray-1-2-…-n-lightgray作为目标路径,同时为目标路径中每个节点插入分支函数,得到最终的目标路径为:tpi=gray-1-f1(0)-2-f2(1)-…-n-fb(n-1)-lightgray;根据分支函数设计适应度函数为:fitness(x)=1-1.001-f(x),其中,
(6)一个n×n阶的H-矩阵可以表示为:
H×HT=HT×H=nI
其中,H-矩阵的所有矩阵元素取值为+1或-1,I为单位矩阵,2n阶的H-矩阵表示为:
利用H-矩阵建立正交数组Lm(jn),其中m为正交数组的行数,表示测试次数或测试用例数,n为正交数组的列数,表示被测对象的个数,j为正交数组中的码数,表示被测对象的位级数,当位级数为2时,正交数组只有0或1两种取值;建立Lm(jn)首先需要设计一个阶数为k的矩阵Hk,其中N=max{pm,pn},pm为种群个数,pn为被测对象数;接着对Hk的行进行从小到大排序并且删除Hk中元素全为0的第一列,形成矩阵Hk×k-1并将Hk×k-1转化成正交数组Lk(2k-1);最后采用正交数组Lk(jk-1)设计正交种群,再使用正交种群和已有测试数据集进行种群初始化操作;
(7)对步骤(6)中的初始群体进行编码,采用文化基因算法,迭代生成覆盖目标方法中理论路径集中的测试数据;使用步骤(5)中适应度函数计算初始种群P(0)中个体的适应性评价种群,即fitness(P(0));若达到最大迭代次数或者测试数据覆盖到目标路径,则输出测试数据;转到步骤(4),选取c'k中下一个目标方法fnamek,直至k=n时停止迭代,否则对种群交替进行竞争、协作和局部搜索操作,直到满足输出条件。
2、根据权利要求1所述的一种基于搜索的分层回归测试数据生成方法,其特征在于:该方法可以应用于Java程序回归测试数据生成,分析发生可能引入错误或者新增方法进而对其生成测试数据,以提高测试数据集的覆盖率和缺陷检错能力,降低软件测试成本。
本发明通过从Java程序获取方法调用图抽象方法调用矩阵,根据方法调用矩阵和已有测试数据建立程序执行信息获取目标方法集,之后通过计算贝叶斯条件概率对目标方法集进行优先选择;采用H-矩阵设计正交种群和部分原有测试数据集进行种群初始化,最后结合初始种群采用文化基因算法对目标方法集依次进行分析获取目标路径集进而生成测试数据。该回归测试数据生成方法,将分析新版本程序发生改变部分的粒度提到方法级别,先从方法级别分析出可能引入错误和新增部分作为覆盖目标方法集,即提取方法调用图.html文件,根据方法调用矩阵和原有测试数据建立程序执行信息,再利用贝叶斯概率计算方法中可能存在错误的概率,按照概率值的大小进行方法优先选择,得到有序目标方法集c'k={fname1,fname2,…fnamen}(1≤k≤n),再从语句级别提取覆盖目标,即对目标方法集中的方法依次进行静态分析得到控制流图.dot文件,得到理论路径集选取目标路径,最后针对目标路径采用文化基因算法,生成覆盖目标路径的测试数据。该回归测试数据生成方法,可以应用于回归测试,提高回归测试效率。
附图说明
图1是本发明方法的流程图
图2是验证方法的一个Java实例程序
图3是从Java实例程序中提取的方法调用关系组织结构图
图4是从方法调用关系中提取的方法调用矩阵
图5是从class文件中提取的部分方法控制流信息
图6是测试数据生成模块框架图
图7是利用本发明对工业程序空中防撞系统Tcas进行回归测试数据生成与其他三种方法的覆盖率对比图
具体实施方式
以图2的实例程序为例来说明本发明的具体实施过程。
如图1,本发明前期预处理采用程序方法调用图、程序执行信息分析获取覆盖目标方法集,后期采用文化基因算法进行回归测试数据生成,具体步骤如下:
(1)对图2所示程序源代码.java文件用Doxygen工具抽取方法调用图.html文件,如图3所示,用Jsoup解析.html文件,得到方法调用关系矩阵,遍历矩阵更新矩阵元素得到加权方法调用关系矩阵,如图4所示,其中0表示两节点之间无有向边,1表示两节点之间存在行节点到列节点的有向边,2表示返回;
(2)结合原有测试数据集t1=(1,2,3)、t2=(3,4,5)、t3=(3,3,3)、t4=(3,3,4)和方法调用轨迹建立程序执行信息获取覆盖目标方法集,程序执行信息如表1所示,获取覆盖目标方法集为ck={<f4,f6>|<f8>};
表1程序执行信息
(3)利用贝叶斯概率计算每个方法可能含有错误的概率,通过最大似然估计得到h4=0.6,h6=0.8,h8=0,最后可得目标方法包含错误的概率为:P(c4|v)=0.042367,P(c6|v)=0.372826,P(c8|v)=0;按照值的大小进行方法排序,得到有序覆盖目标方法集为Ck={f6,f4,f8};
(4)如图1所示,将Ck={f6,f4,f8}和源码作为测试数据生成模块的输入,测试数据生成模块架构如图7所示,利用soot工具分析f6得到控制流图diffOfBorders.dot文件,结果如图6所示,分析得到理论路径数为21=2,则目标路径集为path={p1,p2},其中,p1=0-1-2-3-4-5-6-7-8,p1=0-1-2-3-4-7-8,其中,节点0的为开始节点标签fillcolor=gray,节点8为结束节点标签fillcolor=lightgray,依次首先选择p1为目标路径,插入分支函数f[4]=a>b?0:b-a+0.1,其中分支函数插入规则采用分支距离法,如表2所示:
表2不同分支条件距离函数
则插入分支函数的源码为:
(5)设计正交种群和部分原有测试数据初始化种群;初始化种群个数为m=8,被测对象个数为n=3,则即产生一个H8的H-矩阵且对其行按Walsh值从小到大排序,即:
接着删除H8的第一列,即为H8×7:
最后将矩阵H8×7转换成
则正交种群为:P(0)={{0,0,0},{1,2,3},{2,5,6},{1,4,5},{3,4,7},{3,5,6},{2,5,7},{2,4,6}},结合已有测试数据集中t3=(3,3,3)和t4=(3,3,4)进行种群初始化;
(6)计算种群的适应性,如果适应度值为0,则满足条件,输出覆盖目标路径的测试数据,否则,对种群交替进行竞争、协作和局部搜索操作,直到满足输出条件;继续在理论路径集中选择下一条目标路径进行静态分析生成覆盖目标路径的测试数据;接着选取有序覆盖目标方法下一个方法,直至方法集为φ,则停止算法;
通过以上过程可以识别出可能引入错误或新增的方法集合并对目标方法依次分析进行回归测试数据生成。用不同方法对四个基准程序,分别是三角形判定分类程序Triangle、西门子工业程序集中的Schedule和Tcas以及程序NextDay,其基本信息如表3所示:
表3测试程序信息
选择基于遗传算法(GA)和基于粒子群算法(PSO)以及随机法与本方法进行比较,在相同条件下分别运行每种方法,记录其生成测试数据时的迭代次数和耗时,实验结果如表4所示:
表4实验结果(迭代次数和耗时)
以表4中空中防撞系统Tcas为例,相比遗传算法需要平均迭代189.3次、运行时间6.513s,粒子群算法平均迭代49.1次、运行时间3.235s,以及随机法未能在规定的最大迭代次数中完成测试要求,本方法只需要迭代26.9次、运行时间0.972s即可生成覆盖目标方法体中目标路径的测试数据。综合各种测试数据生成方法在不同基准程序的扩增效率,本方法与基于粒子群算法和基于遗传算法以及随机法的测试数据生成方法相比,测试数据生成效率平均分别提高了约50.5%和78.2%以及95.2%。由此可看出本发明生成回归测试数据的效率。而且,通过多次运行结果求得的标准差可以看出,本发明在稳定性方面也具有较好的优势。
在同条件下,在实验源码中使用MuJava工具注入变异体,用四种方式生成的测试数据分别运行变异程序计算得出变异分数,变异分数=(杀死的变异体个数/注入的变异体个数)*100,得出平均变异分数如表5所示,本文方法与随机法、遗传法和粒子群法相比,测试数据检错能力平均分别提高了约47.9%和33.6%以及18.2%:
表5变异分数
同时从测试数据的覆盖率评价不同回归测试数据生成方法。以空中防撞系统Tcas为例,不同方法生成的测试数据路径覆盖率如图7所示。由图7可以看出,本文方法与其他三种相比有明显的优势。
通过上述实例验证,可以看出从不同层次分析获取覆盖目标,以及利用正交种群结合基于搜索的文化基因算法进行回归测试数据生成方法能够有效地提高测试数据的覆盖率和检错能力,提高回归测试效率。
Claims (2)
1.一种基于搜索的分层回归测试数据生成方法,其特征在于包括以下步骤:
(1)对于一个方法数目为n的新版本Java程序Pnew,采用Doxygen进行处理,得到方法调用图FunCall.html文件;用Jsoup对FunCall.html中的元素类名"dynheader"下的标签area为”id=nodei,title=className.fName,href=xx.html#id"的语句进行解析,其中nodei(1≤i≤n)为方法调用图的节点,className.fName为id对应的类名.方法名,xx.html#id是被调用的方法信息,其中id为被调用方法的名称;解析area中的语句信息,可以将方法调用轨迹信息抽象表示为方法调用矩阵M,若方法i和j之间存在调用关系,则矩阵元素mij=1,否则mij=0;对M进行遍历,用countCall数组统计每个方法的被调用次数c,将c作为每个节点出边权值wk(1≤k≤n),更新矩阵元素mij;将FunCall.html文件中满足id=nodei和title=className.fName的节点信息作为Mapping.txt的一条记录;
(2)利用步骤(1)得到的矩阵M,对Pnew执行原有测试数据集T并收集方法覆盖信息,该程序执行信息采用二维矩阵A来表示为:
其中,第i(1≤i≤m)行为方法f1,f2,…,fm,第j(1≤j≤n)列为测试数据t1,t2,…,tn,如果测试数据tj覆盖了方法fi,则aij=1,否则aij=0;用向量v=[v1,…,vi,…vm]表示测试数据的执行结果,其中元素vi表示第j个测试数据的执行结果:如果成功,则vj=1,否则vj=0;遍历矩阵A,得到目标方法集合ck={ci∈A|aij=0∩(aij=1∧vi=0)};
(3)假定方法是相互独立的,通过贝叶斯定理计算出方法集ck的条件概率P(ck|v),即目标方法包含错误的概率为:
其中,wk是第k(1≤k≤n)个节点入边权值,从P(v)是一个标准化常数,由所有ck定义,无需直接计算,由于每次执行都是独立的,故其中P(vi|ck)定义为:
其中,ε定义为:
其中,hj∈[0,1]表示方法j不包含错误的概率,在上述定义中,假定p=0.01,即假定源程序大部分方法都没有引入错误,其中M为方法的个数,|ck|是目标方法集ck包含方法的个数;将ε和P(vi|ck)代入P(v|ck),可以得到P(v|ck)关于hj的表达式,hj是通过最大似然估计得到的,其中H={hj∈[0,1]|j∈ck};将得到的P(v|ck),P(ck)代入到P(ck|v)的计算公式中,将ck按照P(ck|v)值递增的顺序进行排列,得到有序目标方法集c'k={fname1,fname2,…fnamen}(1≤k≤n);
(4)利用步骤(1)得到的Mapping.txt,查找c'k中fname1对应的名为className的class文件,调用静态分析工具soot对该class文件进行分析,得到方法fname1的控制流数据Control.dot,Control为方法名称;Control.dot文件由集合T表示为T={label,fillcolor,Si→Sj},其中label为该方法的名称或方法中的语句,label="VarNumi:var=value",VarNumi(1≤i≤n)为语句行号,var为变量名,value为变量值,fillcolor={gray,lightgray},gray表示为开始节点,hightgray为结束节点,Si→Sj为语句Si和Sj的依赖指向关系,对c'k中的fnamek对应每个class文件进行静态分析可得到方法fnamek的Control.dot文件;
(5)扫描Control.dot,若label中包含goto标签的语句,则分支计数器b累加1,可得到理论路径数目为2b以及理论路径集其中任意一条路径pi表示为pi=gray-B-lightgrap,B={1,2,3,…n}表示路径分支节点集;在理论路径集Path中选取路径pi=gray-1-2-…-n-lightgray作为目标路径,同时为目标路径中每个节点插入分支函数,得到最终的目标路径为:tpi=gray-1-f1(0)-2-f2(1)-…-n-fb(n-1)-lightgray;根据分支函数设计适应度函数为:fitness(x)=1-1.001-f(x),其中,
(6)一个n×n阶的H-矩阵可以表示为:
H×HT=HT×H=nI
其中,H-矩阵的所有矩阵元素取值为+1或-1,I为单位矩阵,2n阶的H-矩阵表示为:
利用H-矩阵建立正交数组Lm(jn),其中m为正交数组的行数,表示测试次数或测试用例数,n为正交数组的列数,表示被测对象的个数,j为正交数组中的码数,表示被测对象的位级数,当位级数为2时,正交数组只有0或1两种取值;建立Lm(jn)首先需要设计一个阶数为k的矩阵Hk,其中N=max{pm,pn},pm为种群个数,pn为被测对象数;接着对Hk的行进行从小到大排序并且删除Hk中元素全为0的第一列,形成矩阵Hk×k-1并将Hk×k-1转化成正交数组Lk(2k-1);最后采用正交数组Lk(jk-1)设计正交种群,再使用正交种群和已有测试数据集进行种群初始化操作;
(7)对步骤(6)中的初始群体进行编码,采用文化基因算法,迭代生成覆盖目标方法中理论路径集中的测试数据;使用步骤(5)中适应度函数计算初始种群P(0)中个体的适应性评价种群,即fitness(P(0));若达到最大迭代次数或者测试数据覆盖到目标路径,则输出测试数据;转到步骤(4),选取c'k中下一个目标方法fnamek,直至k=n时停止迭代,否则对种群交替进行竞争、协作和局部搜索操作,直到满足输出条件。
2.根据权利要求1所述的一种基于搜索的分层回归测试数据生成方法,其特征在于:该方法可以应用于Java程序回归测试数据生成,分析发生可能引入错误或者新增方法进而对其生成测试数据,以提高测试数据集的覆盖率和检错能力,降低软件测试成本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564743.XA CN110554952B (zh) | 2018-06-04 | 2018-06-04 | 一种基于搜索的分层回归测试数据生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564743.XA CN110554952B (zh) | 2018-06-04 | 2018-06-04 | 一种基于搜索的分层回归测试数据生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110554952A true CN110554952A (zh) | 2019-12-10 |
CN110554952B CN110554952B (zh) | 2023-01-20 |
Family
ID=68736031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810564743.XA Active CN110554952B (zh) | 2018-06-04 | 2018-06-04 | 一种基于搜索的分层回归测试数据生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110554952B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666221A (zh) * | 2020-07-03 | 2020-09-15 | 西安邮电大学 | 基于天牛须搜索的软件测试数据集扩增方法 |
CN111881654A (zh) * | 2020-08-01 | 2020-11-03 | 牡丹江师范学院 | 一种基于多目标优化的刑罚测试数据扩增方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908020A (zh) * | 2010-08-27 | 2010-12-08 | 南京大学 | 一种基于分类挖掘和版本变更的测试用例优先化方法 |
CN102750153A (zh) * | 2012-06-29 | 2012-10-24 | 南京大学 | 一种基于程序变更的回归测试用例集构建方法 |
CN102831060A (zh) * | 2012-08-24 | 2012-12-19 | 东南大学 | 一种基于修改影响分析的部件软件回归测试用例更新方法 |
CN102915271A (zh) * | 2012-10-31 | 2013-02-06 | 北京邮电大学 | 基于控制流图的单元回归测试用例集合优化方法 |
CN105718368A (zh) * | 2016-01-15 | 2016-06-29 | 西安邮电大学 | 一种软件测试数据扩增方法 |
CN105760295A (zh) * | 2015-12-28 | 2016-07-13 | 天津大学 | 基于搜索算法的多缺陷定位方法 |
US20160299835A1 (en) * | 2015-04-08 | 2016-10-13 | Opshub, Inc. | Method and system for providing delta code coverage information |
US20170024403A1 (en) * | 2015-06-21 | 2017-01-26 | Dan Tocchini | System and Method for Dynamic Predictive Analytics for Pattern Search and Publishing Engine for Responsive Graphical Design |
-
2018
- 2018-06-04 CN CN201810564743.XA patent/CN110554952B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908020A (zh) * | 2010-08-27 | 2010-12-08 | 南京大学 | 一种基于分类挖掘和版本变更的测试用例优先化方法 |
CN102750153A (zh) * | 2012-06-29 | 2012-10-24 | 南京大学 | 一种基于程序变更的回归测试用例集构建方法 |
CN102831060A (zh) * | 2012-08-24 | 2012-12-19 | 东南大学 | 一种基于修改影响分析的部件软件回归测试用例更新方法 |
CN102915271A (zh) * | 2012-10-31 | 2013-02-06 | 北京邮电大学 | 基于控制流图的单元回归测试用例集合优化方法 |
US20160299835A1 (en) * | 2015-04-08 | 2016-10-13 | Opshub, Inc. | Method and system for providing delta code coverage information |
US20170024403A1 (en) * | 2015-06-21 | 2017-01-26 | Dan Tocchini | System and Method for Dynamic Predictive Analytics for Pattern Search and Publishing Engine for Responsive Graphical Design |
CN105760295A (zh) * | 2015-12-28 | 2016-07-13 | 天津大学 | 基于搜索算法的多缺陷定位方法 |
CN105718368A (zh) * | 2016-01-15 | 2016-06-29 | 西安邮电大学 | 一种软件测试数据扩增方法 |
Non-Patent Citations (3)
Title |
---|
XIAOBIN ZHAO: "A Clustering-Bayesian Network Based Approach for Test Case Prioritization", 《2015 IEEE 39TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 * |
郑炜等: "基于变异分析和覆盖准则的回归测试用例集缩减", 《西北工业大学学报》 * |
陈翔等: "回归测试中的测试用例优先排序技术述评", 《软件学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666221A (zh) * | 2020-07-03 | 2020-09-15 | 西安邮电大学 | 基于天牛须搜索的软件测试数据集扩增方法 |
CN111666221B (zh) * | 2020-07-03 | 2022-09-27 | 西安邮电大学 | 基于天牛须搜索的软件测试数据集扩增方法 |
CN111881654A (zh) * | 2020-08-01 | 2020-11-03 | 牡丹江师范学院 | 一种基于多目标优化的刑罚测试数据扩增方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110554952B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Ridge and lasso regression models for cross-version defect prediction | |
Cai et al. | Active learning for graph embedding | |
Xia et al. | Collective personalized change classification with multiobjective search | |
Kessentini et al. | Search-based design defects detection by example | |
Kaur et al. | An empirical study of software entropy based bug prediction using machine learning | |
Ruan et al. | Global Robustness Evaluation of Deep Neural Networks with Provable Guarantees for the $ L_0 $ Norm | |
Du et al. | Marble: Model-based robustness analysis of stateful deep learning systems | |
Falessi et al. | The impact of dormant defects on defect prediction: A study of 19 apache projects | |
CN110554952B (zh) | 一种基于搜索的分层回归测试数据生成方法 | |
Sun et al. | Effectiveness of exploring historical commits for developer recommendation: an empirical study | |
Yedida et al. | An expert system for redesigning software for cloud applications | |
Bodenmann et al. | Accounting for path and site effects in spatial ground-motion correlation models using Bayesian inference | |
Otten et al. | A case study in complexity estimation: Towards parallel branch-and-bound over graphical models | |
CN110502669A (zh) | 基于n边dfs子图的轻量级无监督图表示学习方法及装置 | |
CN116361788A (zh) | 一种基于机器学习的二进制软件漏洞预测方法 | |
KR102531742B1 (ko) | 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치 | |
Dang et al. | Multi-task optimization-based test data generation for mutation testing via relevance of mutant branch and input variable | |
Becker et al. | Identifying business process activity mappings by optimizing behavioral similarity | |
Molik et al. | Combining natural language processing and metabarcoding to reveal pathogen-environment associations | |
US20220188647A1 (en) | Model learning apparatus, data analysis apparatus, model learning method and program | |
Qian et al. | A strategy for multi-target paths coverage by improving individual information sharing | |
Ji et al. | Improving Oracle-Guided Inductive Synthesis by Efficient Question Selection | |
Wu et al. | DeepCov: Coverage Guided Deep Learning Framework Fuzzing | |
De Oliveira et al. | On the conceptual cohesion of co-change clusters | |
Zhongsheng et al. | A plug-in test case generation method based on contact layer proximity and node probability coverage |
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 |