一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于需求关联的回归测试用例集选择方法与流程

2022-12-20 01:07:52 来源:中国专利 TAG:


1.本发明涉及回归测试技术领域,尤其涉及一种基于需求关联的回归测试用例集选择方法。


背景技术:

2.在回归测试领域,测试用例集的选择策略较多,例如:
3.发明专利cn101908017b公开了一种基于部分多重覆盖的回归测试用例筛选方法,首先根据软件系统特征和测试用例库的历史数据,构建测试需求覆盖矩阵;再针对修改组件,将测试需求集划分为关注集和无关集;采用hats算法选择回归测试集;对于测试用例库的维护,采用基于风险或操作剖面定义测试需求的多重覆盖策略;根据给定的多重覆盖策略,采用mhats算法筛选测试用例集。本发明通过多重覆盖策略来保留冗余的测试用例,从而在精简测试用例库时维持测试用例库的缺陷检测能力;另外在选择回归测试集时面向部分覆盖,同时避免覆盖不相干的测试需求,在进一步减少测试用例数量的同时,降低测试执行和分析的成本。
4.发明专利申请cn104536896a公开了一种面向函数调用路径的回归测试用例选择与排序方法及系统,其中方法包括:查找被修改函数的关联函数,获得被修改函数与关联函数所在的函数调用路径,并根据所述函数调用路径,选择与所述被修改函数与关联函数存在关联关系的测试用例,组成回归测试用例集;对回归测试用例集中的测试用例进行优先级取值并排序,并对排序结果进行动态调整;以及从动态调整后的回归测试用例集中选择测试用例,确定最终的回归测试用例集。
5.发明专利申请cn110941545a公开了一种基于缺陷的回归测试用例的处理方法、装置及计算设备,其中处理方法包括:建立至少一个测试用例与至少一个缺陷的映射关系,其中测试用例是上一轮测试使用的测试用例,缺陷是上一轮测试使用的测试用例检测软件时发现的缺陷;根据映射关系,确定每个测试用例检测缺陷时对应的每种影响因子的能力值;利用每个测试用例的每种影响因子的预设权重值和每个测试用例的能力值,确定每个测试用例的优先级取值;将所有的测试用例按照优先级取值进行优先级排序。
6.但是单独基于需求或基于测试用例优先级进行用例集的选择,都具有一定的片面性。因此,如何从软件缺陷、需求等多维因素出发,选择最合适的回归测试用例集是一个待解决的难题。


技术实现要素:

7.为了解决上述问题,本发明提出一种基于需求关联的回归测试用例集选择方法,基于软件需求关联度、测试用例优先级以及软件缺陷等多维特征,构建回归测试用例集的选择模型,使得回归测试用例集的选择更科学,效率更高,可节约大量的测试成本,并提高软件测试质量。
8.本发明采用的技术方案如下:
9.一种基于需求关联的回归测试用例集选择方法,包括:
10.关联关系基础库构建:针对若干测试需求,建立测试需求间的关联关系并构造需求关联矩阵,设置关系强弱值;将测试需求分解为若干测试项,并构造测试项-需求关联矩阵;再将测试项分解为若干测试用例,构建测试用例到测试项的映射关系,并为测试用例设置优先级排序;再构造测试缺陷到测试用例的关联矩阵;
11.回归测试用例选择模型构建:基于测试缺陷关联测试用例,并基于测试用例关联测试项,再基于测试项关联测试需求,选择不同关系强度的测试需求进行关联;
12.回归测试用例集选择:基于所述回归测试用例选择模型,结合测试需求、测试用例优先级和缺陷库得到最佳回归测试用例集。
13.进一步地,若有m个测试需求,其需求集合d={d1,d2,d3,

,dn},则需求关联矩阵为:
[0014][0015]
其中:r
i,j
为需求di和需求dj的相对需求关联程度。
[0016]
进一步地,将m个测试需求分解为n个测试项,测试项集合为t={t1,t2,t3,

,tn},则测试项-需求关联矩阵为:
[0017][0018]
其中:f
i,j
表示测试项ti对需求dj的覆盖情况。
[0019]
进一步地,一个测试项t
t
设置有s个可选测试用例,可选测试用例集合记为c
t
={c1,c2,c3,

,cs},优先级记为yc
t
={y1,y2,y3,

,ys},其中ys表示测试用例cs在测试项t
t
中的优先级;每一个测试用例与测试项为一一对应关系,即对被测件进行测试将得到n个测试项的测试用例集合c={c1,c2,

,cn}。
[0020]
进一步地,若k个测试缺陷的集合为p={p1,p2,p3,

,pk},则测试缺陷与测试项t
t
的s个测试用例关联矩阵为:
[0021][0022]
其中:o
i,j
表示在测试项t
t
中测试用例cj对缺陷的pi检测情况;
[0023]
针对整个被测件,得到n个测试项与测试缺陷的对应矩阵集合记为m,m={m
pc1
,mpc2
,

,m
pcn
}。
[0024]
进一步地,所述基于缺陷关联测试用例包括:结合测试执行结果,针对发现的k个测试缺陷,基于关联矩阵集合m,获得检测出该测试缺陷的相关测试用例,检测结果测试用例集合为:
[0025]c′
=f(m,p)
[0026]
其中:c

