首页 / 专利库 / 软件 / 软件回归测试 / 一种基于节点重要度评估的回归测试用例优先级排序方法

一种基于节点重要度评估的回归测试用例优先级排序方法

阅读:644发布:2020-05-08

专利汇可以提供一种基于节点重要度评估的回归测试用例优先级排序方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及面向对象 软件 系统回归测试技术领域,提供一种基于 节点 重要度评估的回归测试 用例 优先级排序方法。首先,将面向对象软件系统转化为基于信息流的类级有向复杂网络;然后,计算节点Ci与节点Ci的邻居节点之间的威胁性、脆弱性、安全隐患,并基于概率 风 险评估方法,计算节点Ci与节点Cj之间的权值;最后,基于PageRank 算法 ,计算每个节点的PageRank值,根据节点的PageRank值对节点对应的测试用例的优先级进行排序,PageRank值越高的节点对应的测试用例的优先级越高。本发明能够降低回归测试用例优先级排序的计算复杂度、压缩计算成本且提高计算效率。,下面是一种基于节点重要度评估的回归测试用例优先级排序方法专利的具体信息内容。

1.一种基于节点重要度评估的回归测试用例优先级排序方法,其特征在于,包括下述步骤:
步骤1:将面向对象软件系统转化为基于信息流的类级有向复杂网络;
步骤1.1:将面向对象软件系统ω表示为ω={C1,C2,...,Ci,...,CI};其中,Ci为面向对象软件系统ω中的第i个类,i∈{1,2,...,I},I为面向对象软件系统ω中类的总数;
mip为类Ci中的第p个方法,aiq为类Ci中的第q个
属性,p∈{1,2,...,Pi},q∈{1,2,...,Qi},Pi为类Ci中的方法总数,Qi为类Ci中的属性总数;
步骤1.2:将每个类Ci设置为一个节点,若节点Ch向节点Ck传递信息,则连接节点Ch与节点Ck形成有向边,将面向对象软件系统ω转化为基于信息流的类级有向复杂网络;
其中,Ch∈ω,Ck∈ω,且h≠k;
步骤2:基于概率险评估方法计算节点之间的权值;
步骤2.1:记节点Ci的邻居节点为Cj,Cj∈Wi,Wi为节点Ci的邻居节点集合;计算节点Ci与节点Cj之间的威胁性为Tij=IDij+ODij;其中,IDij为节点Cj向节点Ci传递的信息流总数,ODij为节点Ci向节点Cj传递的信息流总数;
步骤2.2:计算节点Ci与节点Cj之间的脆弱性为 其
中,lengthip为方法mip中的代码总行数,PIipj为方法mip从节点Cj接收的参数总数,POipj为方法mip从节点Ci传出给节点Cj的参数总数;
步骤2.3:计算节点Ci与节点Cj之间的安全隐患为 其中,xipj为节点
Cj中受到方法mip的失效的影响的方法总数,xjpi为节点Ci中受到方法mjp的失效的影响的方法总数;
步骤2.4:基于概率风险评估方法,计算节点Ci与节点Cj之间的权值为
步骤3:基于PageRank算法对测试用例进行优先级排序;
步骤3.1:计算节点Ci的PageRank值为 其中,σ为阻尼系
数,Ii为节点Ci的邻居节点集合Wi中的节点总数;
步骤3.2:根据节点的PageRank值对节点对应的测试用例的优先级进行排序,PageRank值越高的节点对应的测试用例的优先级越高。

说明书全文

一种基于节点重要度评估的回归测试用例优先级排序方法

技术领域

[0001] 本发明涉及面向对象软件系统回归测试技术领域,特别是涉及一种基于节点重要度评估的回归测试用例优先级排序方法。

背景技术

