一种基于分支覆盖与相似性的回归测试用例优先排序方法转让专利

申请号 : CN201510884000.7

文献号 : CN105528289B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王荣存姜淑娟张磊张艳梅薛猛王兴亚

申请人 : 中国矿业大学

摘要 :

本发明提供一种基于分支覆盖与相似性的回归测试用例优先排序方法,包括下列步骤:1)收集测试用例运行时的剖面信息,并构造分支覆盖向量;2)通过欧式距离函数计算成对的向量之间的距离,并构造测试用例间的相异度矩阵;3)以测试用例为顶点,测试用例之间的连线、距离分别作为边及其边权重,构建测试用例不相似有限完全图。通过蚁群算法在图中寻找具有最长距离的测试用例优先排序序列。本发明解决了目前存在的回归测试用例优先排序方法错误发现效率不高,结果的稳定性较差等问题,不仅大幅提高了回归测试错误发现效率、稳定性以及可扩展性,而且也提升了软件回归测试的自动化程度,进而提高了软件测试工作效率。

权利要求 :

1.一种基于分支覆盖与相似性的回归测试用例优先排序方法,其特征在于,在待测程序上运行所有的测试用例,获得每一个测试用例的执行剖面;执行剖面为测试用例在执行过程中所覆盖的分支向量,如果分支被覆盖则在向量中的值为1,反之则为0;通过欧式距离函数计算成对的分支覆盖向量的距离,将该距离作为与剖面对应的测试用例之间的距离;

根据测试用例多样性理论,定义目标函数模型并采用蚁群算法对回归测试用例进行优先排序;该方法包括下列步骤:

1)测试用例剖面信息的收集与分支覆盖向量的构建;

采用自动化方式批量执行所有的测试用例,并联合动态插桩技术获得运行测试用例产生的剖面信息文件;分析获得的剖面信息文件,并提取文件中的分支执行频率列为每一个测试用例构造分支覆盖向量;如果一个分支执行频率大于0,则在分支覆盖向量中该分支对应的值是1,否则是0;

2)成对的测试用例之间距离的计算;

使用步骤1)产生的分支覆盖向量计算成对的剖面之间的距离,并将其作为与剖面信息对应的测试用例之间的距离;基于成对的测试用例之间的距离信息构造相异度矩阵;其中,测试用例之间的距离计算方法如下:根据步骤1)产生的分支覆盖向量计算两个测试用例之间的距离,计算公式如下:式中Dis(X,Y)表示测试用例X与Y之间的距离,xi和yi分别表示测试用例X和Y对应的分支覆盖向量中的第i位的取值,n表示被测程序包含的分支数;

3)回归测试用例的优先排序;

构造测试用例不相似性有限完全图,以测试用例作为顶点,测试用例之间的连线作为边,邻接的测试用例之间的距离作为边的权重;然后以目标函数为指导,通过蚁群算法求解具有最长路径的Hamilton路;由于测试用例的多样性有助于提高回归测试的错误发现效率,因此通过寻找具有最长距离路径的测试用例序列以最大程度上保证测试用例的多样性;最后将产生的Hamilton路中的测试用例序列作为回归测试用例优先排序的最终序列;

目标函数如下:

式中,D表示待排序的测试用例集合,X和Y表示测试用例。

2.根据权利要求1所述的基于分支覆盖与相似性的回归测试用例优先排序方法,其特征在于,在步骤1)中,测试用例运行时的剖面信息通过动态插桩技术收集;编写自动化批处理脚本文件,将插桩命令封装在脚本中;运行批处理脚本,产生测试套件中所有测试用例的剖面信息;每一个测试用例对应一个剖面信息文件,该文件包括待测程序中的每一个分支的编号,以及每一个分支被执行的频率;解析剖面信息文件,并构建分支覆盖向量,再将每一个测试用例对应的分支覆盖向量保存在分支覆盖向量文件中。

3.根据权利要求1所述的基于分支覆盖与相似性的回归测试用例优先排序方法,其特征在于,在步骤2)中,按行读取步骤1)产生的分支覆盖向量文件;由于一行对应一个测试用例,因此将每一行封装成一个Map对象;Map对象中的键值对分别是测试用例编号,及该测试用例对应的分支覆盖向量;通过欧式距离函数计算成对的Map对象中的键对应的值之间的距离;遍历所有的Map对象,以构建测试用例之间的相异度矩阵。

