CN114398291B - 一种软件回归测试影响域分析方法及系统 - Google Patents

一种软件回归测试影响域分析方法及系统 Download PDF

Info

Publication number
CN114398291B
CN114398291B CN202210083054.3A CN202210083054A CN114398291B CN 114398291 B CN114398291 B CN 114398291B CN 202210083054 A CN202210083054 A CN 202210083054A CN 114398291 B CN114398291 B CN 114398291B
Authority
CN
China
Prior art keywords
items
degree
function
functional
calculating
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.)
Active
Application number
CN202210083054.3A
Other languages
English (en)
Other versions
CN114398291A (zh
Inventor
李继秀
王月波
蒲卿路
刘涛
孙云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 10 Research Institute
Original Assignee
CETC 10 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 10 Research Institute filed Critical CETC 10 Research Institute
Priority to CN202210083054.3A priority Critical patent/CN114398291B/zh
Publication of CN114398291A publication Critical patent/CN114398291A/zh
Application granted granted Critical
Publication of CN114398291B publication Critical patent/CN114398291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及软件回归测试技术领域,公开了一种软件回归测试影响域分析方法及系统,该影响域分析方法包括以下步骤:S1,构建有向有权图模型:获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;S2,计算功能项关联概率:根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;S3,计算功能项推荐系数:计算聚集系数、邻里重叠度,进而计算功能项推荐系数;S4,生成回归测试用例:依据功能项推荐系数的大小,生成软件回归测试用例。本发明解决了现有技术存在的影响域分析不够自动化、影响域分析维度不够全面、影响域分析不够准确等问题。

Description

一种软件回归测试影响域分析方法及系统
技术领域
本发明涉及软件回归测试技术领域,具体是一种软件回归测试影响域分析方法及系统。
背景技术
在软件生命周期中,涌现了大量的开发模型和测试模型,较理想的模型都有一个共同的特性:软件开发和软件测试在大部分阶段都紧密关联,而程序在不断地增量、迭代过程中,往往伴随着需求的更改,软件更新版本的构建,意味着测试需要频繁进行,特别是回归测试,以确认更改正确。
在软件回归测试中,传统方式是将所有测试用例重新执行一遍,当软件系统比较庞大或版本更新比较频繁时,人力成本和测试效率都会受到很大的影响。而回归测试中变更影响分析是重点难点,评估功能项更改之后的影响,量化功能项之间的关联紧密程度,定位或寻找变更代码影响域的方法,避免无关测试用例的执行,是提升回归测试效率的关键,保证了软件回归测试输入的有效性和充分性。
三元闭包是指在一个社交圈内,若A认识B,B认识C,则A认识C的概率就会提高。A和B,B和C关系越紧密,A和C成为朋友的可能性就越高。若把三元闭包理论用于梳理功能项关系,建立功能项社区网络,寻找定位可能受到影响的功能项,实现测试用例约简的同时,将可能有缺陷概率的功能项纳入回归测试,具备着非常大的实用价值。
软件回归测试是软件工程中重要的一环,能够有效地发现软件工程中存在的缺陷,保证软件质量。影响域分析是回归测试的重要组成部分,更改影响域的评估和量化直接关系回归测试的成败。当前软件回归测试影响域分析存在如下问题:
(1)系统不做影响域分析。回归测试中将所有测试用例重新执行一遍。当软件系统比较庞大或版本更新比较频繁时,人力成本和测试效率都会受到很大的影响,出现冗余测试用例大量增值情况。
(2)影响域分析不够自动化。针对代码中算法变动和参数变动,需要开发人员和测试人员认真分析更改点,对照系统需求,人工判断是否需要回归测试。
(3)影响域分析维度不够全面。现有的影响域分析技术大部分只包含控制流分析或数据流分析,或将两者结合,也有部分学者将时序概念引入分析,还有部分学者提出了结合程序切片技术与类防火墙思想来寻找代码变更而受到影响的测试用例,但只适用于面向对象程序。
(4)只考虑程序带来的影响,未结合社区现象等计算社会学理论进行影响域分析。软件系统是一个整体,可以看做是一个闭包的网络。
发明内容
为克服现有技术的不足,本发明提供了一种软件回归测试影响域分析方法及系统,解决现有技术存在的影响域分析不够自动化、影响域分析维度不够全面、影响域分析不够准确等问题。
本发明解决上述问题所采用的技术方案是:
一种软件回归测试影响域分析方法,包括以下步骤:
S1,构建有向有权图模型:获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
S2,计算功能项关联概率:根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
S3,计算功能项推荐系数:计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
S4,生成回归测试用例:依据功能项推荐系数的大小,生成软件回归测试用例。
作为一种优选的技术方案,步骤S2中,利用有向有权图模型计算功能项与功能项之间的直接关系时,将功能项转换为有向有权图中的点,将功能项与功能项之间的直接关系转换为有向有权图中的边。
作为一种优选的技术方案,步骤S2中,功能项与功能项之间直接关系的关联程度,采用边的权值来描述,边的权值越大,表示两者直接关系的关联程度越大,反之,表示关联程度越小。
作为一种优选的技术方案,步骤S2中,所述依赖相关性包括但不限于以下的一种或多种:控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性。
作为一种优选的技术方案,步骤S2中,两个功能项之间的边的权值计算公式为:
Figure GDA0004136445300000031
0≤Wij≤1,
0≤dc≤1,0≤dd≤1,0≤di≤1,
0≤dp≤1,0≤dt≤1,0≤do≤1;
其中,
i、j表示两个功能项的编号;
wij表示编号为i和j的两个功能项之间的边的权值;
dc表示功能项之间的控制依赖相关性,wc表示dc的分配权重,wc为正实数;
dd表示功能项之间的数据依赖相关性,wd表示dd的分配权重,wd为正实数;
di表示功能项之间的数据交互相关性,wi表示di的分配权重,wi为正实数;
dp表示功能项之间的性能依赖相关性,wp表示dp的分配权重,wp为正实数;
dt表示功能项之间的时序依赖相关性,wt表示dt的分配权重,wt为正实数;
do表示功能项之间的其它依赖相关性,wo表示do的分配权重,wo为正实数。
作为一种优选的技术方案,步骤S3中,计算邻里重叠度采用以下步骤:
S311,找出入度和出度都大于零的所有功能项;
S312,获取第一层次的三元关系组;
S313,获取下一层次的三元关系组;
S314,重复步骤S313,直至获取所有层次的三元关系组;
S315,计算三元关系组的入度功能项和出度功能项的交点数及并集数;
S316,计算得出交点数及并集数的邻里重叠度值。
作为一种优选的技术方案,步骤S3中,计算聚集系数采用以下步骤:
S321,计算功能项的出度:若出度存在且大于1,存入邻居数组,进入步骤S322;否则,出度置为0,计算聚集系数完成;
S322,计算邻居总对数,计算公式为:
邻居总对数=(功能项出度/功能项出度-1)/2;
S323,计算邻居间朋友对个数;
S324,计算聚集系数,计算公式为:
Figure GDA0004136445300000051
其中,Ci表示聚集系数。
作为一种优选的技术方案,步骤S3中,计算功能项推荐系数采用以下公式:
Figure GDA0004136445300000052
其中,Ri表示功能项推荐系数,0≤Ri≤1,n表示三元闭包推荐值的层数,n为正整数,1≤kk≤n,kk为正整数,∑Wij表示与编号为i的功能项直接相连的所有有缺陷功能项的边权值之和,∑Ri(kk)表示与编号为i的功能项相连的所有第kk层三元闭包推荐值之和,Ri(kk)表示编号为i的功能项的第kk层相连三元闭包下的推荐值,Ri(kk)由聚集系数及邻里重叠度计算得出。
作为一种优选的技术方案,步骤S4中,若功能项的推荐系数≥0.5,则将该功能项加入回归测试队列,作为回归测试的输入导入到测试需求分析中,生成软件回归测试用例。
一种软件回归测试影响域分析系统,基于所述的一种软件回归测试影响域分析方法,包括依次相连的以下模块:
有向有权图模型构建模块:用以获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
功能项关联概率计算模块:用以根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
功能项推荐系数计算模块:用以计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
回归测试用例生成模块:用以依据功能项推荐系数的大小,生成软件回归测试用例。
本发明相比于现有技术,具有以下有益效果:
(1)本发明能自动生成回归测试的功能项和测试用例,系统中代码的算法改动或参数变动,开发人员无需关心影响域分析,系统可根据权值,功能项之间的关系,自动选择需要进行回归测试的功能项;
(2)本发明影响域分析维度比较全面,包含控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性和其它依赖相关性等多个维度,并可以在每个维度上分配权重,实验结果比较客观;
(3)本发明结合三元闭包理论、社区现象等计算社会学理论,将软件系统抽象为一个社交网络,软件系统提供的功能抽象为虚拟人,用社区现象原理解决回归测试中的影响与分析问题,尽力捕捉所有可能发生缺陷的功能项及其测试用例;
(4)本发明性能优越,比较精准地定位未通过功能项影响域,实现了测试用例集约简的同时,提高了回归测试充分性,节约了人力成本,较少了资源的消耗;
(5)本发明实现了测试用例集约简的同时,结合功能项社区网络,针对性地给出回归建议,大大降低了人力成本,提高了回归测试效率。
附图说明
图1为本发明所述一种软件回归测试影响域分析方法的步骤示意图;
图2为本发明所述一种软件回归测试影响域分析方法的一个优选实施例的流程图;
图3为本发明所述一种软件回归测试影响域分析系统的结构框图。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图3所示,一种软件回归测试影响域分析方法,包括以下步骤:
S1,构建有向有权图模型:获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
S2,计算功能项关联概率:根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
S3,计算功能项推荐系数:计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
S4,生成回归测试用例:依据功能项推荐系数的大小,生成软件回归测试用例。
作为一种优选的技术方案,步骤S2中,利用有向有权图模型计算功能项与功能项之间的直接关系时,将功能项转换为有向有权图中的点,将功能项与功能项之间的直接关系转换为有向有权图中的边。
作为一种优选的技术方案,步骤S2中,功能项与功能项之间直接关系的关联程度,采用边的权值来描述,边的权值越大,表示两者直接关系的关联程度越大,反之,表示关联程度越小。
作为一种优选的技术方案,步骤S2中,所述依赖相关性包括但不限于以下的一种或多种:控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性。
作为一种优选的技术方案,步骤S2中,两个功能项之间的边的权值计算公式为:
Figure GDA0004136445300000081
0≤wij≤1,
0≤dc≤1,0≤dd≤1,0≤di≤1,
0≤dp≤1,0≤dt≤1,0≤do≤1;
其中,
i、j表示两个功能项的编号;
Wij表示编号为i和j的两个功能项之间的边的权值;
dc表示功能项之间的控制依赖相关性,wc表示dc的分配权重,wc为正实数;
dd表示功能项之间的数据依赖相关性,wd表示dd的分配权重,wd为正实数;
di表示功能项之间的数据交互相关性,wi表示di的分配权重,wi为正实数;
dp表示功能项之间的性能依赖相关性,wp表示dp的分配权重,wp为正实数;
dt表示功能项之间的时序依赖相关性,wt表示dt的分配权重,wt为正实数;
do表示功能项之间的其它依赖相关性,wo表示do的分配权重,wo为正实数。
作为一种优选的技术方案,步骤S3中,计算邻里重叠度采用以下步骤:
S311,找出入度和出度都大于零的所有功能项;
S312,获取第一层次的三元关系组;
S313,获取下一层次的三元关系组;
S314,重复步骤S313,直至获取所有层次的三元关系组;
S315,计算三元关系组的入度功能项和出度功能项的交点数及并集数;
S316,计算得出交点数及并集数的邻里重叠度值。
作为一种优选的技术方案,步骤S3中,计算聚集系数采用以下步骤:
S321,计算功能项的出度:若出度存在且大于1,存入邻居数组,进入步骤S322;否则,出度置为0,计算聚集系数完成;
S322,计算邻居总对数,计算公式为:
邻居总对数=(功能项出度/功能项出度-1)/2;
S323,计算邻居间朋友对个数;
S324,计算聚集系数,计算公式为:
Figure GDA0004136445300000101
其中,Ci表示聚集系数。
作为一种优选的技术方案,步骤S3中,计算功能项推荐系数采用以下公式:
Figure GDA0004136445300000102
其中,Ri表示功能项推荐系数,0≤Ri≤1,n表示三元闭包推荐值的层数,n为正整数,1≤kk≤n,kk为正整数,ΣWij表示与编号为i的功能项直接相连的所有有缺陷功能项的边权值之和,ΣRi(kk)表示与编号为i的功能项相连的所有第kk层三元闭包推荐值之和,Ri(kk)表示编号为i的功能项的第kk层相连三元闭包下的推荐值,Ri(kk)由聚集系数及邻里重叠度计算得出。
作为一种优选的技术方案,步骤S4中,若功能项的推荐系数≥0.5,则将该功能项加入回归测试队列,作为回归测试的输入导入到测试需求分析中,生成软件回归测试用例。
一种软件回归测试影响域分析系统,基于所述的一种软件回归测试影响域分析方法,包括依次相连的以下模块:
有向有权图模型构建模块:用以获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
功能项关联概率计算模块:用以根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
功能项推荐系数计算模块:用以计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
回归测试用例生成模块:用以依据功能项推荐系数的大小,生成软件回归测试用例。
本发明将软件系统抽象为一个社交网络,软件系统提供的功能抽象为虚拟人,为虚拟人之间定义交流通道类型,通过图论和三元闭包理论构建非直接发生联系的人的关系,给出回归建议。首先建立有向有权图模型,所有系统功能项用矩形表示,关系使用带有方向的箭头表示。再结合三元闭包理论,递归计算每一层三元闭包理论下的推荐值,计算出每个功能项的聚集系数,以及三元关系中可能存在关系的两功能项之间的邻里重叠度,最后是每个功能项推荐系数的算法实现,如果推荐系数大于0.5,则将该功能项纳入回归测试。本算法实现了测试用例集约简的同时,结合功能项社区网络,针对性地将可能有缺陷的测试用例进行回归测试,提高了影响域分析的科学性和精准性,并已在工程中进行应用。
本发明解决现有技术问题所采用的方案是:一种软件回归测试影响域分析方法,包括计算功能项直接关系、基于三元闭包理论计算功能项关联概率、计算功能项推荐系数、生成软件测试回归测试用例,其特征在于:该方法首先获取测试轮次下所有功能项,建立有向有权图模型:将所有功能项转换为图中的矩形点,功能项之间的关系,用带方向的箭头表示,并根据功能项与功能项之间的控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性和其它依赖相关性等多个维度综合得出功能项与功能项之间的关联程度权值;接着计算功能项推荐系数:根据有向有权图中带有功能项关联程度的权值,结合三元闭包理论计算聚集系数和邻里重叠度;最后,依据推荐系数的大小,自动生成软件回归测试用例的输入,保证回归测试的有效性和充分性。
控制依赖:功能项间存在控制与被控制的关系,例如功能项A是生产者,功能项B是消费者。
数据依赖:功能项之间存在共享数据的使用,如全局变量等。
数据交互:功能项之间有数据交互,例如功能A需要使用功能B处理后的数据。
性能依赖:功能项对系统的性能(如计算精度,响应时间,CPU/内存/存储资源等)有影响。
时序依赖:功能项之间执行顺序不同对系统可能造成影响,例如多线程间的同步或互斥等。
其它依赖:在上述依赖关系之外的其它依赖。
本发明能自动生成回归测试的功能项和测试用例,系统中代码的算法改动或参数变动,开发人员无需关心影响域分析,系统可根据权值,功能项之间的关系,自动选择需要进行回归测试的功能项。
本发明影响域分析维度比较全面,包含控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性和其它依赖相关性等多个维度,并可以在每个维度上分配权重,实验结果比较客观。
本发明结合三元闭包理论、社区现象等计算社会学理论,将软件系统抽象为一个社交网络,软件系统提供的功能抽象为虚拟人,用社区现象原理解决回归测试中的影响与分析问题,尽力捕捉所有可能发生缺陷的功能项及其测试用例。
试用结果表明,本发明性能优越,比较精准地定位未通过功能项影响域,实现了测试用例集约简的同时,提高了回归测试充分性,节约了人力成本,较少了资源的消耗。
实施例2
如图1至图3所示,作为实施例1的进一步优化,本实施例包含了实施例1的全部技术特征,除此之外,本实施例还包括以下技术特征:
本发明包括获取测试轮次下所有功能项,建立有向有权图模型,计算测试推荐系数,生成软件回归测试用例的输入等步骤。工作流程如图2所示,首先获取软件系统测试轮次下所有功能项,判断功能项的通过状态,如果是通过状态,则推荐系数初始化为1,否则推荐系数初始化为0,推荐系数初始化完成后,需要给功能项之间的边关系多个维度值并赋予权值,接着计算功能项聚集系数,计算邻里重叠度,计算推荐系数,判断功能项的推荐系数值是否大于0.5,如果大于0.5,则加入回归测试队列,作为回归测试的输入导入到测试需求分析中,流程结束,否则流程直接结束。
具体的工作流程如下所述:
1.计算功能项直接关系。
设进行软件回归测试的轮次功能项数量为N,N(i)和N(j)分别表示第i个功能项和第j个功能项,定义(i,j)为边,功能项和功能项之间直接的关系用边的权值Wij来描述,Wij的值介于0和1之间,Wij值越大,说明两者联系更为紧密。
两个功能项之间的边的权值计算公式为:
Figure GDA0004136445300000131
0≤Wij≤1,
0≤dc≤1,0≤dd≤1,0≤di≤1,
0≤dp≤1,0≤dt≤1,0≤do≤1;
其中,
i、j表示两个功能项的编号;
Wij表示编号为i和j的两个功能项之间的边的权值;
dc表示功能项之间的控制依赖相关性,wc表示dc的分配权重,wc为正实数;
dd表示功能项之间的数据依赖相关性,wd表示dd的分配权重,wd为正实数;
di表示功能项之间的数据交互相关性,wi表示di的分配权重,wi为正实数;
dp表示功能项之间的性能依赖相关性,wp表示dp的分配权重,wp为正实数;
dt表示功能项之间的时序依赖相关性,wt表示dt的分配权重,wt为正实数;
do表示功能项之间的其它依赖相关性,wo表示do的分配权重,wo为正实数。
相关性数值越大,表示两个功能项之间该项的联系越紧密;依赖权重越大,说明该项在两者关系中越重要。
2.基于三元闭包理论计算功能项关联概率。
(1)计算邻里重叠度;
邻里重叠度,用Oij来表示,和分别表示第个功能项和第个功能项,N(i)和N(j)分别表示第i个功能项和第j个功能项,通过定义(i,j)边的“与N(i)、N(j)均为邻居的节点数即|N(i)∩N(j)|”与“N(i)、N(j)边中至少一个为邻居的节点数即|N(i)∩N(j)|”的比值,公式如下:
Figure GDA0004136445300000151
计算两个功能项之间邻里重叠度的流程如下:
a)获取所有功能项;
b)找出所有入度和出度都大于零的功能项,即交点;
c)获取第一层次的三元关系组。如果交点的入度是未通过功能项(即有缺陷的功能项,是否有缺陷在获取功能项的过程中可以得到),假设未通过数量为m,遍历交点所有出度,假设出度为n,则保存所有包含任一入度未通过功能项,交点功能项,任一交点出度为一个三元关系组,共有n*m个三元关系组;
d)获取下一层次的三元关系组。对于上一层次的每一个三元关系组,判断出度功能项的出度是否大于0,如果大于0,假设第x层次的出度数量为k(x),以上一层次的三元关系组中交点作为三元关系组的入度点,上一层次的三元关系组中的出度作为交点,任一出度功能项的出度为三元关系组,即共有k(x)个三元关系组;
e)重复步骤d),直到k(x)数量为0,即共有n*m*k(1)*k(2)*…*k(x)个三元关系组;
f)获得了所有的三元关系组之后,计算三元关系组的入度功能项N(i)和出度功能项N(j)的交点数|N(i)∩N(j)|,还有并集数|N(i)∩N(j)|;
g)得出N(i)和N(j)的邻里重叠度值。
(2)计算功能项i的聚集系数Ci,节点A的聚集系数,即A的任意两个朋友也是朋友的概率。
a)获取所有功能项;
b)计算功能项的出度;
c)如果出度存在且大于1,存入邻居数组,往下面步骤走,否则Ci为0,程序结束;
d)计算邻居总对数,公式如所示;
邻居总对数=(功能项出度/功能项出度-1)/2;
e)计算邻居间朋友对个数;
f)计算聚集系数Ci,公式如下:
Figure GDA0004136445300000171
3.计算功能项推荐系数;
a)如果功能项为不通过(即有缺陷的功能项),推荐系数直接为1;
b)如果功能项为通过(即正常的功能项),推荐系数等于所有直接相连的未通过功能项边权重之和,加上所有相连的第一层三元闭包下的推荐值,加上所有相连的第二层三元闭包下的推荐值,一直加到所有相连的第一层三元闭包下的推荐值,若结果大于1,则该功能项的推荐系数等于1。
设功能项N(i)的推荐系数为Ri,第n层相连三元闭包下的推荐值为Ri(n),N(j)表示直接相连的未通过功能项,Wij表示连接功能项N(i)和功能项N(j)边的权值,式中第一个求和表达的是和功能项直接相连的所有未通过功能项的边权值之和,第二个求和表达的是和功能项相连的所有第一层三元闭包推荐值之和,第三个求和表达的是和功能项相连的所有第二层三元闭包推荐值,第n+1个求和表达的是和功能项相连的所有第n层三元闭包推荐值之和,公式如下:
Figure GDA0004136445300000172
其中,若功能项N(i)处于第1层相连三元闭包中,第1层相连三元闭包下的推荐值为Ri(1)的计算方法如公式所示,功能项N(i)为三元关系组中的出度点,N(q)为三元关系组中的交点,功能项N(p)为三元关系组中的入度点,且N(p)为未通过功能项。Opi表示功能项N(p)和功能项N(i)的邻里重叠度,Cq表示功能项N(q)的聚集系数,Rp表示功能项N(p)的推荐系数,Rq表示功能项N(q)的推荐系数,
Figure GDA0004136445300000181
若功能项N(i)处于第2层相连三元闭包中,第2层相连三元闭包下的推荐值为Ri(2)的计算方法如公式所示,功能项N(k)为三元关系组中的出度点,N(q)为三元关系组中的交点,功能项N(p)为三元关系组中的入度点,且N(p)为未通过功能项,功能项N(i)为功能项N(k)的出度点。Oqi表示功能项N(q)和功能项N(i)的邻里重叠度,Ck表示功能项N(k)的聚集系数,Rq表示功能项N(q)的推荐系数,Rk表示功能项N(k)的推荐系数,
Figure GDA0004136445300000182
若功能项N(i)处于第n层相连三元闭包中,第n层相连三元闭包下的推荐值为Ri(n)的计算方法如公式所示,功能项N(k)为三元关系组中的出度点,N(q)为三元关系组中的交点,功能项N(p)为三元关系组中的入度点,且N(p)为未通过功能项,功能项N(a)为功能项N(k)的出度点,功能项N(b)为功能项N(a)的出度点,……,一直到无出度点的功能项N(i)处为止。设功能项N(i)的前两项分别为功能项N(s)和功能项N(t)。Osi表示功能项N(q)和功能项N(i)的邻里重叠度,Ct表示功能项N(k)的聚集系数,Rs表示功能项N(s)的推荐系数,Rt表示功能项N(t)的推荐系数,
Figure GDA0004136445300000183
4.生成软件测试回归测试用例;
根据功能项的推荐系数,若推荐系数大于等于0.5,则自动加入软件回归功能项队列,在轮次功能项树上被选中,用户如果对自动生成的回归测试的输入不满意,也可以手动在轮次功能项树上进行修改,确定导入后,在该项目的测试需求分析中,已出现即将进行测试的所有回归测试功能项。
本发明首先通过多个维度计算软件功能项关联紧密程度,再结合三元闭包理论,将软件系统抽象为一个社交网络,软件系统提供的功能抽象为虚拟人,为虚拟人之间定义交流通道类型,通过图论和三元闭包理论构建非直接发生联系的人的关系,计算出每个功能项的聚集系数,以及三元关系中可能存在关系的两功能项之间的邻里重叠度,最后是每个功能项推荐系数的算法实现,如果推荐系数大于0.5,则将该功能项纳入回归测试,实现了测试用例集约简的同时,结合功能项社区网络,针对性地给出回归建议,大大降低了人力成本,提高了回归测试效率。
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

