一种提高分布式系统测试效率的测试方法技术方案

技术编号:37787637 阅读:14 留言:0更新日期:2023-06-09 09:18
本发明专利技术公开了一种提高分布式系统测试效率的测试方法,属于软件工程技术领域,包括S101:获取管理操作参数,业务操作参数和故障操作参数;S102:将所述管理操作参数,所述业务操作参数和所述故障操作参数结对组合生成测试用例集;S103:根据目标公式对所述测试用例集中的数据排序,并生成有序测试用例集;S104:执行所述有序测试用例集,获得目标结果。本方案能够解决软件测试的测试效率与测试充分度之间矛盾的问题。之间矛盾的问题。之间矛盾的问题。

【技术实现步骤摘要】
一种提高分布式系统测试效率的测试方法


[0001]本专利技术属于软件工程
,具体涉及一种提高分布式系统测试效率的测试方法。

技术介绍

[0002]随着互联网用户规模的不断上涨,业务量出现爆发式的增长,传统的集中式架构早已遭遇各种瓶颈。分布式系统从诞生到现在已经过去很长时间了,随着近些年来移动互联网的爆发式增长以及产业互联网,云计算等技术的蓬勃发展,在面对大数据处理,海量存储,边缘计算等云计算场景时,分布式系统充分展现了它的优势:系统处理能力高,分布式系统通常是由多台服务器组成的集群,集群的并行处理能力和存储能力肯定高于单台服务器;扩展性高,不再受限于单台服务器的处理能力和存储能力,能够较容易的进行扩展,根据实际业务发展和需求扩展/缩减分布式系统,充分优化资源利用;系统可用性高,分布式架构中通常不存在单点故障,整个系统不会因为单台服务器的故障导致整体不可用,系统容错性强。
[0003]随着业务的增加,系统的扩展,分布式系统会带来越来越大的工程规模以及复杂程度,各服务之间的协同、管理同样面临着挑战。对于软件测试来说,同样面临着巨大的挑战。过去单服务的测试,按照传统的测试方法论,能较容易的做到路径全覆盖。但在分布式系统里,考虑单个服务的执行路径为n步,如果有m个服务同时并行处理,那么需要测试覆盖在多点故障的情况下,所述故障操作参数列表包括至少两个相同的所述故障列表种情况,才能做到路径全覆盖。按照如上的公式,假如有3个并行处理的服务,每个服务需要4步执行,做到全路径覆盖需要3万多个测试用例,且随着服务数量的增加和每个服务的复杂程度增加,这一数字爆发式增长,显然不能依赖传统的路径覆盖方法测试分布式系统。其次,在分布式系统中,由于多个服务之间是通过网络通信的,网络有一定的不可靠性,会出现网络延迟、丢包、通信失败等情况,而且单个服务在高负载、资源不足或者设计存在缺陷时,会出现服务失败或者直接退出的情况。分布式系统在设计实现时往往都考虑到了容错性,无论是网络不可靠,还是服务失败退出,或单点故障,都不应该影响整个分布式系统的可用性和可靠性。这就对分布式系统的测试提出了更高的要求,测试始终都要保证服务的正确性和可用性。传统的测试方法不再适用于分布式系统的测试。

技术实现思路