4.根据权利要求1所述的基于分支覆盖与相似性的回归测试用例优先排序方法,其特征在于,在步骤3)中,以测试用例为顶点,测试用例之间的连线作为边,测试用例之间的距离作为边的权重构建测试用例之间的不相似有限完全图;基于测试用例之间的距离构建目标函数;以目标函数为指导,采用蚁群算法在不相似有限完全图中寻找具有最长距离的路径,对应该路径的测试用例序列即为优先排序后的测试用例序列。

说明书 :

一种基于分支覆盖与相似性的回归测试用例优先排序方法

技术领域

[0001] 本发明属于软件测试领域,且特别是有关于一种基于分支覆盖与相似性的回归测试用例优先排序方法。

背景技术

[0002] 软件测试是一项旨在帮助软件测试工程师或者质量保证工程师衡量软件质量,验证并确认被测软件能否满足设计要求进行评估的过程。作为软件开发过程中的一个重要组成部分,软件测试贯穿整个软件生命周期。软件的改正性维护、适应性维护以及完善性维护都将引起软件的变化,软件一旦发生变更就需要回归测试(Regression testing)被测软件,以确保新的变更没有产生副作用。回归测试是软件开发与维护过程中代价最昂贵的活动之一,占了总测试预算的80%,软件维护阶段总费用的50%。无论是传统的软件开发,还是快速迭代开发,抑或是敏捷开发,新版本的连续发布使得回归测试更加频繁。在这种背景下,回归测试需要消耗更多的人力与物力。一个成功的软件回归测试过程能够尽肯能早地发现被测软件产品中存在的回归错误、缺陷和失效,以便为错误定位与错误修复节省更多的资源,从而提高软件产品的质量。
[0003] 回归测试用例优先排序(Test case prioritization)是软件回归测试中的一项重要的工作,通过重新排列测试用例的执行顺序,旨在让那些能够发现回归错误的测试用例尽可能早地执行,以便提高软件回归测试的效率。在演化的软件版本上进行回归测试之前,测试用例的错误发现能力是未知的。这就需要借助于代理,比如测试用例覆盖代码的能力,对测试用例进行优先排序。回归测试通常是在受限的测试资源与测试环境下开展的,这就意味着回归测试中仅能执行部分测试用例。另外,由于软件的改善性维护使得原有的测试用例不能够满足测试的需求,回归测试过程中需要注入新的测试用例以便满足回归测试充分性的要求。这就需要回归测试用例的优先排序方法必须是可扩展的。
[0004] 传统的回归测试用例优先排序方法具有如下特点。
[0005] 1、借助于测试用例覆盖代码的能力进行排序。
[0006] 基于测试用例覆盖代码能力进行排序的方法根据测试用例覆盖代码的能力进行排序,覆盖能力越强的测试用例执行顺序越优先,或者是增加总覆盖能力越多地测试用例执行顺序越优先。然而,在回归测试过程中为了产生例外行为或者是测试一些专门的功能模块而随机产生了一些测试用例,这些测试用例并非都具有较强的覆盖代码的能力。而且,在测试过程中一旦发现严重错误将影响测试用例的执行,对于这些测试用例而言,它们的覆盖能力并不强,但仍能发现错误。这使得传统的基于覆盖的回归测试用例优先排序方法的错误发现效率不高。
[0007] 2、同等对待具有相同覆盖能力或者相同增加总覆盖能力的测试用例。
[0008] 基于覆盖的回归测试用例优先排序方法在排序过程中并没有区分具有相同覆盖能力(覆盖的代码数量相等)或者相同增加总覆盖能力(对总覆盖的代码数量的提升具有相同的贡献)的测试用例的差别。这使得基于覆盖的回归测试用例优先排序方法产生的结果具有较强的随机性,制约了该方法在实践中的应用。
[0009] 3、一旦有新的测试用例注入原始的测试套件中,基于覆盖的回归测试用例优先排序方法需要重新排序测试用例。
[0010] 在软件的完善性维护阶段会增加新的功能和性能要求,为了满足软件回归测试充分性的要求,需要注入新的测试用例。基于覆盖的回归测试用例优先排序方法根据测试用例的覆盖能力对其进行重新排序,这使得回归测试用例优先排序方法不具有扩展性。
[0011] 随着敏捷开发的不断普及,软件的回归测试会更加频繁,传统的回归测试用例优先排序方法已经越来越不能满足实际软件回归测试的需要。