Claims (3)

1.一种软件回归测试影响域分析方法,其特征在于,包括以下步骤:
S1,构建有向有权图模型:获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
S2,计算功能项关联概率:根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
S3,计算功能项推荐系数:计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
S4,生成回归测试用例:依据功能项推荐系数的大小,生成软件回归测试用例;
步骤S2中,利用有向有权图模型计算功能项与功能项之间的直接关系时,将功能项转换为有向有权图中的点,将功能项与功能项之间的直接关系转换为有向有权图中的边;
步骤S2中,功能项与功能项之间直接关系的关联程度,采用边的权值来描述,边的权值越大,表示两者直接关系的关联程度越大,反之,表示关联程度越小;
步骤S2中,所述依赖相关性包括但不限于以下的一种或多种:控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性;
步骤S2中,两个功能项之间的边的权值计算公式为:
Figure QLYQS_1
0≤Wij≤1,
0≤dc≤1,0≤dd≤1,0≤di≤1,
0≤dp≤1,0≤dt≤1,0≤do≤1;
其中,
i、j表示两个功能项的编号;
Wij表示编号为i和j的两个功能项之间的边的权值;
dc表示功能项之间的控制依赖相关性,wc表示dc的分配权重,wc为正实数;
dd表示功能项之间的数据依赖相关性,wd表示dd的分配权重,wd为正实数;
di表示功能项之间的数据交互相关性,wi表示di的分配权重,wi为正实数;
dp表示功能项之间的性能依赖相关性,wp表示dp的分配权重,wp为正实数;
dt表示功能项之间的时序依赖相关性,wt表示dt的分配权重,wt为正实数;
do表示功能项之间的其它依赖相关性,wo表示do的分配权重,wo为正实数;
步骤S3中,计算邻里重叠度采用以下步骤:
S311,找出入度和出度都大于零的所有功能项;
S312,获取第一层次的三元关系组;
S313,获取下一层次的三元关系组;
S314,重复步骤S313,直至获取所有层次的三元关系组;
S315,计算三元关系组的入度功能项和出度功能项的交点数及并集数;
S316,计算得出交点数及并集数的邻里重叠度值;
步骤S3中,计算聚集系数采用以下步骤:
S321,计算功能项的出度:若出度存在且大于1,存入邻居数组,进入步骤S322;否则,出度置为0,计算聚集系数完成;
S322,计算邻居总对数,计算公式为:
邻居总对数=(功能项出度/功能项出度-1)/2;
S323,计算邻居间朋友对个数;
S324,计算聚集系数,计算公式为:
Figure QLYQS_2
0≤Ci≤1,其中,Ci表示聚集系数;
步骤S3中,计算功能项推荐系数采用以下公式:
Figure QLYQS_3
其中,Ri表示功能项推荐系数,0≤Ri≤1,n表示三元闭包推荐值的层数,n为正整数,1≤kk≤n,kk为正整数,∑Wij表示与编号为i的功能项直接相连的所有有缺陷功能项的边权值之和,∑Ri(kk)表示与编号为i的功能项相连的所有第kk层三元闭包推荐值之和,Ri(kk)表示编号为i的功能项的第kk层相连三元闭包下的推荐值,Ri(kk)由聚集系数及邻里重叠度计算得出。
2.根据权利要求1所述的一种软件回归测试影响域分析方法,其特征在于,步骤S4中,若功能项的推荐系数≥0.5,则将该功能项加入回归测试队列,作为回归测试的输入导入到测试需求分析中,生成软件回归测试用例。
3.一种软件回归测试影响域分析系统,其特征在于,基于权利要求1或2所述的一种软件回归测试影响域分析方法,包括依次相连的以下模块:
有向有权图模型构建模块:用以获取测试轮次下所有功能项,利用功能项结合三元闭包理论建立有向有权图模型;
功能项关联概率计算模块:用以根据功能项与功能项之间的依赖相关性,利用有向有权图模型计算功能项与功能项之间的直接关系,得出功能项与功能项之间的关联程度权值;
功能项推荐系数计算模块:用以计算聚集系数、邻里重叠度,进而计算功能项推荐系数;
回归测试用例生成模块:用以依据功能项推荐系数的大小,生成软件回归测试用例;
功能项关联概率计算模块工作时:
利用有向有权图模型计算功能项与功能项之间的直接关系时,将功能项转换为有向有权图中的点,将功能项与功能项之间的直接关系转换为有向有权图中的边;
功能项与功能项之间直接关系的关联程度,采用边的权值来描述,边的权值越大,表示两者直接关系的关联程度越大,反之,表示关联程度越小;
所述依赖相关性包括但不限于以下的一种或多种:控制依赖相关性、数据依赖相关性、数据交互相关性、性能依赖相关性、时序依赖相关性;
两个功能项之间的边的权值计算公式为:
Figure QLYQS_4
/>
0≤Wij≤1,
0≤dc≤1,0≤dd≤1,0≤di≤1,
0≤dp≤1,0≤dt≤1,0≤do≤1;
其中,
i、j表示两个功能项的编号;
Wij表示编号为i和j的两个功能项之间的边的权值;
dc表示功能项之间的控制依赖相关性,wc表示dc的分配权重,wc为正实数;
dd表示功能项之间的数据依赖相关性,wd表示dd的分配权重,wd为正实数;
di表示功能项之间的数据交互相关性,wi表示di的分配权重,wi为正实数;
dp表示功能项之间的性能依赖相关性,wp表示dp的分配权重,wp为正实数;
dt表示功能项之间的时序依赖相关性,wt表示dt的分配权重,wt为正实数;
do表示功能项之间的其它依赖相关性,wo表示do的分配权重,wo为正实数;
功能项推荐系数计算模块工作时:
计算邻里重叠度采用以下步骤:
S311,找出入度和出度都大于零的所有功能项;
S312,获取第一层次的三元关系组;
S313,获取下一层次的三元关系组;
S314,重复步骤S313,直至获取所有层次的三元关系组;
S315,计算三元关系组的入度功能项和出度功能项的交点数及并集数;
S316,计算得出交点数及并集数的邻里重叠度值;
计算聚集系数采用以下步骤:
S321,计算功能项的出度:若出度存在且大于1,存入邻居数组,进入步骤S322;否则,出度置为0,计算聚集系数完成;
S322,计算邻居总对数,计算公式为:
邻居总对数=(功能项出度/功能项出度-1)/2;
S323,计算邻居间朋友对个数;
S324,计算聚集系数,计算公式为:
Figure QLYQS_5
0≤Ci≤1,其中,Ci表示聚集系数;
计算功能项推荐系数采用以下公式:
Figure QLYQS_6
其中,Ri表示功能项推荐系数,0≤Ri≤1,n表示三元闭包推荐值的层数,n为正整数,1≤kk≤n,kk为正整数,∑Wij表示与编号为i的功能项直接相连的所有有缺陷功能项的边权值之和,∑Ri(kk)表示与编号为i的功能项相连的所有第kk层三元闭包推荐值之和,Ri(kk)表示编号为i的功能项的第kk层相连三元闭包下的推荐值,Ri(kk)由聚集系数及邻里重叠度计算得出。
CN202210083054.3A 2022-01-25 2022-01-25 一种软件回归测试影响域分析方法及系统 Active CN114398291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210083054.3A CN114398291B (zh) 2022-01-25 2022-01-25 一种软件回归测试影响域分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210083054.3A CN114398291B (zh) 2022-01-25 2022-01-25 一种软件回归测试影响域分析方法及系统