[0002] 当前计算机系统和移动通信不断发展,其所提供的软件功能丰富多样,在人们的日常生活中逐渐变得不可或缺。整个软件开发过程包括需求分析、软件设计、软件测试及软件运行与维护等阶段。其中,软件测试阶段是一种实际输出与预期输出之间的审核或者比较过程,此过程不仅繁琐,其成本也比较昂贵,尤其在大型软件开发过程中,寻找一种有效的软件测试方法对提高软件质量、降低软件成本具有举足轻重的作用。
[0003] 回归测试指的是在旧的代码被修改后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。由于时间和成本等因素,回归测试的重心是以关键性模为核心,测试人员希望可以对测试用例按某种方式进行排序,使优先级更高的测试用例可以更早地运行,在该过程中,如何确定测试用例的优先级成为了软件开发者不得不考虑的重要内容。
[0004] 而现有的回归测试用例优先级排序方法大都是通过被测程序的静态调用图或通过对测试用例进行聚类等方法对测试用例进行优先级排序,这些方法都是仅仅依赖于代码的复杂程度,而忽略了软件在运行过程中存在的险因素。

发明内容

[0005] 针对现有技术存在的问题,本发明提供一种基于节点重要度评估的回归测试用例优先级排序方法,能够降低回归测试用例优先级排序的计算复杂度、压缩计算成本且提高计算效率。
[0006] 本发明的技术方案为:
[0007] 一种基于节点重要度评估的回归测试用例优先级排序方法,其特征在于,包括下述步骤:
[0008] 步骤1:将面向对象软件系统转化为基于信息流的类级有向复杂网络;
[0009] 步骤1.1:将面向对象软件系统ω表示为ω={C1,C2,...,Ci,...,CI};其中,Ci为面向对象软件系统ω中的第i个类,i∈{1,2,...,I},I为面向对象软件系统ω中类的总数;Ci={mi1,mi2,...,mip,...,mi,Pi,ai1,ai2,...,aiq,...,ai,Qi},mip为类Ci中的第p个方法,aiq为类Ci中的第q个属性,p∈{1,2,...,Pi},q∈{1,2,...,Qi},Pi为类Ci中的方法总数,Qi为类Ci中的属性总数;
[0010] 步骤1.2:将每个类Ci设置为一个节点,若节点Ch向节点Ck传递信息,则连接节点Ch与节点Ck形成有向边,将面向对象软件系统ω转化为基于信息流的类级有向复杂网络;其中,Ch∈ω,Ck∈ω,且h≠k;
[0011] 步骤2:基于概率风险评估方法计算节点之间的权值;
[0012] 步骤2.1:记节点Ci的邻居节点为Cj,Cj∈Wi,Wi为节点Ci的邻居节点集合;计算节点Ci与节点Cj之间的威胁性为Tij=IDij+ODij;其中,IDij为节点Cj向节点Ci传递的信息流总数,ODij为节点Ci向节点Cj传递的信息流总数;
[0013] 步骤2.2:计算节点Ci与节点Cj之间的脆弱性为其中,lengthip为方法mip中的代码总行数,PIipj为方法mip从节点Cj接收的参数总数,POipj为方法mip从节点Ci传出给节点Cj的参数总数;
[0014] 步骤2.3:计算节点Ci与节点Cj之间的安全隐患为 其中,xipj为节点Cj中受到方法mip的失效的影响的方法总数,xjpi为节点Ci中受到方法mjp的失效的影响的方法总数;
[0015] 步骤2.4:基于概率风险评估方法,计算节点Ci与节点Cj之间的权值为[0016] 步骤3:基于PageRank算法对测试用例进行优先级排序;
[0017] 步骤3.1:计算节点Ci的PageRank值为 其中,σ为阻尼系数,Ii为节点Ci的邻居节点集合Wi中的节点总数;
[0018] 步骤3.2:根据节点的PageRank值对节点对应的测试用例的优先级进行排序,PageRank值越高的节点对应的测试用例的优先级越高。
[0019] 本发明的有益效果为:
[0020] 1.本发明将面向对象软件系统转化为基于信息流的类级有向复杂网络,将回归测试中用例优先级排序问题转化为加权复杂网络中节点重要性计算问题,降低了问题的计算复杂度,提高了回归测试用例优先级排序的效率。
[0021] 2.本发明基于概率风险评估方法计算节点之间的威胁性、脆弱性和安全隐患,从而得到节点之间的权值,充分考虑了软件在运行过程中存在的风险因素,能够简单、准确地确定每个参数的具体值,压缩了计算成本、节省了计算时间。
[0022] 3.本发明基于PageRank算法,将衡量特定网页相对于搜索引擎索引中其他网页而言的重要程度问题转化为复杂网络中不同节点重要性的确定问题,能够根据节点的PageRank值对测试用例的优先级进行快速排序。附图说明
[0023] 图1为本发明的基于节点重要度评估的回归测试用例优先级排序方法的流程图
[0024] 图2为具体实施方式中将面向对象软件系统转化为基于信息流的类级有向复杂网络的示意图。