[0004]本专利技术实施例的目的是提供一种提高分布式系统测试效率的测试方法,能够解决软件测试的测试效率与测试充分度之间矛盾的问题。
[0005]为了解决上述技术问题,本专利技术是这样实现的:
[0006]本专利技术实施例提供了一种提高分布式系统测试效率的测试方法,包括:
[0007]S101:获取管理操作参数,业务操作参数和故障操作参数;
[0008]S102:将所述管理操作参数,所述业务操作参数和所述故障操作参数结对组合生成测试用例集;
[0009]S103:根据目标公式对所述测试用例集中的数据排序,并生成有序测试用例集;
[0010]S104:执行所述有序测试用例集,获得目标结果。
[0011]可选地,所述管理操作为分布式系统的管理功能,所述管理功能包括对权限、资源、服务、监控以及告警项的管理操作;所述业务操作为所述分布式系统的业务功能,所述业务功能包括对象的上传、下载、更新、删除的操作;所述故障操作为所述分布式系统故障,所述系统故障包括断电,重启,断网,进程崩溃,负载高,内存使用高,网络丢包,网络延迟高。
[0012]可选地,所述管理操作参数被定义为M参数,所述业务操作参数被定义为B参数,所述故障操作参数被定义为F参数,任一所述参数被定义为一个测试因子。
[0013]可选地,对所述测试因子具有优先级参数P,时间代价参数T和资源消耗参数R,且所述优先级参数P,所述时间代价参数T和所述资源消耗参数R的取值均为[1,5]。
[0014]可选地,所述优先级参数P的影响因素包括:所述管理操作中对资源或服务操作影响因素,所述业务操作中业务场景因素,所述故障操作中对系统的不确定性或破坏性因素中至少一种。
[0015]可选地,所述时间代价参数T的影响因素包括:所述管理操作中增删一个虚拟资源的所述时间代价参数低于增删一个物理资源的所述时间代价参数,查询操作的所述时间代价参数低于增删操作的所述时间代价参数,所述故障操作中制造网络丢包或者服务器负载高的所述时间代价参数低,制造以及恢复进程崩溃或者服务器断电、重启的故障的所述时间代价参数高。
[0016]可选地,所述资源消耗参数R的影响因素包括:所述管理操作里对磁盘的增加操作的资源消耗参数高,对服务器的增加操作的资源消耗参数高,所述故障操作里模拟对内存的抢占的操作资源消耗参数高。
[0017]可选地,所述测试用例集包括:
[0018]管理操作参数列表:
[0019]{(M1,P
M1
,T
M1
,R
M1
),(M2,P
M2
,T
M2
,R
M2
),

(M
n
,P
Mn
,T
Mn
,R
Mn
)};
[0020]业务操作参数列表:
[0021]{(B1,P
B1
,T
B1
,R
B1
),(B2,P
B2
,T
B2
,R
B2
),

(B
i
,P
Bi
,T
Bi
,R
Bi
)};
[0022]故障操作参数列表:
[0023]{(F1,P
F1
,T
F1
,R
F1
),(F2,P
F2
,T
F2
,R
F2
),

(F
j
,P
Fj
,T
Fj
,R
Fj
)}。
[0024]可选地,所述根据目标公式对所述测试用例集中的数据排序,并生成有序测试用例集,具体包括:
[0025]将所述测试用例集带入所述目标公式中,所述目标公式为测试价值=优先级参数P/(时间代价参数T*资源消耗参数R);
[0026]将各所述测试用例集的数据的测试价值排序,并身长有序测试用例集。
[0027]可选地,在多点故障的情况下,所述故障操作参数列表包括至少两个相同的所述故障列表。
[0028]在本专利技术实施例中,通过对分布式系统测试元素的抽象方式,即将管理、业务、故
障抽象为不同测试类的方式,在分布式系统测试过程中采用结对组合测试的方式,并根据优先级、时间代价、资源消耗对测试用例进行价值估算。本方案能够解决软件测试的测试效率与测试充分度之间矛盾的问题。
附图说明
[0029]图1是本专利技术实施例提供的一种提高分布式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高分布式系统测试效率的测试方法,其特征在于,包括:S101:获取管理操作参数,业务操作参数和故障操作参数;S102:将所述管理操作参数,所述业务操作参数和所述故障操作参数结对组合生成测试用例集;S103:根据目标公式对所述测试用例集中的数据排序,并生成有序测试用例集;S104:执行所述有序测试用例集,获得目标结果。2.根据权利要求1所述的提高分布式系统测试效率的测试方法,其特征在于,所述管理操作为分布式系统的管理功能,所述管理功能包括对权限、资源、服务、监控以及告警项的管理操作;所述业务操作为所述分布式系统的业务功能,所述业务功能包括对象的上传、下载、更新、删除的操作;所述故障操作为所述分布式系统故障,所述系统故障包括断电,重启,断网,进程崩溃,负载高,内存使用高,网络丢包,网络延迟高。3.根据权利要求2所述的提高分布式系统测试效率的测试方法,其特征在于,所述管理操作参数被定义为M参数,所述业务操作参数被定义为B参数,所述故障操作参数被定义为F参数,任一所述参数被定义为一个测试因子。4.根据权利要求3所述的提高分布式系统测试效率的测试方法,其特征在于,对所述测试因子具有优先级参数P,时间代价参数T和资源消耗参数R,且所述优先级参数P,所述时间代价参数T和所述资源消耗参数R的取值均为[1,5]。5.根据权利要求4所述的提高分布式系统测试效率的测试方法,其特征在于,所述优先级参数P的影响因素包括:所述管理操作中对资源或服务操作影响因素,所述业务操作中业务场景因素,所述故障操作中对系统的不确定性或破坏性因素中至少一种。6.根据权利要求4所述的提高分布式系统测试效率的测试方法,其特征在于,所述时间代价参数T的影响因素包括:所述管理操作中增删一个虚拟资源的所述时间代价参数低于增删一个物理资源的所述时间代价参数,查询操作的所述时间代价参数低于增删操作的所述时间代价参数,所述故障操作中制造网络丢包或者服务器负载高的所述时间代价参数低,制造以及恢复进程崩溃或者服务器断电、重启的故障的所述时间代价参数高。7.根据权利要求4所述的提高分布式系统测试效率的测试方法,其特征在于,所述资源消耗参数R的影响因素包括:所述管理操作里对磁盘的增加操作的资源消耗参数高,对服务器的增加操作的资源消耗参数高,所述故障操...

【专利技术属性】
技术研发人员:魏玮江峰李桐孙东
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1