CN112035360A - 中间件测试方法、装置、计算机设备及可读存储介质 - Google Patents
中间件测试方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN112035360A CN112035360A CN202010898571.7A CN202010898571A CN112035360A CN 112035360 A CN112035360 A CN 112035360A CN 202010898571 A CN202010898571 A CN 202010898571A CN 112035360 A CN112035360 A CN 112035360A
- Authority
- CN
- China
- Prior art keywords
- middleware
- target
- tested
- testing
- result
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种中间件测试方法、装置、计算机设备及可读存储介质,涉及互联网技术领域,获取待测试中间件以及性能测试参数,基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果,进而生成性能测试报告,明确待测试中间件的不足之处,用户查看性能测试报告就能进行全方位细致的了解,利用计算机的计算能力提高中间件测试效率,无需人工测试,降低了测试的成本和难度。所述方法包括:获取待测试中间件以及性能测试参数;按照待测试中间件的目标中间件类型,确定目标测试工具;基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果;根据运行结果和理想期望值,生成性能测试报告;将性能测试报告发送至目标接收方。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种中间件测试方法、装置、计算机设备及可读存储介质。
背景技术
中间件是一类连接底层驱动和应用的计算机软件,其作用是为处于自身上层的应用软件提供运行与开发的环境,帮助开发人员灵活、高效地开发和集成复杂的应用软件。中间件并不是一个具体的应用,它的触发是完全被动的,依托于应用进行,如果应用不调用中间件,中间件将无法把很多状态上报,也无法进行一些参数设置和计算,因此,需要对中间件进行测试以确保中间件的正常运行。
相关技术中,在对中间件进行测试时,通常基于中间件本身自带的性能测试工具对中间件进行测试,根据自带的性能测试工具输出的结果来确定中间件是否能够通过测试。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
中间件自带的性能测试工具只能确定中间件是否能够正常运行,但是对于中间件的性能以及在高并发、高压力时中间件的表现情况不能进行详细的分析,测试得出的结果较为笼统,没有针对性,也不够直观,参考价值较低。
发明内容
有鉴于此,本发明提供了一种中间件测试方法、装置、计算机设备及可读存储介质,主要目的在于解决目前对于中间件的性能以及在高并发、高压力时中间件的表现情况不能进行详细的分析,测试得出的结果较为笼统,没有针对性,也不够直观,参考价值较低的问题。
依据本发明第一方面,提供了一种中间件测试方法,该方法包括:
获取待测试中间件以及性能测试参数,所述性能测试参数至少包括压力测试指标以及理想期望值;
按照所述待测试中间件的目标中间件类型,确定目标测试工具,所述目标测试工具的可测中间件类型包括所述目标中间件类型;
基于所述目标测试工具,在所述压力测试指标下运行所述待测试中间件,得到运行结果;
根据所述运行结果和所述理想期望值,生成性能测试报告;
将所述性能测试报告发送至目标接收方。
在另一个实施例中,所述获取待测试中间件,包括:
获取用户上传的中间件基本信息,所述中间件基本信息至少包括服务器集群信息、中间件版本信息以及中间件路径信息;
确定所述服务器集群信息指示的目标服务器集群,在所述目标服务器集群中确定所述中间件路径信息指示的目标位置;
将所述目标位置中包括的符合所述中间件版本信息的中间件作为所述待测试中间件。
在另一个实施例中,所述按照所述待测试中间件的目标中间件类型,确定目标测试工具,包括:
读取用户选择的候选测试工具的可测中间件类型;
若所述可测中间件类型包括所述待测试中间件的目标中间件类型,则将所述候选测试工具作为所述目标测试工具;
若所述可测中间件类型不包括所述待测试中间件的目标中间件类型,则生成失败响应,将所述失败响应展示,并结束当前流程。
在另一个实施例中,所述根据所述运行结果和所述理想期望值,生成性能测试报告,包括:
建立所述运行结果与所述理想期望值之间的对应关系,按照所述对应关系,对所述运行结果进行评价,得到评价结果;
获取预设报告模板,将所述运行结果、所述理想期望值以及所述评价结果填入所述预设报告模板,生成所述性能测试报告。
在另一个实施例中,所述按照所述对应关系,对所述运行结果进行评价,得到评价结果,包括:
根据所述对应关系,确定所述运行结果包括的至少一个成员数据在所述理想期望值中对应的成员期望值;
分别计算所述至少一个成员数据与对应的所述成员期望值之间的差值,得到至少一个差值;
基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果。
在另一个实施例中,所述基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果,包括:
对于所述至少一个差值中的每个差值,确定所述差值指示的成员数据对应的多个评分区间;
在所述多个评分区间中确定所述差值所属的目标评分区间,将所述目标评分区间的分数作为所述差值的数据评分;
分别确定所述至少一个差值的数据评分,得到至少一个数据评分;
对所述至少一个数据评分进行统计处理,生成所述结果评分,将所述结果评分或所述结果评分对应的评分等级作为所述评价结果。
在另一个实施例中,所述将所述性能测试报告发送至目标接收方,包括:
获取用户设置的用户信息,确定所述用户信息指示的所述目标接收方,生成携带所述性能测试报告的报告附件,将所述报告附件进行发送,所述用户信息至少包括邮箱地址、运营商地址、应用账号中的一种或多种;或,
将所述性能测试报告存储至数据库,按照所述性能测试报告在所述数据库中的存储位置,生成存储路径,将所述存储路径进行发送。
依据本发明第二方面,提供了一种中间件测试装置,该装置包括:
获取模块,用于获取待测试中间件以及性能测试参数,所述性能测试参数至少包括压力测试指标以及理想期望值;
确定模块,用于按照所述待测试中间件的目标中间件类型,确定目标测试工具,所述目标测试工具的可测中间件类型包括所述目标中间件类型;
运行模块,用于基于所述目标测试工具,在所述压力测试指标下运行所述待测试中间件,得到运行结果;
生成模块,用于根据所述运行结果和所述理想期望值,生成性能测试报告;
发送模块,用于将所述性能测试报告发送至目标接收方。
在另一个实施例中,所述获取模块,包括:
获取单元,用于获取用户上传的中间件基本信息,所述中间件基本信息至少包括服务器集群信息、中间件版本信息以及中间件路径信息;
第一确定单元,用于确定所述服务器集群信息指示的目标服务器集群,在所述目标服务器集群中确定所述中间件路径信息指示的目标位置;
第二确定单元,用于将所述目标位置中包括的符合所述中间件版本信息的中间件作为所述待测试中间件。
在另一个实施例中,所述确定模块,包括:
读取单元,用于读取用户选择的候选测试工具的可测中间件类型;
确定单元,用于若所述可测中间件类型包括所述待测试中间件的目标中间件类型,则将所述候选测试工具作为所述目标测试工具;
生成单元,用于若所述可测中间件类型不包括所述待测试中间件的目标中间件类型,则生成失败响应,将所述失败响应展示,并结束当前流程。
在另一个实施例中,所述生成模块,包括:
评价单元,用于建立所述运行结果与所述理想期望值之间的对应关系,按照所述对应关系,对所述运行结果进行评价,得到评价结果;
填入单元,用于获取预设报告模板,将所述运行结果、所述理想期望值以及所述评价结果填入所述预设报告模板,生成所述性能测试报告。
在另一个实施例中,所述评价单元,用于根据所述对应关系,确定所述运行结果包括的至少一个成员数据在所述理想期望值中对应的成员期望值;分别计算所述至少一个成员数据与对应的所述成员期望值之间的差值,得到至少一个差值;基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果。
在另一个实施例中,所述评价单元,用于对于所述至少一个差值中的每个差值,确定所述差值指示的成员数据对应的多个评分区间;在所述多个评分区间中确定所述差值所属的目标评分区间,将所述目标评分区间的分数作为所述差值的数据评分;分别确定所述至少一个差值的数据评分,得到至少一个数据评分;对所述至少一个数据评分进行统计处理,生成所述结果评分,将所述结果评分或所述结果评分对应的评分等级作为所述评价结果。
在另一个实施例中,所述发送模块,用于获取用户设置的用户信息,确定所述用户信息指示的所述目标接收方,生成携带所述性能测试报告的报告附件,将所述报告附件进行发送,所述用户信息至少包括邮箱地址、运营商地址、应用账号中的一种或多种;或,将所述性能测试报告存储至数据库,按照所述性能测试报告在所述数据库中的存储位置,生成存储路径,将所述存储路径进行发送。
依据本发明第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
依据本发明第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本发明提供的一种中间件测试方法、装置、计算机设备及可读存储介质,本发明可以获取待测试中间件以及性能测试参数,确定目标测试工具,基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果,并根据运行结果和理想期望值,生成性能测试报告,使得基于该理想期望值明确待测试中间件的不足之处,用户查看该性能测试报告就能对待测试中间件的运行情况进行全方位细致的了解,利用计算机的计算能力提高中间件的测试效率,无需人工手动执行测试,降低了测试的成本以及难度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种中间件测试方法流程示意图;
图2A示出了本发明实施例提供的一种中间件测试方法流程示意图;
图2B示出了本发明实施例提供的一种中间件测试方法流程示意图;
图3A示出了本发明实施例提供的一种中间件测试装置的结构示意图;
图3B示出了本发明实施例提供的一种中间件测试装置的结构示意图;
图3C示出了本发明实施例提供的一种中间件测试装置的结构示意图;
图3D示出了本发明实施例提供的一种中间件测试装置的结构示意图;
图4示出了本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种中间件测试方法,如图1所示,该方法包括:
101、获取待测试中间件以及性能测试参数,性能测试参数至少包括压力测试指标以及理想期望值。
102、按照待测试中间件的目标中间件类型,确定目标测试工具,目标测试工具的可测中间件类型包括目标中间件类型。
103、基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果。
104、根据运行结果和理想期望值,生成性能测试报告。
105、将性能测试报告发送至目标接收方。
本发明实施例提供的方法,可以获取待测试中间件以及性能测试参数,确定目标测试工具,基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果,并根据运行结果和理想期望值,生成性能测试报告,使得基于该理想期望值明确待测试中间件的不足之处,用户查看该性能测试报告就能对待测试中间件的运行情况进行全方位细致的了解,利用计算机的计算能力提高中间件的测试效率,无需人工手动执行测试,降低了测试的成本以及难度。
在对本发明进行详细的解释说明之前,先对本发明涉及的中间件性能测试平台进行简单介绍。
为了实现与用户之间诸如选择待测试中间件、测试工具以及输出性能测试报告等交互,本发明中设置有中间件性能测试平台,通过用户在该中间件性能测试平台上的操作实现与用户之间的交互。中间件性能测试平台以Python(一种计算机程序设计语言)的Django(开放源代码的应用框架)经典框架进行开发,采用MTV(Models-Templates-Views,模型层-模板层-视图层)模式搭建的,便于集中管理。该中间件性能测试平台主要形式为BS(Browser/Server,浏览器/服务器模式)架构,由于Python语言易上手且语法相对于Java(一种面向对象编程语言)等较为简单,所以搭建周期较短。该中间件性能测试平台分为4个模块,分别为配置中心、工具中心、性能分析以及后台管理。
其中,配置中心分为3个单元,分别为集群配置单元、压力配置单元以及报告模板单元。集群配置单元用来维护待测试中间件所在的服务器集群信息、中间件版本信息和中间件路径信息等。例如Zookeeper(分布式服务框架)地址信息等,都由集群配置单元来维护。压力配置单元用来对性能测试中的不同压力指标进行预配置,构建压力测试任务,以便后续由待测试中间件来执行压力测试任务。进一步地,压力配置单元同时也可配置待测试中间件的参数,例如主题、分区数量、线程数等参数。报告模板单元用来配置产出测试报告的预设报告模板,预设报告模板也即规定了性能测试报告的报告样式,以便中间件性能测试平台按照预设报告模板直接输出符合用户要求的测试结果。
工具中心用来添加中间件性能测试的工具,该工具具体可为中间件自带的benchmark(一种插件评价方式)、kafka-producer-perf-test(主题产生数据测试)等工具,也即预设测试工具;或者,也可以是用户自行编写的测试脚本或Jar(一种软件包文件格式)包等,也即用户上传的测试工具。无论是中间件自带的测试工具,还是用户自行编写的,都可以添加到工具中心。
性能分析为用户提供设置理想期望值的功能,理想期望值具体可以包括期望TPS(Transactions Per Second,每秒传输的事物处理个数)、期望CPU(Central ProcessingUnit,中央处理器)使用率、期望内存使用率、期望磁盘读写速度等等。其次,在性能分析的选择框中用户还可以选择集群信息以及测试工具,并选择预先配置好的压力指标,提供用户的邮箱、账号等等作为接收方,在测试报告的预设报告模板中选择中意的预设报告模板。最后,用户点击性能分析中“开始测试”按钮,即可进行待测试中间件的基准性能测试。测试结束后,性能分析会以中间件性能测试平台的名义将性能测试报告发送到接收方以供用户参考。
后台管理用于对用户权限以及用户角色进行管理。后台管理提供添加用户、用户权限设置、用户角色设置等功能,使得不同的用户可以管理不同模块中的参数,实现不同用户的权限自定义。
本发明实施例提供了一种中间件测试方法,如图2A所示,该方法包括:
201、获取待测试中间件以及性能测试参数。
目前很多场景下并不提供中间件的测试功能,即使提供中间件的测试功能,也只是测试中间件在高并发、高压力下能否正常运行,并不能将中间件在整个运行过程中的表现情况采用参数以及指标明确清晰的展示出来,用户很难看出中间件是否存在性能瓶颈,不仅测试效率低,而且成本高、难度大。因此,本发明提出了一种中间件测试方法,用户只需要选择想要进行测试的待测试中间件、想要用到的工具以及用于进行性能比对的理想期望值,就可以利用该工具对待测试中间件进行运行,并对待测试中间件的运行情况进行监控,通过将待测试中间件在运行过程中的各项指标与用户设置的理想期望值进行比对,输出性能测试报告,使得用户查看该性能测试报告就能对待测试中间件的运行情况进行全方位细致的了解,利用计算机的计算能力提高中间件的测试效率,无需人工手动执行测试,降低了测试的成本以及难度。
所以,在进行中间件的测试时,考虑到不同用户的不同测试需求,比如有的用户对待测试的中间件的性能要求不高,只要能够在高压力、高并发的情况下正常运行即可,而有些用户对待测试的中间件的性能要求很高,需要中间件在高压力、高并发的情况下保持高速运行,因此,在本发明实施例中用户可以自行设置压力测试指标以及理想期望值,基于压力测试指标为中间件的测试定制高压力高并发的环境,并基于理想期望值为中间件的测评设置一个标准,从而使得后续能够按照用户真正的需求对中间件进行性能的测试。其中,用户设置的压力测试指标以及理想期望值在本发明实施例中作为性能测试参数,只要用户设置完成,中间件性能测试平台就可以获取到。需要说明的是,中间件性能测试平台中也会默认一组性能测试参数,如果用户没有手动设置自己需要的性能测试参数,则直接获取默认的性能测试参数进行后续的中间件性能测试即可。
进一步地,为了使中间件性能测试平台能够获取到用户希望进行性能测试的中间件,在进行中间件的性能测试之前,用户需要上传中间件基本信息,中间件基本信息至少包括服务器集群信息、中间件版本信息以及中间件路径信息,这样,中间件性能测试平台就可以获取用户上传的中间件基本信息,确定服务器集群信息指示的目标服务器集群,在目标服务器集群中确定中间件路径信息指示的目标位置,将目标位置中包括的符合中间件版本信息的中间件作为待测试中间件,以便后续对该待测试中间件进行性能的测试。
202、按照待测试中间件的目标中间件类型,确定目标测试工具。
在本发明实施例中,中间件性能测试平台中用于对中间件进行测试的工具可以分为两种,一种是中间件自带的测试工具,也即预设测试工具,这些自带的测试工具已经集成在中间件测试平台中,用户直接选择就能使用,比如benchmark、kafka-producer-perf-test等工具;另一种是用户上传的自行编写的测试工具,也即用户上传的测试工具,这种工具通常可以通过上传测试脚本或Jar包等方式提供给中间件性能测试平台。所以,实质上中间件性能测试平台能够提供的测试工具是多种多样的,在正式开始对中间件进行测试之前,需要用户自行选择本次测试需要使用的测试工具。
需要说明的是,测试工具通常是具有针对性的,只能对某种类型的中间件进行测试,因此,需要读取用户选择的候选测试工具的可测中间件类型,其中,该候选测试工具可以是预设测试工具或用户上传的测试工具中的任一种。若可测中间件类型包括待测试中间件的目标中间件类型,则表示可以开始下述对待测试中间件进行测试,将候选测试工具作为目标测试工具,后续基于该目标测试工具执行测试操作。若可测中间件类型不包括待测试中间件的目标中间件类型,则表示该候选测试工具不符合待测试中间件,因此,生成失败响应,将失败响应展示在提供给用户的前端页面上,以此提醒用户当前选择的候选测试工具由于与待测试中间件不匹配,所以不能执行测试过程,需要用户重新选择新的测试工具,并再次确定是否符合待测试中间件,直至为该待测试中间件确定相符的目标测试工具为止,才能继续执行对待测试中间件的性能测试。
在实际应用的过程中,通常来说,如果用户希望对某个中间件进行性能的测试,且该用户手动编写了一个测试工具且将该测试工具上传给中间件性能测试平台中,则用户手动编写的测试工具一般来说都是针对该中间件定制的,会支持对该中间件的测试的,因此,实际应用中,如果用户选择的候选测试工具是自己编写的,也可以不进行测试工具的可测中间件类型的校验,直接使用该测试工具,从而简化整个测试流程。
203、基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果。
在本发明实施例中,当获取到待测试中间件,确定了使用哪一种目标测试工具对待测试中间件进行测试,且获取到用于评判待测试中间件的运行质量的理想期望值后,便可以开始基于目标测试工具,在压力测试指标下运行待测试中间件。其中,目标测试工具是会对待测试中间件在压力测试指标下的运行过程进行监控的,监控过程中会获取到待测试中间件的各项运行参数的,这些参数即为待测试中间件的运行结果,也即是待测试中间件在实际工作中的各种参数。
而在实际应用的过程中,考虑到只进行一次的运行测试具有偶然性,不具有说服力,因此,还可以基于目标测试工具,在压力测试指标下多次运行待测试中间件,得到多个候选运行结果,将多个候选运行结果的平均值作为最终用于对待测试中间件进行评价的测试结果。或者也可以在多个候选运行结果中去掉一个最优和一个最差的候选运行结果后,再计算剩下的候选运行结果的平均值作为最终用于对待测试中间件进行评价的测试结果。本发明对确定运行结果的机制不进行具体限定。
204、根据运行结果和理想期望值,生成性能测试报告。
在本发明实施例中,用户已经事先设置好了理想期望值,因此,在得到了运行结果后,中间件性能测试平台会将待测试中间件在测试过程中产生的运行结果与理想期望值进行比对,根据比对的结果来输出性能测试报告。
其中,由于理想期望值具体可以包括期望TPS、期望CPU使用率、期望内存使用率、期望磁盘读写速度等等,而运行结果中也会包括待测试中间件在实际运行过程中产生的实际TPS、实际CPU使用率、实际内存使用率、实际磁盘读写速度等等,因此,中间件性能测试平台可直接将理想期望值与运行结果一一对应起来,建立运行结果与理想期望值之间的对应关系,按照对应关系,对运行结果进行评价,得到评价结果,进而生成性能测试报告。具体地,在生成评价结果时,可先根据对应关系,确定运行结果包括的至少一个成员数据在理想期望值中对应的成员期望值。例如,成员数据为实际TPS时,对应的成员期望值即为期望TPS;成员数据为实际CPU使用率时,对应的成员期望值即为期望CPU使用率。随后,分别计算至少一个成员数据与对应的成员期望值之间的差值,得到至少一个差值。例如,假设实际TPS为900,期望TPS为1000,则实际TPS与期望TPS即为-100。最后,基于至少一个差值,计算运行结果的结果评分,得到评价结果。需要说明的是,可以设置一个生成评价结果的机制,在该机制中,对于至少一个差值中的每个差值,确定差值指示的成员数据对应的多个评分区间,在多个评分区间中确定差值所属的目标评分区间,将目标评分区间的分数作为差值的数据评分。例如,假设TPS的多个评分区间分别为差值在【-50~0】之间得分为90分,差值在【-100~-50】之间的得分为50分,差值在【-100以下】的得分为10分,这样,如果实际TPS与期望TPS即为-100,则数据评分即为50分。这样,便可以分别确定至少一个差值的数据评分,得到至少一个数据评分,对至少一个数据评分进行统计处理,生成结果评分,进而可将结果评分直接作为评价结果;或者为了明确划分一个运行质量的等级,也可以设置结果评分的等级机制,将结果评分对应的评分等级作为评价结果。例如,假设等级机制为结果评分在【1000~800】之间为A级,在【800~500】之间为B级,在【500~200】之间为C级,在【200以下】为D级。再有,在对至少一个数据评分进行统计处理时,可以直接计算至少一个数据评分的总分作为结果评分,或者计算至少一个数据评分的平均数作为结果评分,或者也可以分别获取至少一个数据评分中每个数据评分的权重,对至少一个数据评分进行权重计算,得到的结果作为结果评分等等。本发明对计算结果评分以及确定评价结果的方式和机制不进行具体限定。
另外,由于不同用户为了集成管理性能测试报告,使得性能测试报告美观,可能需要输出样式相同且独特的性能测试报告,所以,在该中间件性能测试平台中,可以设置预设报告模板,用预设报告模板来限制生成哪种格式的性能测试报告。比如,预设报告模板可以限制采用表格的方式罗列测试过程中的运行结果、理想期望值以及评价结果进行罗列。或者,预设报告模板也可以限制采用对比的方式将运行结果与理想期望值一一对应等等。进一步地,实际上预设报告模板还可以限制生成的性能测试报告可以增加哪些用于装饰的元素、字体大小、字体类型等等,本发明对预设报告模板限制的具体内容不进行限定。这样,在获取到评价结果后,便可以获取预设报告模板,将运行结果、理想期望值以及评价结果填入预设报告模板,生成性能测试报告。
205、将性能测试报告发送至目标接收方。
在本发明实施例中,当性能测试报告生成后,中间件性能测试平台会将性能测试报告提供给用户,以供用户参考。其中,用户可以事先设置邮箱地址、运营商地址、应用账号中的一种或多种作为用户信息,使中间件性能测试平台按照用户信息确定目标接收方,将生成的性能测试报告发送给目标接收方。这样,中间件性能测试平台会获取用户设置的用户信息,确定用户信息指示的目标接收方,生成携带性能测试报告的报告附件,将报告附件进行发送。另外,中间件性能测试平台也可以将生成的性能测试报告存储在数据库中,按照性能测试报告在数据库中的存储位置,生成存储路径,将该存储路径在提供给用户的前端页面中展示或者以通知的形式发送给用户,以便用户按照存储路径下载性能测试报告。
综上,整个中间件的测试流程如下:
参见图2B,用户登录到中间件性能测试平台中,在中间件性能测试平台中配置中间件基本信息(例如中间件所在的服务器集群信息、中间件版本信息和中间件路径信息等信息)、理想期望值以及预设报告模板,并由用户选取候选测试工具。随后,中间件性能测试平台读取用户选择的候选测试工具,如果候选测试工具是用户提供的手工编写的测试工具,则直接将该候选测试工具作为目标测试工具,基于该目标测试工具对待测试中间件进行性能的测试,并输出性能测试报告即可。如果候选测试工具是中间件性能测试平台自带的测试工具,则需要对候选测试工具进行校验,校验该候选测试工具是否与待测试中间件匹配,并在确定候选测试工具与待测试中间件匹配时,将该候选测试工具作为目标测试工具,基于该目标测试工具对待测试中间件进行性能的测试,并输出性能测试报告。若确定候选测试工具与待测试中间件不匹配,则需要提示用户重新选择新的候选测试工具,并重新对用户选择的候选测试工具进行校验,直至确定候选测试工具与待测试中间件匹配为止。
本发明实施例提供的方法,可以获取待测试中间件以及性能测试参数,确定目标测试工具,基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果,并根据运行结果和理想期望值,生成性能测试报告,使得基于该理想期望值明确待测试中间件的不足之处,用户查看该性能测试报告就能对待测试中间件的运行情况进行全方位细致的了解,利用计算机的计算能力提高中间件的测试效率,无需人工手动执行测试,降低了测试的成本以及难度。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种中间件测试装置,如图3A所示,所述装置包括:获取模块301,确定模块302,运行模块303,生成模块304和发送模块305。
该获取模块301,用于获取待测试中间件以及性能测试参数,所述性能测试参数至少包括压力测试指标以及理想期望值;
该确定模块302,用于按照所述待测试中间件的目标中间件类型,确定目标测试工具,所述目标测试工具的可测中间件类型包括所述目标中间件类型;
该运行模块303,用于基于所述目标测试工具,在所述压力测试指标下运行所述待测试中间件,得到运行结果;
该生成模块304,用于根据所述运行结果和所述理想期望值,生成性能测试报告;
该发送模块305,用于将所述性能测试报告发送至目标接收方。
在具体的应用场景中,如图3B所示,该获取模块301,包括:获取单元3011,第一确定单元3012和第二确定单元3013。
该获取单元3011,用于获取用户上传的中间件基本信息,所述中间件基本信息至少包括服务器集群信息、中间件版本信息以及中间件路径信息;
该第一确定单元3012,用于确定所述服务器集群信息指示的目标服务器集群,在所述目标服务器集群中确定所述中间件路径信息指示的目标位置;
该第二确定单元3013,用于将所述目标位置中包括的符合所述中间件版本信息的中间件作为所述待测试中间件。
在具体的应用场景中,如图3C所示,该确定模块302,包括:读取单元3021,确定单元3022和生成单元3023。
该读取单元3021,用于读取用户选择的候选测试工具的可测中间件类型;
该确定单元3022,用于若所述可测中间件类型包括所述待测试中间件的目标中间件类型,则将所述候选测试工具作为所述目标测试工具;
该生成单元3023,用于若所述可测中间件类型不包括所述待测试中间件的目标中间件类型,则生成失败响应,将所述失败响应展示,并结束当前流程。
在具体的应用场景中,如图3D所示,该生成模块304,包括:评价单元3041,填入单元3042。
该评价单元3041,用于建立所述运行结果与所述理想期望值之间的对应关系,按照所述对应关系,对所述运行结果进行评价,得到评价结果;
该填入单元3042,用于获取预设报告模板,将所述运行结果、所述理想期望值以及所述评价结果填入所述预设报告模板,生成所述性能测试报告。
在具体的应用场景中,该评价单元3041,用于根据所述对应关系,确定所述运行结果包括的至少一个成员数据在所述理想期望值中对应的成员期望值;分别计算所述至少一个成员数据与对应的所述成员期望值之间的差值,得到至少一个差值;基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果。
在具体的应用场景中,该评价单元3041,用于对于所述至少一个差值中的每个差值,确定所述差值指示的成员数据对应的多个评分区间;在所述多个评分区间中确定所述差值所属的目标评分区间,将所述目标评分区间的分数作为所述差值的数据评分;分别确定所述至少一个差值的数据评分,得到至少一个数据评分;对所述至少一个数据评分进行统计处理,生成所述结果评分,将所述结果评分或所述结果评分对应的评分等级作为所述评价结果。
在具体的应用场景中,该发送模块305,用于获取用户设置的用户信息,确定所述用户信息指示的所述目标接收方,生成携带所述性能测试报告的报告附件,将所述报告附件进行发送,所述用户信息至少包括邮箱地址、运营商地址、应用账号中的一种或多种;或,将所述性能测试报告存储至数据库,按照所述性能测试报告在所述数据库中的存储位置,生成存储路径,将所述存储路径进行发送。
本发明实施例提供的装置,可以获取待测试中间件以及性能测试参数,确定目标测试工具,基于目标测试工具,在压力测试指标下运行待测试中间件,得到运行结果,并根据运行结果和理想期望值,生成性能测试报告,使得基于该理想期望值明确待测试中间件的不足之处,用户查看该性能测试报告就能对待测试中间件的运行情况进行全方位细致的了解,利用计算机的计算能力提高中间件的测试效率,无需人工手动执行测试,降低了测试的成本以及难度。
需要说明的是,本发明实施例提供的一种中间件测试装置所涉及各功能单元的其他相应描述,可以参考图1和图2A至图2B中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的中间件测试方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的中间件测试方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种中间件测试方法,其特征在于,包括:
获取待测试中间件以及性能测试参数,所述性能测试参数至少包括压力测试指标以及理想期望值;
按照所述待测试中间件的目标中间件类型,确定目标测试工具,所述目标测试工具的可测中间件类型包括所述目标中间件类型;
基于所述目标测试工具,在所述压力测试指标下运行所述待测试中间件,得到运行结果;
根据所述运行结果和所述理想期望值,生成性能测试报告;
将所述性能测试报告发送至目标接收方。
2.根据权利要求1所述的方法,其特征在于,所述获取待测试中间件,包括:
获取用户上传的中间件基本信息,所述中间件基本信息至少包括服务器集群信息、中间件版本信息以及中间件路径信息;
确定所述服务器集群信息指示的目标服务器集群,在所述目标服务器集群中确定所述中间件路径信息指示的目标位置;
将所述目标位置中包括的符合所述中间件版本信息的中间件作为所述待测试中间件。
3.根据权利要求1所述的方法,其特征在于,所述按照所述待测试中间件的目标中间件类型,确定目标测试工具,包括:
读取用户选择的候选测试工具的可测中间件类型;
若所述可测中间件类型包括所述待测试中间件的目标中间件类型,则将所述候选测试工具作为所述目标测试工具;
若所述可测中间件类型不包括所述待测试中间件的目标中间件类型,则生成失败响应,将所述失败响应展示,并结束当前流程。
4.根据权利要求1所述的方法,其特征在于,所述根据所述运行结果和所述理想期望值,生成性能测试报告,包括:
建立所述运行结果与所述理想期望值之间的对应关系,按照所述对应关系,对所述运行结果进行评价,得到评价结果;
获取预设报告模板,将所述运行结果、所述理想期望值以及所述评价结果填入所述预设报告模板,生成所述性能测试报告。
5.根据权利要求4所述的方法,其特征在于,所述按照所述对应关系,对所述运行结果进行评价,得到评价结果,包括:
根据所述对应关系,确定所述运行结果包括的至少一个成员数据在所述理想期望值中对应的成员期望值;
分别计算所述至少一个成员数据与对应的所述成员期望值之间的差值,得到至少一个差值;
基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果。
6.根据权利要求5所述的方法,其特征在于,所述基于所述至少一个差值,计算所述运行结果的结果评分,得到所述评价结果,包括:
对于所述至少一个差值中的每个差值,确定所述差值指示的成员数据对应的多个评分区间;
在所述多个评分区间中确定所述差值所属的目标评分区间,将所述目标评分区间的分数作为所述差值的数据评分;
分别确定所述至少一个差值的数据评分,得到至少一个数据评分;
对所述至少一个数据评分进行统计处理,生成所述结果评分,将所述结果评分或所述结果评分对应的评分等级作为所述评价结果。
7.根据权力要求1所述的方法,其特征在于,所述将所述性能测试报告发送至目标接收方,包括:
获取用户设置的用户信息,确定所述用户信息指示的所述目标接收方,生成携带所述性能测试报告的报告附件,将所述报告附件进行发送,所述用户信息至少包括邮箱地址、运营商地址、应用账号中的一种或多种;或,
将所述性能测试报告存储至数据库,按照所述性能测试报告在所述数据库中的存储位置,生成存储路径,将所述存储路径进行发送。
8.一种中间件测试装置,其特征在于,包括:
获取模块,用于获取待测试中间件以及性能测试参数,所述性能测试参数至少包括压力测试指标以及理想期望值;
确定模块,用于按照所述待测试中间件的目标中间件类型,确定目标测试工具,所述目标测试工具的可测中间件类型包括所述目标中间件类型;
运行模块,用于基于所述目标测试工具,在所述压力测试指标下运行所述待测试中间件,得到运行结果;
生成模块,用于根据所述运行结果和所述理想期望值,生成性能测试报告;
发送模块,用于将所述性能测试报告发送至目标接收方。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898571.7A CN112035360A (zh) | 2020-08-31 | 2020-08-31 | 中间件测试方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898571.7A CN112035360A (zh) | 2020-08-31 | 2020-08-31 | 中间件测试方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112035360A true CN112035360A (zh) | 2020-12-04 |
Family
ID=73585886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010898571.7A Pending CN112035360A (zh) | 2020-08-31 | 2020-08-31 | 中间件测试方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035360A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567578A (zh) * | 2022-03-14 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 一种压力测试方法、装置、测试平台及存储介质 |
-
2020
- 2020-08-31 CN CN202010898571.7A patent/CN112035360A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567578A (zh) * | 2022-03-14 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 一种压力测试方法、装置、测试平台及存储介质 |
CN114567578B (zh) * | 2022-03-14 | 2023-09-26 | 重庆紫光华山智安科技有限公司 | 一种压力测试方法、装置、测试平台及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
US20060265475A9 (en) | Testing web services as components | |
CN111159049A (zh) | 接口自动化测试方法及系统 | |
CN107608901B (zh) | 基于Jmeter的测试方法及装置、存储介质、电子设备 | |
CN109408375B (zh) | 接口文档的生成方法和装置 | |
CN109633351B (zh) | 智能it运维故障定位方法、装置、设备及可读存储介质 | |
CN111045911A (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
CN110888804B (zh) | 接口测试方法以及接口测试平台 | |
CN107733710A (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN112463588A (zh) | 一种自动化测试系统及方法、存储介质、计算设备 | |
CN107015912A (zh) | 实现远程调试的系统、方法、装置、及电子设备 | |
CN111666217A (zh) | 用于测试代码的方法和装置 | |
Lei et al. | Performance and scalability testing strategy based on kubemark | |
CN112817869A (zh) | 测试方法、装置、介质及电子设备 | |
CN110750453B (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN112965711B (zh) | 作业测试方法和装置、电子设备和存储介质 | |
CN112035360A (zh) | 中间件测试方法、装置、计算机设备及可读存储介质 | |
CN117539754A (zh) | 压力测试方法、装置、存储介质及电子设备 | |
CN112988589A (zh) | 一种接口测试方法、装置和系统 | |
CN116955193A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN115952098A (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 |