为检索出的测试用例的集合,且c

∈c,f为测试用例关联函数,m为测试缺陷与测试用例的关联矩阵集合,p为测试缺陷的集合。
[0027]
进一步地,所述基于测试用例关联测试项包括:结合测试项的测试用例集合c获取相关的测试项集合:
[0028]
t

=f

(t,c

)
[0029]
其中:t

为检索出的测试项的集合,且t

∈t,f

为关联函数,t为被测件所有测试项的集合,c

为检索出的测试用例的集合。
[0030]
进一步地,所述基于测试项关联需求包括:筛选与集合t

关联的需求,按照需求关联程度,遍历测试项-需求关联矩阵m
td
获得关联需求集合:
[0031]d′


(m
td
,t

)
[0032]
其中:d

为检索出的需求集合,且d

∈d,f

为关联函数,m
td
为需求-测试项关联矩阵,t

为检索出的测试项的集合。
[0033]
进一步地,所述检索关联需求包括:在实际回归测试阶段,选择不同关系强度的需求进行关联:
[0034]d″
=f
″′
(m
dd
,d

,r)
[0035]
其中:d

为指定关联强度的需求集合,f
″′
为关联函数,m
dd
为需求关联矩阵,d

为检索出的需求集合,r为需求之间的关联程度。
[0036]
进一步地,所述回归测试用例集选择包括以下子步骤:
[0037]
在测试阶段,根据缺陷库筛选不同优先级的测试用例:
[0038]dy
=revselection(d

,m
td
)
[0039]
其中:dy为回归测试项集,且dy∈d,revselection为逆向追踪选择函数,d

