一种性能测试方法、装置、计算机设备和存储介质与流程

未命名 07-27 阅读:250 评论:0


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.计划生成模块,用于基于所述项目详情信息和项目指标信息,生成测试计划信息;
33.报告生成模块,用于在达到针对所述待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试,并生成与所述测试计划信息匹配的测试报告。
34.一种可选的实施方式中,所述装置还包括监控展示模块,用于在所述压力测试过程中,按照所述测试计划信息中指示的多种测试指标,对所述测试指标对应的测试结果数据进行监控,并对监控到的所述测试结果数据进行可视化展示;其中,所述测试结果数据中包括从所述被测服务器资源获取到的资源使用情况,以及从所述目标压力集群资源获取到的该目标压力集群资源记录的所述被测服务器资源的业务数据。
35.一种可选的实施方式中,所述装置还包括资源获取模块,用于在所述调用配置的
压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试之前,获取资源配置信息;
36.按照所述资源配置信息,从部署的候选压力集群资源中筛选出用于对所述被测服务器资源进行压力测试的所述目标压力集群资源。
37.一种可选的实施方式中,所述装置还包括资源释放模块,用于响应于所述待测试项目的生命周期结束或者压力测试终止,删除所述目标压力集群资源以及所述被测服务器资源中、与所述压力测试相关的测试工具和测试结果数据,以进行资源释放。
38.一种可选的实施方式中,所述计划生成模块,用于基于所述项目详情信息,对所述项目指标信息中的多种测试指标进行测算,生成指标参考数据;所述指标参考数据用于作为所述被测服务器资源的性能测试结果的判断条件;
39.基于所述项目详情信息和所述指标参考数据,生成所述测试计划。
40.一种可选的实施方式中,所述报告生成模块,用于响应于所述待测试项目的生命周期结束,收集监控到的所述测试指标对应的测试结果数据;
41.基于所述测试计划信息中的所述指标参考数据,以及所述测试结果数据,生成所述被测服务器资源的性能测试结果;
42.基于所述性能测试结果,生成所述测试报告。
43.一种可选的实施方式中,所述装置还包括信息发送模块,用于在生成所述测试报告之后,将所述测试报告发送给目标干系对象。
44.一种可选的实施方式中,所述装置还包括定时归档模块,用于响应于达到预设定时回收任务的定时时间,在满足预设归档条件的情况下,将所述测试计划信息、所述测试报告、监控到的所述测试指标对应的测试结果数据打包至归档目录。
45.一种可选的实施方式中,所述定时归档模块,用于在确定所述测试报告已发送给目标干系对象的情况下,确定满足预设归档条件;和/或
46.在确定所述待测试项目的生命周期结束的情况下,确定满足预设归档条件。
47.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的性能测试方法的步骤。
48.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的性能测试方法的步骤。
49.第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面,或第一方面中任一种可能的性能测试方法的步骤。
50.关于上述性能测试装置、计算机设备和存储介质的效果描述参见上述性能测试方法的说明,这里不再赘述。
51.本公开实施例提供的性能测试方法、装置、计算机设备和存储介质,获取待测试项目的项目详情信息和项目指标信息;待测试项目为采用目标压力集群资源对被测服务器资源进行压力测试的项目;项目详情信息用于为待测试项目提供数据支持,项目指标信息中
包括根据项目详情信息所提供的数据支持制定的多种测试指标;基于项目详情信息和项目指标信息,生成测试计划信息。也即,本公开实施例可以通过配置的项目详情信息和项目指标信息,自动生成测试计划信息,提高测试准备阶段的效率,进而加快待测试项目的整体执行流程;另外,在完成测试准备阶段后,通过预先配置的项目测试时间,定时发起测试任务,即进行压力测试,能够合理利用被测服务器资源的空闲时间,比如,在被测服务器资源空闲时间段执行压力测试任务,不会影响该被测服务器的日常工作,进而加快待测试项目的测试进度。
52.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
53.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
54.图1示出了本公开实施例所提供的一种性能测试方法的流程图;
55.图2示出了本公开实施例所提供的对待测试项目对应的被测服务器资源进行压力测试的流程示意图;
56.图3示出了本公开实施例所提供的生成测试报告并同步发送给目标干系对象的流程示意图;
57.图4示出了本公开实施例所提供的任务准备阶段的流程示意图;
58.图5示出了本公开实施例所提供的测试系统中各个模块的展示示意图;
59.图6示出了本公开实施例所提供的一种性能测试装置的示意图;
60.图7示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
61.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
62.另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
63.在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象
的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
64.经研究发现,传统方案利用压力集群资源对被测服务器资源进行压力测试,在项目准备阶段,工作人员手动编写测试计划,测试计划的编写过程较为繁琐,存在大量数据测算。另外,在压力测试阶段,只能通过工作人员实时发起测试任务,项目被测时间不自由。
65.基于上述研究,本公开提供了一种性能测试方法,利用制定的项目指标信息,按照项目详情信息的指示,自动生成测试计划信息,提高了生成测试计划的效率,进而加快待测试项目的整体执行流程。另外,还通过响应针对待测试项目预先配置的项目测试时间,定时发起测试任务,即进行压力测试,能够合理利用被测服务器资源的空闲时间,进而加快待测试项目的测试进度。
66.以上方案均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
67.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
68.下面对本公开实施例的特殊名词做详细介绍:
69.1、jmeter,一种基于java的压力测试工具,用于对软件做压力测试。
70.为便于对本实施例进行理解,首先对本公开实施例所公开的一种性能测试方法进行详细介绍,本公开实施例所提供的性能测试方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该性能测试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
71.2、每秒处理事务数(transaction per second,tps),又称系统吞吐量,他是软件测试结果的测量单位。
72.3、每秒查询率(queries per second,qps),是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
73.4、平均事物响应时间(average response time,art),响应时间是衡量系统处理快慢的重要参考指标,关系到用户的直观使用体验,一般统计的是页面、接口、交易或者一个完整流程的耗时。
74.5、中央处理器(central processing unit,cpu)。
75.6、输入/输出(input/output,io)。
76.7、垃圾回收(garbage collection,gc),是一种java中的垃圾回收器。
77.下面对本公开实施例的性能测试方法做详细说明。
78.参见图1所示,为本公开实施例提供的一种性能测试方法的流程图,所述方法包括步骤s101~s103,其中:
79.s101:获取待测试项目的项目详情信息和项目指标信息。
80.本步骤中,待测试项目可以为采用目标压力集群资源对被测服务器资源进行压力测试的项目;其中,目标压力集群资源可以为按照分布式部署方式部署有jmeter工具的集群服务器。被测服务器资源可以为设定的需要进行压力测试的服务器。被测服务器资源既可以为设置的单个服务器,也可以为包括多个服务器的服务器集群,本公开实施例不进行
具体限定。
81.项目详情信息可以用于为待测试项目提供数据支持,具体的,项目详情信息为被测服务器资源的需求方规定的,可以包括待测试项目对应的测试系统的逻辑架构(比如待测试项目的执行流程)、物理架构(比如待测试项目中的目标程序及其依赖的运行库和测试系统软件的安装、部署规则)、业务预期数据量(比如被测服务器资源预期能够承受的并发数据量)、待测试项目的测试时间、预期用户量、业务模型、待测试项目的生成周期、被测服务器资源上线日期、数据清理策略,针对特殊的测试指标的要求等信息。
82.项目指标信息中包括根据项目详情信息所提供的数据支持,制定的多种测试指标。具体的,可以根据需求方的规定,比如要求测试被测服务器资源的某一特殊性能,如tps,则可以相应地制定一个测试指标tps,以在压力测试过程中获取被测服务器资源的tps的数据。项目指标信息具体可以包括tps、qps、tps波动率、art、响应时间、响应延时、并发用户数、cpu、io、内存、gc间隔、gc耗时、测试用例、测试场景、性能拐点、成功率、铺底数据中的一种或多种测试指标。
83.s102:基于项目详情信息和项目指标信息,生成测试计划信息。
84.在确定了项目详情信息的情况下,可以将项目详情信息作为测试计划信息的一部分,另外,针对项目测试指标,还可以根据项目详情信息和经验设定项目指标信息中的多种测试指标的具体数值,也即指标参考数据。指标参考数据可以用于作为被测服务器资源的性能测试结果的判断条件。例如,可以根据性能测试结果与指标参考数据的对比结果,判断被测服务器资源的性能。之后,可以将得到的项目详情信息,项目指标信息,以及每种测试指标对应的指标参考数据,作为测试计划信息。
85.在一些实施例中,也可以基于项目详情信息,对项目指标信息中的多种测试指标进行测算,生成指标参考数据;基于项目详情信息和指标参考数据,生成测试计划。
86.具体实施中,可以根据项目详情信息所提供的数据支持,制定测试指标的数据计算规则;之后,基于该数据计算规则,对项目指标信息中的多种测试指标进行测算,生成用于评判被测试服务器资源的性能测试结果的指标参考数据。之后,可以将得到的项目详情信息,项目指标信息,以及每种测试指标对应的指标参考数据,作为测试计划信息。
87.上述利用制定的项目指标信息,按照项目详情信息的指示,自动生成测试计划信息,提高了生成测试计划的效率,加快了待测试项目的整体执行流程。
88.另外,在生成测试计划信息的过程中,还可以灵活的选择生成测试计划信息的模板,基于选择出的目标模板生成的测试计划信息能够满足待测试项目的要求。具体的,按照被测服务器资源的需求方规定的,也即基于项目详情信息的指示,从预设模板中筛选目标模板,针对得到的项目详情信息,项目指标信息,以及每种测试指标对应的指标参考数据,按照目标模板生成测试计划信息。这里,不同预设模板生成的测试计划信息的内容相同,测试计划信息展示内容的格式不同。
89.s103:在达到针对待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对待测试项目对应的被测服务器资源进行压力测试,并生成与测试计划信息匹配的测试报告。
90.本步骤中,预先配置的项目测试时间可以是利用测试系统中的定时模块预先设置的待测试项目定时进行压力测试的时间。示例性的,可以预先设置所述被测服务器资源空
闲时间段中的某一时间为项目测试时间,在该被测服务器资源正常工作过程中(比如每天七点到二十三点之间),不执行压力测试任务,当被测服务器资源完全处于空闲状态,即不再执行其他任务时(比如凌晨零点到六点之间),执行压力测试任务。
91.这里,目标压力集群资源可以为部署在测试系统的集群服务器。目标压力集群资源内分布式部署有jmeter工具,在达到针对待测试项目预先配置的项目测试时间时,可以利用jmeter工具对部署的被测服务器资源进行发压,以进行压力测试。这里,通过预先配置的项目测试时间,定时发起测试任务,即进行压力测试,能够合理利用被测服务器资源的空闲时间,比如,在被测服务器资源空闲时间段执行压力测试任务,不会影响该被测服务器的日常工作,进而加快待测试项目的测试进度。
92.在测试过程中,可以获取测试指标对应的测试结果数据,之后,响应于待测试项目的生命周期结束,可以根据测试结果数据生成与测试计划信息匹配的测试报告。
93.获取测试指标对应的测试结果数据,具体的,可以按照测试计划信息中指示的多种测试指标,对测试指标对应的测试结果数据进行监控,获取到测试指标的监控结果,也即测试指标对应的测试结果数据。测试结果数据中包括从被测服务器资源获取到的资源使用情况,以及从目标压力集群资源获取到的该目标压力集群资源记录的被测服务器资源的业务数据。这里,可以实时监控测试指标,或者,也可以定时监控测试指标。
94.示例性的,被测服务器资源可以自动记录资源使用情况,比如cpu,io,内存,gc间隔,gc耗时、虚拟机等信息。目标压力集群资源可以自动记录被测服务器资源的业务数据,比如tps,qps,tps波动率,art,95分位响应时间,并发用户数,铺底数据等信息。
95.在一些实施例中,还可以将监控到的测试结果数据进行可视化展示。例如,可以利用测试系统中的监控模块分别监控资源使用情况和业务数据,并将监控到的资源使用情况和业务数据通过可视化模块反馈到前端页面进行展示。
96.这里,在压力测试过程中,通过可视化展示方式,可以实时观察监控到的测试结果数据,能够及时对待测试项目的压力测试过程进行调整。比如,动态配置部署目标压力集群资源对被测服务器资源进行压力测试,也即在压力测试过程中增加目标压力集群资源或者减少目标压力集群资源。
97.测试报告中可以包括测试结果数据、或者测试结果数据和测试计划信息,或者基于测试计划信息和测试结果数据得到的性能测试结果中的一种或多种数据。
98.响应于待测试项目的生命周期结束,可以根据测试结果数据生成与测试计划信息匹配的测试报告,具体的:
99.在一些实施例中,由于监控的测试指标为测试计划信息中指示的测试指标,因此,在生成测试报告的过程中,能够生成与测试计划信息指示的测试指标对应的测试结果数据,也即与测试计划信息匹配的测试报告。
100.在另一些实施例中,响应于待测试项目的生命周期结束,收集监控到的测试指标对应的测试结果数据,之后,可以进一步根据测试结果数据,以及测试计划信息中的指标参考数据,生成测试报告。具体说明如下:
101.方式1、可以直接将测试结果数据与测试计划信息中的指标参考数据作为测试报告的内容信息,即生成测试报告。
102.方式2、可以基于测试计划信息中的指标参考数据,以及测试结果数据,生成被测
服务器资源的性能测试结果。之后,基于性能测试结果,生成测试报告。
103.具体实施时,可以对测试结果数据进行分析,得到分析结果数据。示例性的,针对测试结果数据中的从被测服务器资源获取到的资源使用情况,提取资源使用情况并分析,生成资源数据折线图;针对测试结果数据中的从目标压力集群资源获取到的该目标压力集群资源记录的被测服务器资源的业务数据,提取记录的被测服务器资源的业务数据并分析,生成业务数据折线图。
104.之后,根据指标参考数据对比分析结果数据(如资源数据折线图和业务数据折线图),生成被测服务器资源的性能测试结果,该性能测试结果能够指示分析结果数据与指标参考数据之间的对比关系,进而判断出被测服务器资源的性能是否满足需求方要求。之后,可以直接将性能测试结果作为测试报告;或者,也可以将测试结果数据、指标参考数据和性能测试结果作为测试报告。
105.方式3、可以基于测试计划信息中的指标参考数据,以及测试结果数据之间的对比结果,生成测试报告。
106.这里,测试计划信息和数据检测结果等自动生成,且格式统一,方便测试报告中指标参考数据与测试结果数据之间的横向对比和纵向对比,有效提高测试人员对被测服务器资源的性能把控程度。
107.示例性的,参见图2所示,其为对待测试项目对应的被测服务器资源进行压力测试的流程示意图。
108.测试系统包括web端,项目管理模块,定时模块,监控模块,资源管理模块,可视化模块等。其中,web端可以通过jmeter中的图形用户界面(graphics user interface,gui)模式本地编辑测试脚本,同步保存格式为.jmx的文件并上传至项目管理模块。在定时模块检测到达到针对待测试项目预先配置的项目测试时间时,项目管理模块启动测试场景,测试场景即为调用配置的目标压力集群资源对待测试项目对应的被测服务器资源进行压力测试的场景,利用监控模块实时监控业务数据和资源使用情况,并将业务数据和资源使用情况映射到可视化模块,可视化模块将业务数据和资源使用情况反馈到web端进行可视化展示。之后,在定时模块检测到达到针对待测试项目的项目生命周期结束时,可以生成与测试计划信息匹配的测试报告,并发送到web端,测试场景完成。
109.在一些实施例中,在生成了测试测试报告之后,不考虑该测试报告的实际内容,可以直接将测试报告发送给目标干系对象。这里,目标干系对象不仅包括待测试项目的测试人员,还包括其他与该待测试项目有关的工作人员,比如需求方的干系人,测试人员的上级主管等等。这里,可以方便目标干系对象实时掌握被测服务器资源的性能情况。
110.在另一些实施例中,在发送测试报告之前,还可以对该测试报告的实际内容进行审核,如果该测试报告显示被测服务器资源的性能测试结果为通过,则可以将测试报告发送给目标干系对象;如果该测试报告显示被测服务器资源的性能测试结果为未通过,则直接删除该测试报告,不再将其推送给目标干系对象。这里,可以仅推送通过性能测试的被测服务器资源的性能测试结果,能够减少测试系统的数据处理量,以延长测试系统运行寿命。
111.示例性的,参见图3所示,其为生成测试报告并同步发送给目标干系对象的流程示意图。这里,测试系统还包括干系对象模块。
112.在定时模块检测到达到待测试项目的生命周期结束的时间时,定时模块向监控模
块发起收集测试结果数据的收集请求,监控模块在接收到收集请求之后,将监控到的被测服务器资源的资源使用情况以及业务数据(也即从资源管理模块中收集到的业务数据),反馈给定时模块,定时模块可以对收集到的测试结果数据进行分析,得到分析结果数据,并根据指标参考数据对比分析结果数据,生成被测服务器资源的性能测试结果,可以将测试结果数据、指标参考数据和性能测试结果组装为测试报告,并发送给干系对象模块,干系对象模块可以将测试报告同步发送给目标干系对象。
113.在一些实施例中,在待测试项目的测试结束后,可以对应清除与压力测试相关的数据,具体的,响应于待测试项目的生命周期结束或者压力测试终止,删除目标压力集群资源以及被测服务器资源中、与压力测试相关的测试工具和测试结果数据,以进行资源释放。
114.这里,待测试项目的生命周期结束可以包括待测试项目的压力测试的流程刚好结束,或已经结束一段时间。压力测试终止可以为在进行压力测试过程中,生命周期还未结束的情况下,终止对被测服务器资源的压力测试。
115.在定时模块检测到待测试项目的生命周期结束或压力测试终止的情况下,可以目标压力集群资源中与压力测试相关的测试工具,比如jmeter工具。被测服务器资源中、与压力测试相关的测试结果数据,比如业务数据和资源使用情况。另外,还可将测试计划、测试脚本、测试报告一并删除。
116.这里,删除目标压力集群资源中与压力测试相关的测试工具后,该目标压力集群资源被释放,可以执行其他项目的性能测试任务。
117.在一些实施例中,还可以利用定时模块定时清理与压力测试相关的数据,具体的,可以根据预先设置的定时清理时间,响应达到该定时清理时间,判断被测服务器资源的生命周期是否结束,也即,判断压力测试流程是否执行完毕。在确定待测试项目的生命周期结束的情况下,删除目标压力集群资源以及被测服务器资源中、与压力测试相关的测试工具和测试结果数据,以进行资源释放。
118.可选的,还可以判断目标压力集群资源的使用周期是否结束,其中,使用周期可以为预先设置的允许目标压力集群资源进行压力测试的时间段。在确定目标压力集群资源的使用周期结束的情况下,删除目标压力集群资源中、与压力测试相关的测试工具,以进行资源释放。
119.这里,定时清理时间可以为被测服务器资源投入工作中的之前的时间,比如,定时清理时间为早晨六点,八点员工上班,被测服务器资源将投入工作中。定时清理时间根据被测服务器资源的应用时间设定,本公开实施例不进行具体限定。
120.在一些实施例中,在清理与压力测试相关的数据之前,还可以对与压力测试相关的数据进行归档。具体的,响应于达到预设定时回收任务的定时时间,在满足预设归档条件的情况下,将测试计划信息、测试报告、监控到的测试指标对应的测试结果数据打包至归档目录。
121.这里,预设定时回收任务可以为将与压力测试相关的数据进行归档的任务。预设定时回收任务的定时时间可以为被测服务器资源投入工作中的之前的时间。这里,可以先进行归档处理,之后,将归档处理结束时间设置为定时清理时间。
122.判断是否满足预设归档条件,具体的,在确定测试报告发送给目标干系对象的情况下,确定满足预设归档条件;和/或,在确定待测试项目的生命周期结束的情况下,确定满
足预设归档条件。
123.这里,将测试报告发送给目标干系对象的过程可以参见图3所示。判断待测试项目的生命周期是否结束,也即,判断压力测试流程是否执行完毕(包括刚刚执行完,或者,已经执行完一段时间)。
124.针对s103,在测试系统中部署有多个候选压力集群资源的情况下,在调用配置的压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试之前,还需要从多个候选压力集群资源中筛选目标压力集群资源。具体的,获取资源配置信息;按照资源配置信息,从部署的候选压力集群资源中筛选出用于对被测服务器资源进行压力测试的目标压力集群资源。
125.这里,资源配置信息可以包括测试人员在web端指定的目标压力集群资源的配置信息。例如,资源配置信息包括目标压力集群资源的网络之间互联的协议(internet protocol,ip)、端口、用户名、密码、使用周期等信息。
126.在执行压力测试任务之前,还包括任务准备阶段,参见图4所示,其为任务准备阶段的流程示意图。
127.预设待部署的候选压力集群资源的配置信息,例如,集群内服务器ip,端口,用户名,密码,使用周期等信息。根据待部署的候选压力集群资源的配置信息,将待部署的候选压力集群资源落库并部署在资源管理模块。预设被测服务器资源的配置信息,例如,服务器ip端口,用户名,密码,使用周期等信息。根据被测服务器资源的配置信息,将被测试服务器资源落库并部署在项目管理模块。将待测试项目的项目详情信息和项目指标信息录入项目管理模块,自动生成测试计划信息。这里,生成测试计划信息的过程可以参见上述s102的执行过程,重复部分在此不再赘述。在生成测试计信息之后,可以将测试计划信息发送到干系对象模块,利用干系对象模块将测试计划信息实时同步发送给目标干系对象。
128.综合上述内容,针对上述实施例涉及到的各个功能做总结性介绍,主要包括:项目管理模块、资源管理模块、监控模块、可视化模块、定时模块和干系对象模块。可以参见图5所示,其为测试系统中各个模块的展示示意图。其中,项目管理模块可以用于管理项目详情信息、项目指标信息和测试计划信息。资源管理模块可以用于管理压力集群资源(包括目标压力集群资源和候选压力集群资源)、测试结果数据的收集和归档、以及数据清理,这里,数据清理可以包括在待测试项目的生命周期结束或者压力测试终止时,删除目标压力集群资源以及被测服务器资源中、与压力测试相关的测试工具和测试结果数据,以进行资源释放。监控模块可以用于对被测服务器资源的资源使用情况进行监控、以及对压力测试过程中的业务数据进行监控。可视化模块可以用于实时反馈监控模块监控到的测试结果数据到web端进行展示。定时模块可以用于定时发起压力测试任务、以及定时收集监控到的各个服务器上的测试结果数据。干系对象模块可以用于配置可实时观察测试结果数据、接收测试报告以及测试计划信息的目标干系对象的操作权限,以及将测试报告和测试计划信息审批归档等。
129.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
130.基于同一发明构思,本公开实施例中还提供了与性能测试方法对应的性能测试装
置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述性能测试方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
131.参照图6所示,为本公开实施例提供的一种性能测试装置的示意图,所述装置包括:信息获取模块601、计划生成模块602和报告生成模块603;其中,
132.信息获取模块601,用于获取待测试项目的项目详情信息和项目指标信息;所述待测试项目为采用目标压力集群资源对被测服务器资源进行压力测试的项目;所述项目详情信息用于为所述待测试项目提供数据支持,所述项目指标信息中包括根据所述项目详情信息所提供的数据支持,制定的多种测试指标;
133.计划生成模块602,用于基于所述项目详情信息和项目指标信息,生成测试计划信息;
134.报告生成模块603,用于在达到针对所述待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试,并生成与所述测试计划信息匹配的测试报告。
135.一种可选的实施方式中,所述装置还包括监控展示模块604,用于在所述压力测试过程中,按照所述测试计划信息中指示的多种测试指标,对所述测试指标对应的测试结果数据进行监控,并对监控到的所述测试结果数据进行可视化展示;其中,所述测试结果数据中包括从所述被测服务器资源获取到的资源使用情况,以及从所述目标压力集群资源获取到的该目标压力集群资源记录的所述被测服务器资源的业务数据。
136.一种可选的实施方式中,所述装置还包括资源获取模块605,用于在所述调用配置的压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试之前,获取资源配置信息;
137.按照所述资源配置信息,从部署的候选压力集群资源中筛选出用于对所述被测服务器资源进行压力测试的所述目标压力集群资源。
138.一种可选的实施方式中,所述装置还包括资源释放模块606,用于响应于所述待测试项目的生命周期结束或者压力测试终止,删除所述目标压力集群资源以及所述被测服务器资源中、与所述压力测试相关的测试工具和测试结果数据,以进行资源释放。
139.一种可选的实施方式中,所述计划生成模块602,用于基于所述项目详情信息,对所述项目指标信息中的多种测试指标进行测算,生成指标参考数据;所述指标参考数据用于作为所述被测服务器资源的性能测试结果的判断条件;
140.基于所述项目详情信息和所述指标参考数据,生成所述测试计划。
141.一种可选的实施方式中,所述报告生成模块603,用于响应于所述待测试项目的生命周期结束,收集监控到的所述测试指标对应的测试结果数据;
142.基于所述测试计划信息中的所述指标参考数据,以及所述测试结果数据,生成所述被测服务器资源的性能测试结果;
143.基于所述性能测试结果,生成所述测试报告。
144.一种可选的实施方式中,所述装置还包括信息发送模块607,用于在生成所述测试报告之后,将所述测试报告发送给目标干系对象。
145.一种可选的实施方式中,所述装置还包括定时归档模块608,用于响应于达到预设定时回收任务的定时时间,在满足预设归档条件的情况下,将所述测试计划信息、所述测试
报告、监控到的所述测试指标对应的测试结果数据打包至归档目录。
146.一种可选的实施方式中,所述定时归档模块608,用于在确定所述测试报告已发送给目标干系对象的情况下,确定满足预设归档条件;和/或
147.在确定所述待测试项目的生命周期结束的情况下,确定满足预设归档条件。
148.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
149.基于同一技术构思,本技术实施例还提供了一种计算机设备。参照图7所示,为本技术实施例提供的计算机设备的结构示意图,包括:
150.处理器71、存储器72和总线73。其中,存储器72存储有处理器71可执行的机器可读指令,处理器71用于执行存储器72中存储的机器可读指令,所述机器可读指令被处理器71执行时,处理器71执行下述步骤:s101:获取待测试项目的项目详情信息和项目指标信息;s102:基于项目详情信息和项目指标信息,生成测试计划信息;s103:在达到针对待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对待测试项目对应的被测服务器资源进行压力测试,并生成与测试计划信息匹配的测试报告。
151.上述存储器72包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当计算机设备运行时,处理器71与存储器72之间通过总线73通信,使得处理器71在执行上述方法实施例中所提及的执行指令。
152.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的性能测试方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
153.本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的性能测试方法的步骤。其中,计算机程序产品可以是任何能实现上述性能测试方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(software development kit,sdk))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述性能测试方法的部分或全部步骤。
154.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
155.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
156.另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以
是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
157.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
158.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种性能测试方法,其特征在于,包括:获取待测试项目的项目详情信息和项目指标信息;所述待测试项目为采用目标压力集群资源对被测服务器资源进行压力测试的项目;所述项目详情信息用于为所述待测试项目提供数据支持,所述项目指标信息中包括根据所述项目详情信息所提供的数据支持,制定的多种测试指标;基于所述项目详情信息和项目指标信息,生成测试计划信息;在达到针对所述待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试,并生成与所述测试计划信息匹配的测试报告。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述压力测试过程中,按照所述测试计划信息中指示的多种测试指标,对所述测试指标对应的测试结果数据进行监控,并对监控到的所述测试结果数据进行可视化展示;其中,所述测试结果数据中包括从所述被测服务器资源获取到的资源使用情况,以及从所述目标压力集群资源获取到的该目标压力集群资源记录的所述被测服务器资源的业务数据。3.根据权利要求1所述的方法,其特征在于,所述调用配置的压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试之前,还包括:获取资源配置信息;按照所述资源配置信息,从部署的候选压力集群资源中筛选出用于对所述被测服务器资源进行压力测试的所述目标压力集群资源。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述待测试项目的生命周期结束或者压力测试终止,删除所述目标压力集群资源以及所述被测服务器资源中、与所述压力测试相关的测试工具和测试结果数据,以进行资源释放。5.根据权利要求1所述的方法,其特征在于,所述基于所述项目详情信息和项目指标信息,生成测试计划信息,包括:基于所述项目详情信息,对所述项目指标信息中的多种测试指标进行测算,生成指标参考数据;所述指标参考数据用于作为所述被测服务器资源的性能测试结果的判断条件;基于所述项目详情信息和所述指标参考数据,生成所述测试计划。6.根据权利要求5所述的方法,其特征在于,所述生成与所述测试计划信息匹配的测试报告,包括:响应于所述待测试项目的生命周期结束,收集监控到的所述测试指标对应的测试结果数据;基于所述测试计划信息中的所述指标参考数据,以及所述测试结果数据,生成所述被测服务器资源的性能测试结果;基于所述性能测试结果,生成所述测试报告。7.根据权利要求1所述的方法,其特征在于,在生成所述测试报告之后,还包括:将所述测试报告发送给目标干系对象。8.根据权利要求1所述的方法,其特征在于,还包括:
响应于达到预设定时回收任务的定时时间,在满足预设归档条件的情况下,将所述测试计划信息、所述测试报告、监控到的所述测试指标对应的测试结果数据打包至归档目录。9.根据权利要求8所述的方法,其特征在于,确定满足预设归档条件,包括:在确定所述测试报告已发送给目标干系对象的情况下,确定满足预设归档条件;和/或在确定所述待测试项目的生命周期结束的情况下,确定满足预设归档条件。10.一种性能测试装置,其特征在于,包括:信息获取模块,用于获取待测试项目的项目详情信息和项目指标信息;所述待测试项目为采用目标压力集群资源对被测服务器资源进行压力测试的项目;所述项目详情信息用于为所述待测试项目提供数据支持,所述项目指标信息中包括根据所述项目详情信息所提供的数据支持,制定的多种测试指标;计划生成模块,用于基于所述项目详情信息和项目指标信息,生成测试计划信息;报告生成模块,用于在达到针对所述待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对所述待测试项目对应的被测服务器资源进行压力测试,并生成与所述测试计划信息匹配的测试报告。11.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至9任一项所述的性能测试方法的步骤。12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任一项所述的性能测试方法的步骤。13.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至9中任意一项所述的性能测试方法的步骤。

技术总结
本公开提供了一种性能测试方法、装置、计算机设备和存储介质,其中,该方法包括:获取待测试项目的项目详情信息和项目指标信息;基于项目详情信息和项目指标信息,生成测试计划信息;在达到针对待测试项目预先配置的项目测试时间时,调用配置的目标压力集群资源对待测试项目对应的被测服务器资源进行压力测试,并生成与测试计划信息匹配的测试报告。成与测试计划信息匹配的测试报告。成与测试计划信息匹配的测试报告。


技术研发人员:杨航
受保护的技术使用者:北京嘀嘀无限科技发展有限公司
技术研发日:2022.01.11
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