一种基于改进和声搜索算法的回归测试用例选择方法

文档序号:6633824阅读:388来源:国知局
一种基于改进和声搜索算法的回归测试用例选择方法
【专利摘要】本发明公开了一种基于改进和声搜索算法的回归测试用例选择方法,包括如下步骤:首先在选定的测试用例集合中筛选出覆盖本次修改的敏感函数的测试用例。然后,根据选择的测试用例,选择适当的用例选择数学模型,确定模型的目标函数;使用改进的,带有一优秀和声元库EEL的和声搜索算法对所述的测试用例进行优化选择。优秀和声元库EEL每隔一定的搜索代数更新一次;其中存储有优秀和声元;所述的优秀和声元包括:总目标最优和声与次优和声的和声元组成的集合的交集;各个子目标最优和声与次优和声的和声元组成的集合的交集。
【专利说明】一种基于改进和声搜索算法的回归测试用例选择方法

【技术领域】
[0001] 本发明涉及一种回归测试中用例的选择方法,尤其涉及一种基于改进和声搜索算 法的回归测试用例选择方法。涉及专利分类号G06计算;推算;计数G06F电数字数据处理 G06F11/00错误检测;错误校正;监控G06F11/36通过软件的测试或调试防止错误。

【背景技术】
[0002] 回归测试是指对现有软件进行修改后,重新进行测试,以确认修改没有引入新的 错误或对现有未修改的模块产生副作用。回归测试作为软件生命周期的一个重要的组成部 分,在整个软件测试过工作占有相当大的比重,对保证软件质量具有重要意义。
[0003] 在软件的生命周期中,为了修复软件错误或应对客户的需求变更,会被频繁地修 改和不断推出新的版本,从而导致测试用例库中积累的测试用例数量急剧增加。由于软件 的一次修改中,改动的模块有限,当前基线测试用例库中,会存在相当数量对本次修改的模 块不敏感的测试用例,它们的错误发掘能力微乎其微。为了提高回归测试效率,需要针对本 次修改,从测试用例库中选出具有较强回归错误发掘能力的测试用例集,这就是测试用例 选择问题。


【发明内容】

[0004] 本发明针对回归测试中用例优化选择的问题,而提出的一种基于改进和声搜索算 法的回归测试用例选择方法,包括如下步骤:
[0005] 首先在选定的测试用例集合中筛选出覆盖本次修改的敏感函数的测试用例。
[0006] 然后,根据选择的测试用例,选择适当的用例选择数学模型,确定模型的目标函 数;使用改进的,带有一优秀和声元库EEL的和声搜索算法对所述的测试用例进行优化选 择。
[0007] 优秀和声元库EEL每隔一定的搜索代数更新一次;其中存储有优秀和声元;所述 的优秀和声元包括:总目标最优和声与次优和声的和声元组成的集合的交集;各个子目标 最优和声与次优和声的和声元组成的集合的交集。
[0008] 通过设置优秀和声元库EEL,可以在大量的测试用例中,选择针对本次修改敏感而 且具有较强回归错误发掘能力的测试用例集,避免了传统回归测试中需要针对大量非敏感 测试用例的运行,提升了回归测试效率,降低了测试成本。
[0009] 更进一步的,相对于传统的和声搜索算法,带有优秀和声元库EEL的和声搜索算 法,新和声元的生成方式也不同,主要方式如下:
[0010] A以概率HMCROriginally从和声记忆库HM中选择;
[0011] B以概率HMCRBest从优秀和声元库EEL中选择;
[0012] C以概率I-HMCRBest-HMCROriginally随机从决策变量的取值范围中选出一个;
[0013] D以概率(HMCRBest+HMCROriginally) XPAR从记忆库或优秀和声兀库中选择并 进行首1?调节: CN104317721A 说明书 2/6页