为指定关联强度的需求集合,m
td
为测试项-需求关联矩阵;
[0040]
若回归测试项集dy包含j个测试项,则回归测试用例集为:
[0041][0042]
其中:cy为回归测试用例集,fc为深度选择函数,d
yi
为第i个回归测试项,ci为测试项i对应的测试用例集合,yci为测试项i内测试用例优先级排序,y为回归深度,即用例优先级获取的程度。
[0043]
本发明的有益效果在于:
[0044]
本发明对回归测试用例集的选择基于多种因素,使得其选择的有效性更高。其次是结合软件缺陷进行回归测试用例集选择,目的性更强,准确率更高。同时,通过关联分析获取需求之间的关联关系,根据关系强弱进行测试用例的选择,对更改影响域有一定的保证。综上,本发明在回归测试用例集的选择时,不仅节约了人力成本,降低了工作量,且提高
了回归测试的效率及准确率。
附图说明
[0045]
图1是本发明实施例的回归测试用例集选择方法流程图。
具体实施方式
[0046]
为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]
如图1所示,本实施例提供了一种基于需求关联的回归测试用例集选择方法,包括关联关系基础库构建、回归测试用例选择模型构建和回归测试用例集选择等三个步骤,可基于软件需求关联度、测试用例优先级以及软件缺陷等多维特征得到最佳的回归测试用例集。
[0048]
(1)关联关系基础库构建
[0049]
针对若干测试需求,建立测试需求间的关联关系并构造需求关联矩阵,设置关系强弱值;将测试需求分解为若干测试项,并构造测试项-需求关联矩阵,再将测试项分解为若干测试用例,构建测试用例到测试项的映射关系,并为测试用例设置优先级排序,最后构造测试缺陷到测试用例的关联矩阵。
[0050]
优选地,若有m个测试需求,其需求集合d={d1,d2,d3,

,dm},则需求关联矩阵为:
[0051][0052]
其中:r
i,j
为需求di和需求dj的相对需求关联程度。具体地,相对需求关联程度由强到弱可设置为5、4、3、2、1、0。
[0053]
再将m个测试需求分解为n个测试项,测试项集合为t={t1,t2,t3,

,tn},则测试项-需求关联矩阵为:
[0054][0055]
其中:f
i,j
表示测试项ti对需求dj的覆盖情况,具体地可设置为1、0,分别表示覆盖、未覆盖。
[0056]
本实施例中,每一个测试用例与测试项为一一对应关系。记一个测试项t
t
设置有s
个可选测试用例,可选测试用例集合记为c
t
={c1,c2,c3,

,cs}。针对被测件进行测试将得到n个测试项的测试用例集合c={c1,c2,

,cn}。
[0057]
在测试项内部进行测试用例的排序可缩小排序范围,确保测试用例的针对性,其优先级记为yc
t
={y1,y2,y3,

,ys},其中ys表示测试用例cs在测试项t
t
中的优先级。具体地,测试用例优先级可设置为1、2、3。
[0058]
记k个测试缺陷的集合为p={p1,p2,p3,

,pk},则测试缺陷与测试项t
t
的s个测试用例关联矩阵为:
[0059][0060]
其中:o
i,j
表示在测试项t
t
中测试用例cj对缺陷的pi检测情况。
[0061]
综上,针对整个被测件,得到n个测试项与测试缺陷的对应矩阵集合记为m,m={m
pc1
,m
pc2
,

,m
pcn
}。
[0062]
(2)回归测试用例选择模型构建
[0063]
基于测试缺陷关联测试用例,并基于测试用例关联测试项,再基于测试项关联测试需求,选择不同关系强度的测试需求进行关联。
[0064]
优选地,基于缺陷关联测试用例包括:结合测试执行结果,针对发现的k个测试缺陷,基于关联矩阵集合m,获得检测出该测试缺陷的相关测试用例,检测结果测试用例集合为:
[0065]c′
=f(m,p)
[0066]
其中:c

为检索出的测试用例的集合,且c

∈c,f为测试用例关联函数,m为测试缺陷与测试用例的关联矩阵集合,p为测试缺陷的集合。
[0067]
优选地,基于测试用例关联测试项包括:结合测试项的测试用例集合c获取相关的测试项集合:
[0068]
t

=f

(t,c

)
[0069]
其中:t

为检索出的测试项的集合,且t

∈t,f

为关联函数,t为被测件所有测试项的集合,c

为检索出的测试用例的集合。
[0070]
优选地,基于测试项关联需求包括:筛选与集合t

关联的需求,按照需求关联程度,遍历测试项-需求关联矩阵m
td
获得关联需求集合:
[0071]d′


(m
td
,t

)
[0072]
其中:d

为检索出的需求集合,且d

∈d,f

为关联函数,m
td
为需求-测试项关联矩阵,t

为检索出的测试项的集合。
[0073]
优选地,检索关联需求包括:在实际回归测试阶段,选择不同关系强度的需求进行关联:
[0074]d″

″′
(m
dd
,d

,r)
[0075]
其中:d

为指定关联强度的需求集合,f
″′
为关联函数,m
dd
为需求关联矩阵,d

为检索出的需求集合,r为需求之间的关联程度。
[0076]
(3)回归测试用例集选择
[0077]
基于回归测试用例选择模型,结合测试需求、测试用例优先级和缺陷库得到最佳回归测试用例集。优选地,包括以下子步骤:
[0078]
在测试阶段,根据缺陷库筛选不同优先级的测试用例:
[0079]dy
=revselection(d

,m
td
)
[0080]
其中:dy为回归测试项集,且dy∈d,revselection为逆向追踪选择函数,d

为指定关联强度的需求集合,m
td
为测试项-需求关联矩阵;
[0081]
若回归测试项集dy包含j个测试项,则回归测试用例集为:
[0082][0083]
其中:cy为回归测试用例集,fc为深度选择函数,d
yi
为第i个回归测试项,ci为测试项i对应的测试用例集合,yci为测试项i内测试用例优先级排序,y为回归深度,即用例优先级获取的程度(0表示获取所有等级)。具体地,可根据需求进行回归深度的选择。
[0084]
需要说明的是,对于前述的方法实施例,为了简便描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献