具体实施方式

[0025] 下面将结合附图和具体实施方式,对本发明作进一步描述。
[0026] 如图1所示,本发明的基于节点重要度评估的回归测试用例优先级排序方法,包括下述步骤:
[0027] 步骤1:将面向对象软件系统转化为基于信息流的类级有向复杂网络;
[0028] 步骤1.1:将面向对象软件系统ω表示为ω={C1,C2,...,Ci,...,CI};其中,Ci为面向对象软件系统ω中的第i个类,i∈{1,2,...,I},I为面向对象软件系统ω中类的总数;Ci={mi1,mi2,...,mip,...,mi,Pi,ai1,ai2,...,aiq,...,ai,Qi},mip为类Ci中的第p个方法,aiq为类Ci中的第q个属性,p∈{1,2,...,Pi},q∈{1,2,...,Qi},Pi为类Ci中的方法总数,Qi为类Ci中的属性总数;
[0029] 步骤1.2:如图2所示,将每个类Ci设置为一个节点,若节点Ch向节点Ck传递信息,则连接节点Ch与节点Ck形成有向边,将面向对象软件系统ω转化为基于信息流的类级有向复杂网络;其中,Ch∈ω,Ck∈ω,且h≠k。
[0030] 步骤2:基于概率风险评估方法(PRA)计算节点之间的权值;
[0031] 步骤2.1:记节点Ci的邻居节点为Cj,Cj∈Wi,Wi为节点Ci的邻居节点集合;计算节点Ci与节点Cj之间的威胁性为Tij=IDij+ODij;其中,IDij为节点Cj向节点Ci传递的信息流总数,ODij为节点Ci向节点Cj传递的信息流总数;
[0032] 步骤2.2:计算节点Ci与节点Cj之间的脆弱性为其中,lengthip为方法mip中的代码总行数,PIipj为方法mip从节点Cj接收的参数总数,POipj为方法mip从节点Ci传出给节点Cj的参数总数;
[0033] 步骤2.3:计算节点Ci与节点Cj之间的安全隐患为 其中,xipj为节点Cj中受到方法mip的失效的影响的方法总数,xjpi为节点Ci中受到方法mjp的失效的影响的方法总数;
[0034] 步骤2.4:基于概率风险评估方法,计算节点Ci与节点Cj之间的权值为[0035] 步骤3:基于PageRank算法对测试用例进行优先级排序;
[0036] 步骤3.1:计算节点Ci的PageRank值为 其中,σ为阻尼系数,Ii为节点Ci的邻居节点集合Wi中的节点总数;
[0037] 步骤3.2:根据节点的PageRank值对节点对应的测试用例的优先级进行排序,PageRank值越高的节点对应的测试用例的优先级越高。其中,PageRank值越高,代表节点的重要性越高,该节点需优先进行测试。
[0038] 显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