【权利要求】
1. 一种基于改进和声搜索算法的回归测试用例选择方法,具有如下步骤: 一在选定的测试用例集合中筛选出覆盖本次修改的敏感函数的测试用例; 一依据回归测试用例选择数学模型,确定目标函数;使用具有优秀和声元库EEL的和 声搜索算法对所述的测试用例进行优化选择;算法迭代结束时和声记忆库中保留的和声, 即为本次回归测试的优选测试用例; 所述的优秀和声元库EEL每隔一定的搜索代数更新一次;其中存储有优秀和声元;所 述的优秀和声元包括:总目标最优和声与次优和声的和声元组成的集合的交集;各个子目 标最优和声与次优和声的和声元组成的集合的交集。
2. 根据权利要求1所述的基于改进和声搜索算法的回归测试用例选择方法,其特征还 在于当所述的优秀和声元库中存在优秀和声元时,新和声元的生成方式如下: A以概率HMCROriginally从和声记忆库HM中选择; B以概率HMCRBest从优秀和声元库EEL中选择; C以概率I-HMCRBest-HMCROriginally随机从决策变量的取值范围中选出一个; D以概率(HMCRBest+HMCROriginally) XPAR从记忆库或优秀和声元库中选择并进行 首商调节: λ;.(Α〇€ iA:.(l),A:.(2),....r.(A:,.)! w.p. RRi!mhm x"ew < xAk)e {x),xf,-xfMS} w.p. RMemo>y ' X,-(k) & {xl,xf,...xfELS} W.p. ^Excellent χ,.(?±Β\¥) w.p. Rpitch 其中:Rtondom = 1_HMCRBest-HMCROriginally,RMemOTy = HMCROriginalIy,RExcellent = HMCRBest,Rpiteh= (HMCRBest+HMCROriginally) XPAR,EELS 表示优秀和声库中的和声数 量,HMS表示和声记忆库HM中的和声元数量,PAR为扰动概率。
3. 根据权利要求1或2所述的基于改进和声搜索算法的回归测试用例选择方法,其特 征还在于:和声搜索算法中调整步长BW (gn)自适应调节: 、 MaxBW -\ ; MaxGif-MaxBW BlV(gn)=-;--gn~ +-;- MaxGn' - I MaxGη -1 式中:MaxBW表示设定的调整步长参数最大值;MaxGn表示搜索停止代数;MaxGn3是 MaxGn的立方,假设设定的搜索代数是10,则MaxGn3 = IO3 = 1000。
4. 根据权利要求1所述的基于改进和声搜索算法的回归测试用例选择方法,其特征还 在于筛选覆盖本次修改的敏感函数的测试用例步骤之前还包括对待测的代码进行变更分 析: 一将代码分解成单个函数,对所述函数的语句进行标准化,将有效语句划为每行一条 语句; 一对标准化处理后的新旧版本源文件进行静态分析,得到: 至少包含代码变更的函数FunChanged和调用所述变更的函数FunChanged的函数,即 与变更函数有稱合关系的函数FunCoupling的敏感函数、软件核心函数。
5. 根据权利要求1所述的基于改进和声搜索算法的回归测试用例选择方法,其特征还 在于:对待进行回归测试的程序进行源代码插桩,插入源代码的桩探针负责收集测试用例 信息,并将捕获到的测试用例的执行路径、执行时间及覆盖函数的信息存放到数据库中得 到所述的测试用例集合。
6. 根据权利要求1所述的基于改进和声搜索算法的回归测试用例选择方法,其特征还 在于具有对得到的新和声Xmw进行评价步骤: 如果Xnrat优于当前和声记忆库中的最差和声Xwwst,并且和声库中不存在与Xmw相同的 和声,则用Xnrat替换Xwwst; 如果和声记忆库中的最优和声的适应度小于TBest的适应度,则用TBest取代和声记 忆库中的最差和声;Tbest为从优化开始以来,搜索到的最优和声。
7. 根据权利要求6所述的基于改进和声搜索算法的回归测试用例选择方法,其特征还 在于具有消除重复出现和声元的调整规则: 按照测试覆盖率由小到大的顺序对敏感函数进行排序得到函数序列Funs = (F1, F2, "^Fn),然后按照Fl至Fn的顺序依次选出覆盖Funs中函数的测试用例来替换相同的 和声元,直至该和声满足要求。
【文档编号】G06F17/30GK104317721SQ201410637810
【公开日】2015年1月28日 申请日期:2014年11月12日 优先权日:2014年11月12日
【发明者】黄明, 郭书杰, 梁旭 申请人:大连交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1