发明内容

[0012] 本发明目的在于提供一种基于分支覆盖与相似性的回归测试用例优先排序方法,解决目前存在的回归测试用例优先排序方法效率不高、随机性较强以及不易于扩展等问题,进而提高回归测试错误发现效率,降低随机性对错误发现效率的影响,提升回归测试用例优先排序方法的可扩展性,从而更高效地开展软件回归测试,进而提高软件产品的质量。
[0013] 本方面的技术方案为:基于分支覆盖和相似性的回归测试用例优先排序方法,在待测程序上运行所有的测试用例,通过动态插桩技术自动地获得每一个测试用例的执行剖面(profile),分析执行剖面并构建分支覆盖向量,如果分支被覆盖则在向量中的值为1,反之则为0;通过欧式距离函数计算成对的分支覆盖向量的距离,将该距离作为对应剖面的测试用例之间的距离;根据测试用例多样性理论,定义目标函数模型,并以此为指导,采用蚁群算法对回归测试用例进行优先排序。
[0014] 为实现上述目标,本发明提出了一种基于分支覆盖与相似性的回归测试用例优先排序方法。本方法具体步骤如下。
[0015] 1)测试用例剖面信息的收集与分支覆盖向量的构建。采用自动化方式批量执行所有的测试用例,并联合动态插桩技术获得运行测试用例产生的剖面信息文件。分析获得的剖面信息文件,并提取文件中的分支执行频率列为每一个测试用例构造分支覆盖向量。如果一个分支执行频率大于0,则在分支覆盖向量中该分支对应的值是1,否则是0。
[0016] 2)成对的测试用例之间距离的计算。使用步骤1)产生的分支覆盖向量计算成对的剖面之间的距离,并将其作为与剖面信息对应的测试用例之间的距离。基于成对的测试用例之间的距离信息构造相异度矩阵。根据步骤1)产生的分支覆盖向量计算两个测试用例之间的欧式距离,计算公式如下:
[0017]
[0018] 式中Dis(X,Y)表示测试用例X与Y之间的欧式距离,xi和yi分别表示测试用例X和Y对应的分支覆盖向量中的第i分支的取值,n表示被测程序包含的分支数。
[0019] 3)回归测试用例的优先排序。具体实施过程如下:首先以测试用例作为顶点,测试用例之间的连线作为边,邻接的测试用例之间的距离作为边的权重,构造测试用例不相似性有限完全图。然后以目标函数为指导,通过蚁群算法(Ant colony optimization,ACO)求解具有最长路径的哈密顿(Hamilton)路。测试用例的多样性有助于提高回归测试的错误发现效率,因此通过寻找具有最长距离的路径的测试用例序列以最大程度上保证测试用例的多样性。最后将产生的Hamilton路中的测试用例序列作为回归测试用例优先排序的最终序列。目标函数如下:
[0020]
[0021] 式中,D表示待排序的测试用例集合。
[0022] 进一步,其中上述步骤1)的具体步骤如下:
[0023] 步骤1)-1:起始状态;
[0024] 步骤1)-2:在被测程序中自动注入动态插桩代码,并编译被测的源程序;
[0025] 步骤1)-3:自动运行被测程序并输入一个测试用例;
[0026] 步骤1)-4:收集运行每一个测试用例产生的剖面信息,并将其保存在磁盘中;
[0027] 步骤1)-5:重复执行步骤1)-2、步骤1)-3、步骤1)-4,直到获取了一个测试套件中的所有测试用例的剖面信息;
[0028] 步骤1)-6:读取保存的每一个剖面信息文件,通过分析该文件提取待测程序中每一个分支被覆盖的频率信息。在此基础上,基于获得的分支覆盖的频率信息构造分支覆盖向量。若频率值大于0,则在分支覆盖向量中该分支的取值为1,否则为0。这个过程持续进行,直到为一个测试套件中的所有测试用例构造完分支覆盖向量为止;
[0029] 步骤1)-7:将所有测试用例对应的分支覆盖向量保存到文件中,该文件中的每一行包括测试用例的编号信息,以及测试用例对应的分支覆盖向量;
[0030] 步骤1)-8:测试用例的分支覆盖向量构造完毕。
[0031] 进一步,其中上述步骤2)的具体步骤如下:
[0032] 步骤2)-1:起始状态;
[0033] 步骤2)-2:从磁盘中按行读取步骤1)-7产生的分支覆盖向量文件;
[0034] 步骤2)-3:解析读取的每一行,将测试用例的编号作为键,测试用例对应的分支覆盖向量作为值,并封装成一个Map对象;
[0035] 步骤2)-4:重复步骤2)-2和步骤2)-3,直到获得所有行的Map对象;
[0036] 步骤2)-5:遍历Map对象,并通过欧式距离函数计算每一对测试用例之间的欧式距离;
[0037] 步骤2)-6:基于计算的每一对测试用例之间的距离信息构造测试用例之间的相异度矩阵(DissimilarityMatrix),该矩阵是一个上三角矩阵(Upper Triangular Matrix),且对角线及其下方的元素值为0。将构建的测试用例之间的相异度矩阵信息保存在文件中;
[0038] 步骤2)-7:测试用例之间的相异度矩阵构建完毕。
[0039] 进一步,其中上述步骤3)的具体步骤如下:
[0040] 步骤3)-1:起始状态;
[0041] 步骤3)-2:以测试用例为顶点,测试用例之间的连线作为边构建测试用例有限完全图,读取步骤2)-7中产生的相异度矩阵,将测试用例之间的距离作为邻接测试用例的边权重;
[0042] 步骤3)-3:初始化蚁群算法的参数。令时间t=0,循环次数Count=0,最大循环次数为MaxCount,将m只蚂蚁放于测试用例有限完全图中的n个测试用例上,设置有向图上每条边的初始化信息量ε(t)为一个常数,并且在初试时刻Δε(t)=0;
[0043] 步骤3)-4:循环次数Count加1,蚂蚁的禁忌表索引号κ=1,禁忌表用来保存蚂蚁已经遍历过的测试用例;
[0044] 步骤3)-5:蚂蚁数目κ加1;
[0045] 步骤3)-6:计算蚂蚁个体的状态转移概率,选择测试用例j并前进,j表示蚂蚁下一步允许选择的测试用例。计算状态转移概率的公式如下:
[0046]
[0047] 式中,pijκ表示蚂蚁在t时刻由测试用例i到测试用例j的状态转移概率;allowedκ表示蚂蚁κ下一步允许选择的测试用例;α和β分别表示信息启发式因子和期望启发式因子;ηij(t)表示蚂蚁从测试用例i到测试用例j期望程度,其值等于测试用例i到测试用例j的距离,也就是测试用例i到测试用例j的距离越大,蚂蚁从测试用例i到测试用例j的期望程度越高;
[0048] 步骤3)-6:修改禁忌表指针,选择好下一个测试用例后将蚂蚁移动到新的测试用例,并把该测试用例添加到该蚂蚁对应的禁忌表中;
[0049] 步骤3)-7:如果所有的测试用例未被排序,则跳转到步骤3)-5,否则执行步骤3)-8;
[0050] 步骤3)-8:更新每一条路径上的信息量,更新公式如下:
[0051] εij(t+n)=(1-ρ)×εij(t)+Δεij(t)
[0052]
[0053] 式中,εij(t+n)表示t+n时刻路径(i,j)上的信息量;ρ表示信息素挥发系数,则1-ρ表示信息素残留因子;Δεij(t)表示本次循环中路径(i,j)上的信息素增量;Δεijκ(t)表示第κ只蚂蚁在本次循环中保留在路径(i,j)上的信息量。Δεijκ(t)的计算公式如下:
[0054]
[0055] 式中,Q表示信息素强度,Lκ表示第κ只蚂蚁在本次循环所走路径的总长度。如果第κ只蚂蚁在t和t+1之间经过路径(i,j),Δεij等于 否则等于0;
[0056] 步骤3)-9:若蚁群算法满足Count≥MaxCount,则循环结束,否则该算法跳转到步骤3)-3;
[0057] 步骤3)-10:蚁群执行完成并输出具有最长路径的回归测试用例序列;
[0058] 步骤3)-11:回归测试用例优先排序完毕。
[0059] 本发明基于分支覆盖与测试用例之间的相似性进行回归测试用例的优先排序,大幅提高了软件回归测试的错误发现效率与可扩展性;通过欧式距离函数计算成对的测试用例之间的距离信息,更准确的区分了测试用例覆盖分支的差异,为此降低了传统的基于覆盖的优先排序方法的随机性对回归测试错误发现效率的影响。一旦增加新的测试用例,本方法只需要计算新增加的测试之间的距离信息和新增测试用例与原有测试用例之间的距离信息,而原有的测试用例之间的距离信息不需要重新计算,大大地提高了回归测试用例优先排序方法的可扩展性。采用带有启发式的蚁群算法进行全局搜索,使之产生更优解。本发明从测试用例剖面信息的收集、测试用例相异度矩阵的构建,以及采用蚁群算法对测试用例进行优先排序,均采用自动化的方式进行,整个过程不需要人工干预,大大地提高了回归测试的效率,从而更好地控制软件产品的质量。

