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

非功能测试方法、装置、设备与流程

2022-10-26 09:06:56 来源:中国专利 TAG:


1.本公开涉及非功能测试技术,尤其涉及一种非功能测试方法、装置、设备。


背景技术:

2.目前,微服务架构越来越流行。微服务架构是把业务功能和需求拆分成多个微服务。每个微服务独立部署成一个微服务集群。每个微服务集群至少由两台应用服务器组成。整个微服务系统由多个微服务集群组成,每个集群负责一个相对独立的功能。为了保证微服务系统的有效运行,对微服务系统进行非功能性测试,是非常有必要的。非功能测试是一种软件测试类型,用于测试和验证软件系统的非功能指标,包括性能,可靠性,可用性、集群有效性,一键启停有效性,服务进程自我拉起有效性等。
3.现有技术中,通过人工测试的方法,对微服务系统进行非功能性测试。
4.但是,人工测试的方式效率低,易出错。


技术实现要素:

5.本公开提供了一种非功能测试方法、装置、设备,以解决现有技术中采人工测试的方式效率低,易出错的问题。
6.根据本公开第一方面,提供了一种非功能测试方法,应用于发测系统;预先设置有目标脚本包,所述目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;
7.所述方法包括循环执行下述步骤,直到所述目标脚本包中的每个目标脚本均被执行完毕为止:
8.所述发测系统运行所述目标脚本,并根据所述目标脚本向所述受测系统发送测试请求;所述受测系统中与所述目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制所述目标微服务集群中的服务器;其中,预先设置有逻辑时序表,所述逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;
9.所述发测系统在与所述当前测试任务对应的测试停止时刻关闭所述目标脚本;其中,所述逻辑时序表中包括各测试任务的测试停止时刻;
10.预设时长后,所述发测系统继续执行所述运行所述目标脚本的步骤,直到所述目标微服务集群的各测试任务均被执行完毕为止。
11.根据本公开第二方面,提供了一种非功能测试方法,应用于受测系统;预先设置有目标脚本包,所述目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;所述方法包括:
12.接收发测系统发送的测试请求,其中,所述发测系统用于运行目标脚本,并根据所述目标脚本向所述受测系统发送测试请求;
13.所述受测系统中与所述目标脚本对应的目标微服务集群,在与当前测试任务对应的第一指定时刻,基于指定控制方式控制所述目标微服务集群中的服务器;其中,预先设置
有逻辑时序表,所述逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;
14.在测试停止时刻停止接收所述发测系统发送的所述测试请求;其中,所述逻辑时序表中包括各测试任务的测试停止时刻;
15.预设时长后,继续执行接收所述发测系统发送的所述测试请求的步骤,直到所述目标微服务集群的各测试任务均被执行完毕为止。
16.根据本公开第三方面,提供了一种非功能测试装置,应用于发测系统;预先设置有目标脚本包,所述目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;
17.所述装置包括循环执行下述步骤,直到所述目标脚本包中的每个目标脚本均被执行完毕为止:
18.开始测试单元,用于所述发测系统运行所述目标脚本,并根据所述目标脚本向所述受测系统发送测试请求;所述受测系统中与所述目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制所述目标微服务集群中的服务器;其中,预先设置有逻辑时序表,所述逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;
19.结束测试单元,用于所述发测系统在与所述当前测试任务对应的测试停止时刻关闭所述目标脚本;其中,所述逻辑时序表中包括各测试任务的测试停止时刻;
20.所述开始测试单元,还用于预设时长后,所述发测系统继续执行所述运行所述目标脚本的步骤,直到所述目标微服务集群的各测试任务均被执行完毕为止。
21.根据本公开第四方面,提供了一种非功能测试装置,应用于受测系统;预先设置有目标脚本包,所述目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;所述装置包括:
22.接收单元,用于接收发测系统发送的测试请求,其中,所述发测系统用于运行目标脚本,并根据所述目标脚本向所述受测系统发送测试请求;
23.测试单元,用于所述受测系统中与所述目标脚本对应的目标微服务集群,在与当前测试任务对应的第一指定时刻,基于指定控制方式控制所述目标微服务集群中的服务器;其中,预先设置有逻辑时序表,所述逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;
24.所述接收单元,还用于在测试停止时刻停止接收所述发测系统发送的所述测试请求;其中,所述逻辑时序表中包括各测试任务的测试停止时刻;
25.所述接收单元,还用于预设时长后,继续执行接收所述发测系统发送的所述测试请求的步骤,直到所述目标微服务集群的各测试任务均被执行完毕为止。
26.根据本公开第五方面,提供了一种电子设备,包括存储器和处理器;其中,
27.所述存储器,用于存储计算机程序;
28.所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行如第一方面、第二方面所述的方法。
29.根据本公开第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面、第二方面所述的方法。
30.根据本公开第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面、第二方面所述的方法。
31.本公开提供的非功能测试方法、装置、设备,包括:循环执行下述步骤,直到目标脚本包中的每个目标脚本均被执行完毕为止:发测系统运行目标脚本,并根据目标脚本向受测系统发送测试请求;受测系统中与目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;发测系统在与当前测试任务对应的测试停止时刻关闭目标脚本;其中,逻辑时序表中包括各测试任务的测试停止时刻;预设时长后,发测系统继续执行运行目标脚本的步骤,直到目标微服务集群的各测试任务均被执行完毕为止。本方案提供的非功能测试方法、装置、设备中,可以根据预设的逻辑时序表,并利用预设的目标脚本包,自动控制发测系统对受测系统进行非功能测试。可以提高非功能测试的效率,且不易出错。
附图说明
32.图1为本公开一示例性实施例示出的非功能测试方法的流程示意图;
33.图2为本公开另一示例性实施例示出的非功能测试方法的流程示意图;
34.图3为本公开一示例性实施例示出的非功能测试系统示意图;
35.图4为本公开一示例性实施例示出的非功能测试装置的结构图;
36.图5为本公开另一示例性实施例示出的非功能测试装置的结构图;
37.图6为本公开一示例性实施例示出的电子设备的结构图。
具体实施方式
38.目前,微服务架构越来越流行。微服务架构是把业务功能和需求拆分成多个微服务。每个微服务独立部署成一个微服务集群。每个微服务集群至少由两台应用服务器组成。整个微服务系统由多个微服务集群组成,每个集群负责一个相对独立的功能。为了保证微服务系统的有效运行,对微服务系统进行非功能性测试,是非常有必要的。非功能测试是一种软件测试类型,用于测试和验证软件系统的非功能指标,包括性能,可靠性,可用性、集群有效性,一键启停有效性,服务进程自我拉起有效性等。现有技术中,通过人工测试的方法,对微服务系统进行非功能性测试。具体的,以集群有效性测试(停服务)为例,首先需要在发测系统上发起测试,一段时间后需要手工关闭一台服务器的服务,再过一段时间后手工启动刚才停下来的服务,最后在发测系统上结束测试。在非功能测试期间,需要软件测试工程师在场手工执行相应的操作。对于微服务系统进行非功能测试,每一个微服务集群都需要独立进行集群有效性测试(停服务)、集群有效性测试(进程挂起)、集群有效性测试(宕机)、服务进程自我拉起有效性测试、一键启停有效性测试。因此,非功能测试的工作量与微服务集群数量成正比。
39.但是,人工测试的方式,尤其是对于微服务集群数量很多的系统来说,非功能测试的工作量就很繁重,非功能测试的工作是重复性的,消耗了软件测试工程师的大量的宝贵的时间,效率低下,无法在凌晨、节假日等非工作时间段进行非功能测试,且人工测试易出错。为了解决上述技术问题,本公开提供的方案中,可以根据预设的逻辑时序表,并利用预
设的目标脚本包,自动控制发测系统对受测系统进行非功能测试。可以提高非功能测试的效率,且不易出错。
40.图1为本公开一示例性实施例示出的非功能测试方法的流程示意图。本实施例提供的非功能测试方法可以应用于发测系统。
41.如图1所示,本实施例提供的非功能测试方法包括:循环执行下述步骤,直到目标脚本包中的每个目标脚本均被执行完毕为止:
42.步骤101,发测系统运行目标脚本,并根据目标脚本向受测系统发送测试请求;受测系统中与目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;预先设置有目标脚本包,目标脚本包中包括与受测系统中各微服务集群对应的目标脚本。
43.其中,本公开提供的方法可以由具备计算能力的电子设备来执行,比如可以是计算机等设备。该电子设备可以运行目标脚本,并根据目标脚本向受测系统发送测试请求。
44.其中,发测系统指发起和结束非功能测试的系统。发测系统可以模拟众多的用户并发地访问受测系统,测试和验证受测系统的性能指标。发测系统通常采用多个线程并发调用受测系统的服务接口,同时采集受测系统的性能指标(可以包括中央处理器使用率、内存使用率、网络吞吐量、磁盘读写量等)。发测系统可以为apache jmeter或者基于apache jmeter做二次开发的非功能测试平台。其中,apache jmeter是一个用java编程语言开发的开源软件,通常用来测试软件系统的性能。
45.具体的,逻辑时序表为预先设置的,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系。可选的,逻辑时序表中还可以包括指定时刻与发测系统向受测系统发起测试之间的对应关系,以及指定时刻与发测系统停止测试之间的对应关系。其中,各指定时刻之间的时间间隔可以根据实际情况预先设置。
46.具体的,在一种可实现方式中,可以分别在发测系统和受测系统的服务器上配置定时任务(例如crontab定时任务),让定时任务根据逻辑时序表在指定时刻根据指定控制方式执行相应的操作。这种方式的特点是无需二次开发。
47.在一种可实现方式中,可以开发一个统一的、中心化的非功能测试平台,由非功能测试平台按照逻辑时序表的时序统一发送操作指令到发测系统或者受测系统的相应的服务器。这种方式的特点是可以实现集中统一管理,使用更简单,但需要做二次开发。
48.具体的,可以预先设置目标脚本包,该目标脚本包为非功能测试脚本包。目标脚本包中包括与受测系统中各微服务集群对应的目标脚本。目标脚本包中还包括与目标脚本对应的测试参数。具体的,在运行目标脚本过程中需要循环的从测试参数中读取数据,生成测试请求,并将测试请求发送给受测系统。
49.具体的,受测系统可以为微服务系统。微服务系统中包括多个微服务集群,每个微服务集群负责一个相对独立的功能。在进行非功能测试过程中,需要调用受测系统的接口,并检查响应报文,判断执行结果是否成功。调用不同的接口的业务逻辑是不同的,例如调用根据打折券账号查询打折券详情的接口和领取打折券的接口很显然是不同,不仅使用了不同的超文本传输协议方法,而且连测试请求也是不同的。因此需要针对每个微服务集群编写对应的脚本包。与微服务系统中各微服务集群对应的各脚本包组合在一起,得到目标脚
本包。
50.具体的,可以根据逻辑时序表,在指定时刻向发测系统发送开始测试指令,发测系统可以接收并响应该开始测试指令,并运行与该指令对应的目标脚本,根据该目标脚本向受测系统发送测试请求。
51.具体的,目标脚本中可以包括发送测试请求的每秒事务数(transaction per second,tps)。
52.进一步的,受测系统可以接收发测系统发送的测试请求。并可以利用受测系统中的微服务网关,将测试请求分配给对应的目标微服务集群中的服务器来处理。
53.其中,可以预先设置多种测试任务,来对受测系统进行非功能测试。多种测试任务可以按照预设的顺序依次进行测试。
54.具体的,可以在逻辑时序表中与当前测试任务对应的第一指定时刻,基于指定的控制方式,向目标微服务集群中的服务器发送指定的控制指令来控制该服务器,该服务器可以接收并响应该控制指令。
55.其中,当前测试任务中可以包括多个第一指定时刻与指定控制方式的对应关系。
56.步骤102,发测系统在与当前测试任务对应的测试停止时刻关闭目标脚本;其中,逻辑时序表中包括各测试任务的测试停止时刻。
57.具体的,可以在逻辑时序表中与当前测试任务对应的测试停止时刻,向发测系统发送测试停止指令,发测系统可以接收并响应该测试停止指令,关闭目标脚本,并停止向受测系统发送测试请求。
58.具体的,预设时长后,继续执行步骤101,直到目标微服务集群的各测试任务均被执行完毕为止。
59.其中,预设时长指逻辑时序表中预设的从上一次测试任务结束到当前测试任务开始的间隔时间。
60.具体的,上一次测试任务结束后,可以根据逻辑时序表,继续进行接下来的测试任务,直到目标微服务集群的各测试任务均被执行完毕为止。
61.在一种可实现方式中,目标微服务集群的各测试任务均被执行完毕为止之后,经过预设时长后,发测系统基于下一个目标微服务集群,继续执行运行目标脚本的步骤,直到每个目标微服务集群都被遍历完毕为止。
62.其中,预设时长指逻辑时序表中从上一个目标微服务集群的各测试任务结束到当前目标微服务集群的测试任务开始的间隔时间。具体的,该间隔时间可以与同一个目标微服务集群中从上一次测试任务结束到当前测试任务开始的间隔时间相同。
63.具体的,上一个目标微服务集群的各测试任务结束后,可以根据逻辑时序表,继续进行接下来的目标微服务集群的测试任务,直到每个目标微服务集群都被遍历完毕为止。
64.进一步的,发测系统可以在测试过程中采集受测系统的性能指标,并生成测试报告,供测试人员查看和使用。
65.本公开提供的非功能测试方法,包括:循环执行下述步骤,直到目标脚本包中的每个目标脚本均被执行完毕为止:发测系统运行目标脚本,并根据目标脚本向受测系统发送测试请求;受测系统中与目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑
时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;发测系统在与当前测试任务对应的测试停止时刻关闭目标脚本;其中,逻辑时序表中包括各测试任务的测试停止时刻;预设时长后,发测系统继续执行运行目标脚本的步骤,直到目标微服务集群的各测试任务均被执行完毕为止。本公开采用的方法中,可以根据预设的逻辑时序表,并利用预设的目标脚本包,自动控制发测系统对受测系统进行非功能测试。可以提高非功能测试的效率,且不易出错。
66.图2为本公开另一示例性实施例示出的非功能测试方法的流程示意图。本实施例提供的非功能测试方法可以应用于受测系统。
67.如图2所示,本实施例提供的非功能测试方法包括:
68.步骤201,接收发测系统发送的测试请求,其中,发测系统用于运行目标脚本,并根据目标脚本向受测系统发送测试请求;其中,预先设置有目标脚本包,目标脚本包中包括与受测系统中各微服务集群对应的目标脚本。
69.其中,受测系统可以为微服务系统。微服务系统中包括多个微服务集群,每个微服务集群包括至少两台服务器。
70.具体的,发测系统可以根据预设的逻辑时序表,运行目标脚本,并向受测系统发送测试请求。
71.具体的,受测系统可以接收并响应发测系统发送的测试请求。具体的,可以利用受测系统中的微服务网关,将测试请求分配给对应的目标微服务集群中的服务器来处理。
72.步骤202,受测系统中与目标脚本对应的目标微服务集群,在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系。
73.其中,可以预先设置多种测试任务,来对受测系统进行非功能测试。多种测试任务可以按照预设的顺序依次进行测试。
74.具体的,可以在逻辑时序表中与当前测试任务对应的第一指定时刻,基于指定的控制方式,向目标微服务集群中的服务器发送指定的控制指令来控制该服务器,该服务器可以响应该控制指令。
75.其中,当前测试任务中可以包括多个第一指定时刻与指定控制方式的对应关系。
76.在一种可实现方式中,测试任务包括如下至少一项:一键启停有效性测试、进程挂起测试、宕机测试、服务进程自我拉起有效性测试、停服务测试。
77.其中,停服务测试、进程挂起测试、宕机测试,属于集群有效性测试。集群有效性测试是一种用来验证集群有效性的测试类型。在集群有效性测试中,需要采用多种方式模拟服务器发生故障。常见的模拟服务器故障的方式有停服务、进程挂起和宕机三种。因此,集群有效性测试可以细分为停服务测试、进程挂起测试、宕机测试三种子测试类型。
78.可选的,若当前测试任务为一键启停有效性测试;第一指定时刻包括第一时刻、第二时刻;则在第一时刻,关闭目标微服务集群中的服务器的第一服务进程;在第二时刻,恢复第一服务进程。
79.具体的,根据逻辑时序表,在第一时刻,向受测系统发送进程结束指令,受测系统可以接收并响应该进程结束指令,关闭目标微服务集群中的服务器的第一服务进程。其中,第一服务进程可以为目标微服务集群中的服务器的随机的一个进程。
80.经过一段时间之后,可以根据逻辑时序表,在第二时刻,向受测系统发送进程恢复指令,受测系统可以接收并响应该进程恢复指令,恢复该第一服务进程。
81.具体的,在一键启停有效性测试中,可以采集的受测系统性能参数包括:第一服务进程的进程结束过程中受测集群的每秒事务数、资源利用率和进程结束耗时中的至少一项;以及第一服务进程的进程恢复过程中受测集群的每秒事务数、资源利用率和进程恢复耗时中的至少一项。具体的,可以从受测系统的日志中获取性能参数。
82.可选的,若当前测试任务为进程挂起测试;第一指定时刻包括第三时刻、第四时刻;则在第三时刻,挂起目标微服务集群中的服务器的第二服务进程;在第四时刻,恢复第二服务进程。
83.具体的,根据逻辑时序表,在第三时刻,向受测系统发送进程挂起指令,受测系统可以接收并响应该进程挂起指令,挂起目标微服务集群中的服务器的第二服务进程。其中,第二服务进程可以为目标微服务集群中服务器的随机的一个进程。
84.经过一段时间之后,可以根据逻辑时序表,在第四时刻,向受测系统发送进程恢复指令,受测系统可以接收并响应该进程恢复指令,恢复该第二服务进程。
85.具体的,在进程挂起测试中,可以采集的受测系统性能参数包括:第二服务进程的进程挂起过程中受测集群的每秒事务数、资源利用率、报错情况和进程挂起耗时中的至少一项;以及第二服务进程的进程恢复挂起过程中受测集群的每秒事务数、资源利用率、报错情况和挂起恢复耗时中的至少一项。具体的,可以从受测系统的日志中获取性能参数。
86.可选的,若当前测试任务为宕机测试;第一指定时刻包括第五时刻、第六时刻;则在第五时刻,关闭目标微服务集群中的第一服务器;在第六时刻,开启第一服务器。
87.具体的,根据逻辑时序表,在第五时刻,向受测系统发送服务器关闭指令,受测系统可以接收并响应该服务器关闭指令,关闭目标微服务集群中的第一服务器。其中,第一服务器可以为目标微服务集群中随机的一个服务器。
88.经过一段时间之后,可以根据逻辑时序表,在第六时刻,向受测系统发送服务器开启指令,受测系统可以接收并响应该服务器开启指令,开启该第一服务器。
89.具体的,在宕机测试中,可以采集的受测系统性能参数包括:第一服务器关闭过程中受测集群的每秒事务数、资源利用率、报错情况和服务器关闭耗时中的至少一项;以及第一服务器开启过程中受测集群的每秒事务数、资源利用率、报错情况和服务器开启耗时中的至少一项。具体的,可以从受测系统的日志中获取性能参数。
90.可选的,若当前测试任务为服务进程自我拉起有效性测试;第一指定时刻包括第七时刻;则在第七时刻,关闭目标微服务集群中的服务器的第三服务进程。
91.具体的,根据逻辑时序表,在第七时刻,向受测系统发送进程结束指令,受测系统可以接收并响应该进程结束指令,关闭目标微服务集群中的服务器的第三服务进程。其中,第三服务进程可以为目标微服务集群中的服务器的随机的一个进程。
92.具体的,在服务进程自我拉起有效性测试中,可以采集的受测系统性能参数包括:受测集群的每秒事务数、资源利用率、第三服务进程的进程结束耗时和进程的自我启动情况中的至少一项。具体的,可以从受测系统的日志中获取性能参数。
93.可选的,若当前测试任务为停服务测试;第一指定时刻包括第八时刻、第九时刻;则在第八时刻,关闭目标微服务集群中的服务器的第四服务进程;在第九时刻,恢复第四服
务进程。
94.具体的,根据逻辑时序表,在第八时刻,向受测系统发送进程结束指令,受测系统可以接收并响应该进程结束指令,关闭目标微服务集群中的服务器的第四服务进程。其中,第四服务进程可以为目标微服务集群中的服务器的随机的一个进程。
95.经过一段时间之后,可以根据逻辑时序表,在第九时刻,向受测系统发送进程恢复指令,受测系统可以接收并响应该进程恢复指令,恢复该第四服务进程。
96.具体的,在停服务测试中,可以采集的受测系统性能参数包括:第四服务进程结束时间、第四服务进程切换时间。具体的,可以从受测系统的日志中获取性能参数。
97.步骤203,在测试停止时刻停止接收发测系统发送的测试请求;其中,逻辑时序表中包括各测试任务的测试停止时刻。
98.具体的,预设时长后,继续执行步骤201,直到目标微服务集群的各测试任务均被执行完毕为止。
99.具体的,可以在逻辑时序表中与当前测试任务对应的测试停止时刻,向发测系统发送测试停止指令,发测系统可以接收并响应该测试停止指令,关闭目标脚本,并停止向受测系统发送测试请求。相应的,测试系统停止接收发测系统发送的测试请求。
100.其中,预设时长指逻辑时序表中预设的从上一次测试任务结束到当前测试任务开始的间隔时间。
101.具体的,可以根据逻辑时序表对目标微服务集群的各测试任务全部执行完毕。
102.进一步的,可以根据逻辑时序表对各目标微服务集群的各测试任务全部执行完毕。
103.图3为本公开一示例性实施例示出的非功能测试系统示意图。
104.如图3所示,非功能测试系统包括发测系统和受测系统。其中,受测系统可以为微服务系统。微服务系统包括微服务网关以及多个微服务集群。每个微服务集群中包括多台服务器。图3中标识的集群1、集群2、集群m用以表示不同的微服务集群。图3中标识的应用服务器1、应用服务器2、应用服务器n用以表示不同微服务集群中包括的多台服务器。
105.该非功能测试系统的测试过程为:
106.根据预设的逻辑时序表,在指定时刻向发测系统发送开始测试指令,发测系统可以接收并响应该开始测试指令,并运行与该指令对应的目标脚本,根据该目标脚本向受测系统发送测试请求。
107.受测系统可以接收并响应受测系统发送的测试请求,并利用受测系统中的微服务网关,将测试请求分配给对应的目标微服务集群中的服务器来处理。
108.根据逻辑时序表,在指定时刻向受测系统发送基于指定控制方式控制目标微服务集群中的服务器的控制指令;受测系统可以接收并响应该控制指令;
109.根据逻辑时序表,在逻辑时序表中当前测试任务的测试停止时刻,向发测系统发送停止测试指令。发测系统可以接收并响应该测试指令,结束当前测试任务。
110.类似的,接下来可以根据逻辑时序表,继续进行接下来的测试任务,直到目标微服务集群的各测试任务均被执行完毕为止。
111.具体的,上一个目标微服务集群的各测试任务结束后,可以根据逻辑时序表,继续进行接下来的目标微服务集群的测试任务,直到每个目标微服务集群都被遍历完毕为止。
112.进一步的,发测系统可以在测试过程中采集受测系统的性能指标,并生成测试报告,供测试人员查看和使用。
113.图4为本公开一示例性实施例示出的非功能测试装置的结构图。本实施例提供的非功能测试装置可以应用于发测系统。
114.如图4所示,本公开提供的非功能测试装置400,包括:循环执行下述步骤,直到目标脚本包中的每个目标脚本均被执行完毕为止:
115.开始测试单元410,用于发测系统运行目标脚本,并根据目标脚本向受测系统发送测试请求;受测系统中与目标脚本对应的目标微服务集群,用于在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;其中,预先设置有目标脚本包,目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;
116.结束测试单元420,用于发测系统在与当前测试任务对应的测试停止时刻关闭目标脚本;其中,逻辑时序表中包括各测试任务的测试停止时刻;
117.开始测试单元410,还用于预设时长后,发测系统继续执行运行目标脚本的步骤,直到目标微服务集群的各测试任务均被执行完毕为止。
118.非功能测试装置400还用于目标微服务集群的各测试任务均被执行完毕为止之后,经过预设时长后,发测系统基于下一个目标微服务集群,继续执行运行目标脚本的步骤,直到每个目标微服务集群都被遍历完毕为止。
119.图5为本公开另一示例性实施例示出的非功能测试装置的结构图。本实施例提供的非功能测试装置可以应用于受测系统。
120.如图5所示,本公开提供的非功能测试装置500,包括:
121.接收单元510,用于接收发测系统发送的测试请求,其中,发测系统用于运行目标脚本,并根据目标脚本向受测系统发送测试请求;其中,预先设置有目标脚本包,目标脚本包中包括与受测系统中各微服务集群对应的目标脚本;
122.测试单元520,用于受测系统中与目标脚本对应的目标微服务集群,在与当前测试任务对应的第一指定时刻,基于指定控制方式控制目标微服务集群中的服务器;其中,预先设置有逻辑时序表,逻辑时序表中包括各测试任务的指定时刻与指定控制方式之间的对应关系;
123.接收单元510,还用于在测试停止时刻停止接收发测系统发送的测试请求;其中,逻辑时序表中包括各测试任务的测试停止时刻;
124.接收单元510,还用于预设时长后,继续执行接收发测系统发送的测试请求的步骤,直到目标微服务集群的各测试任务均被执行完毕为止。
125.在一种可实现方式中,测试任务包括如下至少一项:一键启停有效性测试、进程挂起测试、宕机测试、服务进程自我拉起有效性测试、停服务测试。
126.测试单元520,具体用于若当前测试任务为一键启停有效性测试;第一指定时刻包括第一时刻、第二时刻;则在第一时刻,关闭目标微服务集群中的服务器的第一服务进程;在第二时刻,恢复第一服务进程。
127.测试单元520,具体用于若当前测试任务为进程挂起测试;第一指定时刻包括第三时刻、第四时刻;则在第三时刻,挂起目标微服务集群中的服务器的第二服务进程;在第四
时刻,恢复第二服务进程。
128.测试单元520,具体用于若当前测试任务为宕机测试;第一指定时刻包括第五时刻、第六时刻;则在第五时刻,关闭目标微服务集群中的第一服务器;在第六时刻,开启第一服务器。
129.测试单元520,具体用于若当前测试任务为服务进程自我拉起有效性测试;第一指定时刻包括第七时刻;则在第七时刻,关闭目标微服务集群中的服务器的第三服务进程。
130.测试单元520,具体用于若当前测试任务为停服务测试;第一指定时刻包括第八时刻、第九时刻;则在第八时刻,关闭目标微服务集群中的服务器的第四服务进程;在第九时刻,恢复第四服务进程。
131.图6为本公开一示例性实施例示出的电子设备的结构图。
132.图6为本公开一示例性实施例示出的电子设备的结构图。
133.如图6所示,本实施例提供的电子设备包括:
134.存储器601;
135.处理器602;以及
136.计算机程序;
137.其中,计算机程序存储在存储器601中,并配置为由处理器602执行以实现如上的任一种非功能测试方法。
138.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现如上的任一种非功能测试方法。
139.本实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一种非功能测试方法。
140.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
141.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

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

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

相关文献