Publications (2)

Publication Number Publication Date
CN114398291A CN114398291A (zh) 2022-04-26
CN114398291B true CN114398291B (zh) 2023-06-13

Family

ID=81232637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210083054.3A Active CN114398291B (zh) 2022-01-25 2022-01-25 一种软件回归测试影响域分析方法及系统

Country Status (1)

Country Link
CN (1) CN114398291B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131116A (zh) * 2020-09-25 2020-12-25 中国直升机设计研究所 一种嵌入式软件自动化回归测试方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715034A (zh) * 2015-03-16 2015-06-17 北京航空航天大学 基于中心人物的有权图重叠社区发现方法
CN107193739B (zh) * 2017-05-23 2020-06-05 张泽祎 一种黑盒回归测试方法
US11657311B2 (en) * 2017-06-01 2023-05-23 Northeastern University Link prediction based on 3-step connectivity
CN107920133A (zh) * 2017-12-12 2018-04-17 浙江工业大学 一种基于局部网络中三元闭包信息的推荐方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131116A (zh) * 2020-09-25 2020-12-25 中国直升机设计研究所 一种嵌入式软件自动化回归测试方法

Also Published As

Publication number Publication date
CN114398291A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
Kapur et al. Software reliability assessment with OR applications
McCarl et al. Validation of linear programming models
Cirstea et al. EnhanceNet: Plugin neural networks for enhancing correlated time series forecasting
US20140330758A1 (en) Formal verification result prediction
Pachauri et al. Modeling optimal release policy under fuzzy paradigm in imperfect debugging environment
Hernández-González et al. Learning to classify software defects from crowds: a novel approach
Brázdil et al. Counterexample explanation by learning small strategies in Markov decision processes
Wang et al. On the use of time series and search based software engineering for refactoring recommendation
Jahan et al. Version specific test case prioritization approach based on artificial neural network
CN115699044A (zh) 软件项目的风险评估方法、装置、计算机设备、存储介质
Belli et al. Event-oriented, model-based GUI testing and reliability assessment—approach and case study
CN116662674B (zh) 一种基于高效马尔科夫毯学习机制的服务推荐方法及系统
CN111444635B (zh) 一种基于xml语言的系统动力学仿真建模方法及系统
CN114398291B (zh) 一种软件回归测试影响域分析方法及系统
CN114881343B (zh) 基于特征选择的电力系统短期负荷预测方法及装置
Borgonovo et al. Composite multilinearity, epistemic uncertainty and risk achievement worth
Connett et al. Advancing the use of an analytical hierarchy process and improved random indexes for making prioritized decisions in systems
Hughes et al. Qos explorer: A tool for exploring qos in composed services
Mulla et al. Role of Machine Learning & Artificial Intelligence Techniques in Software Testing
Lee et al. Software reliability prediction for open source software adoption systems based on early lifecycle measurements
Singh et al. Comparative performance of fault-prone prediction classes with k-means clustering and mlp
Vlasov et al. Quality estimation method in advanced software systems
Ahituv et al. Audit planning: An algorithmic approach
Ramadan et al. Reliability assessment for open-source software using deterministic and probabilistic models
CN116069646B (zh) 一种多目标测试性优化的测试集确定方法及系统

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