附图说明

[0060] 图1为本发明实施的一种基于分支覆盖与相似性的回归测试用例优先排序方法的流程图。
[0061] 图2为图1中剖面信息收集与分支覆盖向量构建的流程图。
[0062] 图3为图1中构建测试用例相异度矩阵的流程图。
[0063] 图4为图1中基于蚁群算法对测试用例进行优先排序的流程图。

具体实施方式

[0064] 为了更清晰的了解本发明的技术内容,特举具体实施并配合所附图式说明如下。
[0065] 图1为本发明实施的一种基于分支覆盖与相似的回归测试用例优先排序的流程图。
[0066] 一种基于分支覆盖与相似性的回归测试用例优先排序方法,包括下列步骤。
[0067] S101测试用例剖面信息的收集与分支覆盖向量的构建,采用自动化方式批量执行所有的测试用例,并联合动态插桩技术获得运行测试用例产生的剖面信息文件。分析获得的剖面信息文件,并提取文件中的分支执行频率列为每一个测试用例构造分支覆盖向量。
[0068] S103构建测试用例相异度矩阵。使用步骤1)产生的分支覆盖向量计算成对的剖面之间的欧式距离,并将其作为与剖面信息对应的测试用例之间的距离。基于成对的测试用例之间的距离信息构造相异度矩阵。
[0069] S105构造测试用例不相似性有限完全图,以测试用例作为顶点,测试用例之间的连线作为边,邻接的测试用例之间的距离作为边的权重。基于测试用例多样性理论,通过蚁群算法求解具有最长路径的Hamilton路,构成Hamilton路的测试用例序列作为回归测试用例优先排序的最终序列。
[0070] 图2为剖面信息收集与分支覆盖向量构建的流程图。测试用例剖面信息的收集,采用自动化方式批量执行所有的测试用例,并联合动态插桩技术获得运行测试用例产生的剖面信息文件。该文件是一个格式化的文件,即在每一行的固定位置显示分支的执行频率与分支的编号。分析获得的剖面信息文件,并提取文件中的分支执行频率列为每一个测试用例构造分支覆盖向量,具体步骤如下。
[0071] 步骤1:起始状态;步骤2:通过工具gcov在被测程序中自动注入动态插桩代码,并编译被测的源程序;步骤3:自动运行被测程序并输入一个测试用例;步骤4:收集运行每一个测试用例产生的剖面信息,并将其保存在磁盘中;步骤5:重复执行步骤2、步骤3、步骤4,直到获取了一个测试套件中的所有测试用例的剖面信息;步骤6:读取保存的每一个剖面信息文件,通过分析该文件提取待测程序中每一个分支被覆盖的频率信息。在此基础上,基于获得的分支覆盖的频率信息构造分支覆盖向量,该向量的维度等于待测程序包含的分支数。若频率值大于0,则在分支覆盖向量中该分支的取值为1,否则为0。这个过程持续进行,直到为一个测试套件中的所有测试用例构造完分支覆盖向量为止;步骤7:将所有测试用例对应的分支覆盖向量保存到文件中,该文件中的每一行包括测试用例的编号信息,以及测试用例对应的分支覆盖向量;步骤8:测试用例的分支覆盖向量构造完毕。
[0072] 图3为构建测试用例相异度矩阵的流程图。使用分支覆盖向量计算成对的剖面之间的欧式距离,并将其作为与剖面信息对应的测试用例之间的距离。基于成对的测试用例之间的距离信息构造测试用例相异度矩阵,具体步骤如下。
[0073] 步骤1:起始状态;步骤2:从磁盘中按行读取分支覆盖向量文件;步骤3:解析读取的每一行,将测试用例的编号作为键,测试用例对应的分支覆盖向量作为值,并封装成一个Map对象;步骤4:重复步骤2和步骤3,直到获得所有行的Map对象;步骤5:遍历Map对象,并通过欧式距离函数计算每一对测试用例之间的欧式距离;步骤6:基于计算的每一对测试用例之间的距离信息构造测试用例之间的相异度矩阵,将构建的测试用例之间的相异度矩阵信息保存在文件中;步骤7:测试用例之间的相异度矩阵构建完毕。
[0074] 图4为基于蚁群算法对测试用例进行优先排序的流程图。构造测试用例不相似性有限完全图,以测试用例作为顶点,测试用例之间的连线作为边,邻接的测试用例之间的距离作为边的权重。通过蚁群算法求解具有最长路径的Hamilton路。最后将产生的Hamilton路中的测试用例序列作为回归测试用例优先排序的最终序列,具体步骤如下。
[0075] 步骤1:起始状态;步骤2:以测试用例为顶点,测试用例之间的连线作为边构建测试用例有限完全图,读取相异度矩阵,将测试用例之间的距离作为邻接测试用例的边权重;步骤3:初始化蚁群算法的参数,信息启发式因子α和期望启发式因子β分别的初始值分别为
1和5,MaxCount的初始值为100,信息素挥发系数ρ的初始值为0.95,信息素强度Q的初始值是100,蚂蚁数m的初始值是待测程序中所包含的测试套件规模的一半。令时间t=0,循环次数Count=0,最大循环次数为MaxCount,将m只蚂蚁放于测试用例有限完全图中的n个测试用例上,并且设置有向图上每条边的初始化信息量ε(t)为一个常数,并且在初试时刻Δε(t)=0;步骤4:循环次数Count加1,蚂蚁的禁忌表索引号κ=1;步骤5:蚂蚁数目κ加1;步骤
6:计算蚂蚁个体的状态转移概率,选择测试用例j并前进,j表示蚂蚁下一步允许选择的测试用例。计算状态转移概率的公式如下:
[0076]
[0077] 式中,pijκ表示蚂蚁在t时刻由测试用例i到测试用例j的状态转移概率;allowedκ表示蚂蚁κ下一步允许选择的测试用例;α和β分别表示信息启发式因子和期望启发式因子;ηij(t)表示蚂蚁从测试用例i到测试用例j期望程度,其值等于测试用例i到测试用例j的距离,也就是测试用例i到测试用例j的距离越大,蚂蚁从测试用例i到测试用例j的期望程度越高;步骤6:修改禁忌表指针,选择好下一个测试用例后将蚂蚁移动到新的测试用例,并把该测试用例添加到该蚂蚁对应的禁忌表中;步骤7:如果所有的测试用例未被排序,则跳转到步骤5,否则执行步骤8;步骤8:更新每一条路径上的信息量,更新公式如下:
[0078] εij(t+n)=(1-ρ)×εij(t)+Δεij(t)
[0079]
[0080] 式中,εij(t+n)表示t+n时刻路径(i,j)上的信息量;ρ表示信息素挥发系数,则1-ρ表示信息素残留因子;Δεij(t)表示本次循环中路径(i,j)上的信息素增量;Δεijκ(t)表示第κ只蚂蚁在本次循环中保留在路径(i,j)上的信息量;Δεijκ(t)表示第κ只蚂蚁在本次循环中保留在路径(i,j)上的信息量。Δεijκ(t)的计算公式如下:
[0081]
[0082] 式中,Q表示信息素强度,Lκ表示第κ只蚂蚁在本次循环所走路径的总长度。如果第κ只蚂蚁在t和t+1之间经过路径(i,j),Δεij等于 否则等于0;步骤9:若蚁群算法满足Count≥MaxCount,则循环结束,否则该算法跳转到步骤3;步骤10;蚁群执行完成并输出具有最长路径的回归测试用例序列,回归测试用例优先排序完毕。
[0083] 综上所述,本发明解决了目前存在的回归测试用例优先排序方法错误发现效率不高,结果的稳定性较差,不能满足扩展性等问题,不仅大幅提高了回归测试错误发现效率、稳定性以及可扩展性,而且也提升了软件回归测试的自动化程度和运转效率,进而提高了软件测试工作效率,从而更好地控制产品的质量。