一种多任务软件测试用例进化生成方法技术

技术编号:28295311 阅读:42 留言:0更新日期:2021-04-30 16:19
本发明专利技术公布了一种多任务软件测试用例进化生成方法,目的依据变异分支与程序路径的可执行性,将变异测试问题转化为传统的覆盖路径测试问题,采用多任务并行方式高效生成具有缺陷检测能力的测试用例。首先静态分析变异分支与程序路径的执行相关性,将所属执行路径相同的变异分支分为同一组;然后,对多组变异分支建立基于路径覆盖的变异测试用例生成多任务优化模型;最后,利用多种群遗传算法求解该模型,采用多任务并行方式高效生成具有缺陷检测能力的测试用例。本发明专利技术将变异分支依所属路径进行分组,采用传统成熟的路径测试方法,有助于提高软件测试的效率,生成具有高缺陷检测能力的测试用例。

【技术实现步骤摘要】
一种多任务软件测试用例进化生成方法
本专利技术涉及计算机软件测试领域,具体是一种多任务软件测试用例进化生成方法。
技术介绍
软件测试是指通过人工或自动的方法,检测某个软件或软件系统的缺陷。变异测试是一种强大但昂贵的测试技术,特别是对于杀死大量变异体的测试数据获取非常困难。变异分支是由原语句和它的变异语句组成的。变异分支的真分支被一个测试数据覆盖,表明在弱变异测试准则下,相应的变异被杀死。一个被测程序一般会产生很多变异体,为了杀死这些变异体,也需要大量的测试用例;而且,这些测试用例需要同时执行原程序和变异体,因此,变异测试的效率通常很低。为了克服上述缺陷,Papadakis等人在2011年《SoftwareQualityJournal》第19期发表的文章“Automaticallyperformingweakmutationwiththeaidofsymbolicexecution,concolictestingandsearch-basedtesting”一文提出一种新的软件测试方法。他们基于弱变异测试准则杀死变异体的问题,转化为变异条本文档来自技高网...

【技术保护点】
1.一种多任务软件测试用例进化生成方法,其特征在于:该方法包括以下步骤:/nS1:基于所属路径执行的相关性分组变异分支,即静态分析变异分支与程序路径的执行相关性,将所属执行路径相同的变异分支分为同一组,具体为:/n设被测程序为G,G的可执行路径集合为P={P

【技术特征摘要】
20200803 CN 2020107704059;20201009 CN 2020110724111.一种多任务软件测试用例进化生成方法,其特征在于:该方法包括以下步骤:
S1:基于所属路径执行的相关性分组变异分支,即静态分析变异分支与程序路径的执行相关性,将所属执行路径相同的变异分支分为同一组,具体为:
设被测程序为G,G的可执行路径集合为P={P1,P2,…},记路径其中si为Pi上的某一语句,si+1为si的后继语句;对si实施变异,得到变异分支Mj,Mj的真分支表示为Mj(1);
S1.1:通过静态分析判断Mj(1)与si+1的执行关系;如果Mj(1)执行,si+1也能执行,那么在Pi上将Mj,Mj(1)插入si的前面,得到路径能够判断P′i也是可执行性路径;
S1.2:如果Mj(1)执行,si+1一定不执行,那么在P中寻找路径Pj,Pj包含si,且si的后继语句sj≠si+1。然后,通过静态分析判断Mj(1)执行与sj执行关系;如果Mj(1)执行,sj也能执行,在Pj上将Mj(1)插入到si前面,得到P′j;
S1.3:对Pi上的其他语句实施变异,得到一些变异分支,按照S1.1和S1.2中的方法判断执行关系,插入到Pi或其他路径上;对于P′i,对应的变异分支集合,记为其中|P′i|为变异分支个数,则P′i可以表示为
S1.4:对P中不同路径的语句实施变异,将这些生成的变异分支插入到G,得到新的被测程序G',并得到包含变异分支的新路径集合P'={P′1,P′2,…,P′q},q为路径的个数,所有变异分支基于所属路径的执行关系被分成q组;
S2:构建变异测试用例生成多任务优化模型,即对多组变异分支建立基于路径覆盖的变异测试用例生成多任务优化模型,具体方法为:
将生成杀死的测试用例问题转化为覆盖路径P′i的测试用例问题,覆盖P′i的测试用例生成的优化模型,可以表示为:
max(...

【专利技术属性】
技术研发人员:党向盈巩敦卫姚香娟鲍蓉姜代红阮少伟陈磊厉丹李子龙包季楠袁偲朕
申请(专利权)人:徐州工程学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1