一种客票系统的性能测试方法、装置和系统与流程

文档序号:20917554发布日期:2020-05-29 13:43阅读:275来源:国知局
一种客票系统的性能测试方法、装置和系统与流程

【技术领域】

本发明涉及性能测试技术领域,具体地涉及一种客票系统的性能测试方法、装置和系统。



背景技术:

铁路客票系统支持网上和车站两大类、多种渠道售票渠道,旅客乘车前购票需要使用客票系统进行订票,尤其是春节、十一出行高峰前,互联网访问量激增,用户请求量大,订票量大。系统在大量用户并发请求下,可否正常运行,会影响旅客的购票体验,因此有必要对铁路客票系统进行性能测试。

而在相关技术中,性能测试可以采用的方法包括开源性能测试工具和loadrunner商业软件等。其中,开源工具的性能、操作度、友好度和交互度差,应用单一。而铁路客票系统有多种售票渠道,包括互联网、手机app、车站窗口、自动售票机、电话订票等,开源工具不能完全从而满足客票系统多种性能测试需求。因此亟需一种铁路客票系统性能测试方法及系统,对铁路客票系统线上和线下进行性能测试,输出得到性能测试结果,从而解决客票系统多种性能测试需求。



技术实现要素:

有鉴于此,本发明提供一种客票系统的性能测试方法、装置和系统,能够对客票系统的多种购票场景进行性能测试,输出得到性能测试报告,从而满足客票系统多种性能测试需求。

一方面,本发明实施例提供了一种客票系统的性能测试方法,应用于控制台;

所述方法包括:

根据输入的购票轨迹信息以及测试次数,生成购票测试脚本;

将所述购票测试脚本和输入的购票场景参数,生成参数化文件;

向多个压力机发送执行所述参数化文件的指令,所述指令携带所述参数化文件;

接收所述多个压力机反馈的购票测试结果;

接收监控服务器发送的与所述购票测试结果对应的性能指标信息;

根据所述购票测试结果和所述性能指标信息,生成性能测试报告。

可选地,所述根据所述购票测试结果和所述性能指标信息,生成性能测试报告,包括:

从所述购票测试结果中提取出指定的购票测试数据;

根据所述指定的购票测试数据生成所述指定的购票测试参数对应的动态图表;

根据所述动态图表以及所述性能指标信息,生成性能测试报告。

可选地,所述购票测试结果包括售票量、售票时间、系统利用率、购票所消耗的时间、购票测试脚本的执行次数、购票测试脚本的执行时间和购票测试脚本的运行结果之一或其任意组合。

可选地,所述性能指标信息包括购票测试脚本的运行速度、每秒生成购票订单的数量、并发用户数和采样的间隔时间之一或其任意组合。

另一方面,本发明实施例提供了一种客票系统的性能测试装置,应用于控制台;

所述装置包括:

第一生成模块,用于根据输入的购票轨迹信息以及测试次数,生成购票测试脚本;将所述购票测试脚本和输入的购票场景参数,生成参数化文件;

发送模块,用于向多个压力机发送执行所述参数化文件的指令,所述指令携带所述参数化文件;

接收模块,用于接收所述多个压力机反馈的购票测试结果;接收监控服务器发送的与所述购票测试结果对应的性能指标信息;

第二生成模块,还用于根据所述购票测试结果和所述性能指标信息,生成性能测试报告。

可选地,所述生成模块,具体包括:

提取子模块,用于从所述购票测试结果中提取出指定的购票测试数据;

生成子模块,用于根据所述指定的购票测试数据生成所述指定的购票测试参数对应的动态图表;根据所述动态图表以及所述性能指标信息,生成性能测试报告。

另一方面,本发明实施例提供了一种客票系统的性能测试系统,包括:控制台、多个压力机和监控服务器;

所述控制台用于根据输入的购票轨迹信息以及测试次数,生成购票测试脚本;将所述购票测试脚本和输入的购票场景参数,生成参数化文件;向多个压力机发送执行所述参数化文件的指令,所述指令携带所述参数化文件;接收所述多个压力机反馈的购票测试结果;接收监控服务器发送的与所述购票测试结果对应的性能指标信息;根据所述购票测试结果和所述性能指标信息,生成性能测试报告;

所述压力机用于接收所述控制台发送的执行所述参数化文件的指令,并执行所述参数化文件,生成购票测试结果;将所述购票测试结果发送至所述控制台;

所述监控服务器用于监控所述压力机执行所述参数化文件过程产生的性能指标信息,并将所述性能指标信息发送至所述控制台。

可选地,所述控制台包括脚本管理模块、场景控制模块、svn管理模块、客户端控制台管理模块、压力机管理模块和监控管理模块;

所述脚本管理模块用于存储所述购票测试脚本的信息;根据输入的购票轨迹信息以及测试次数,生成购票测试脚本;

所述场景控制模块用于配置所述购票场景参数;

所述svn管理模块用于存储历史购票测试脚本的信息;

所述客户端控制台模块用于将所述购票测试脚本和输入的购票场景参数,生成参数化文件;向多个压力机发送执行所述参数化文件的指令,所述指令携带所述参数化文件;

所述压力机管理模块用于接收所述多个压力机反馈的购票测试结果;

所述监控管理模块用于接收监控服务器发送的与所述购票测试结果对应的性能指标信息。

另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的客票系统的性能测试方法。

另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行上述的客票系统的性能测试方法的步骤。

本发明实施例提供的技术方案中,根据输入的购票轨迹信息以及测试次数,生成购票测试脚本,将所述购票测试脚本和输入的购票场景参数,生成参数化文件,向多个压力机发送参数化文件,接收所述多个压力机反馈的购票测试结果,接收监控服务器发送的与所述购票测试结果对应的性能指标信息,根据所述购票测试结果和所述性能指标信息,生成性能测试报告,能够对客票系统的多种购票场景进行性能测试,输出得到性能测试报告,从而满足客票系统多种性能测试需求。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明一实施例提供的一种客票系统的性能测试系统的系统架构图;

图2是本发明一实施例所提供的一种客票系统的性能测试方法的流程图;

图3是本发明又一实施例所提供的一种客票系统的性能测试方法的流程图;

图4是本发明一实施例所提供的一种客票系统的性能测试装置的结构示意图;

图5是本发明实施例提供的一种计算机设备的示意图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本发明一实施例提供的一种客票系统的性能测试系统的系统架构图,如图1所示,该系统包括:控制台11、多个压力机12和监控服务器13。

本发明实施例中,控制台11用于根据输入的购票轨迹信息以及测试次数,生成购票测试脚本。控制台11还用于将购票测试脚本和输入的购票场景参数,生成参数化文件。控制台11还用于向多个压力机发送执行参数化文件的指令,指令携带参数化文件。控制台11还用于接收多个压力机反馈的购票测试结果。控制台11还用于接收监控服务器发送的与购票测试结果对应的性能指标信息。控制台11还用于根据购票测试结果和性能指标信息,生成性能测试报告。

压力机12用于接收控制台发送的执行参数化文件的指令,并执行参数化文件,生成购票测试结果。压力机12还用于将购票测试结果发送至控制台。

监控服务器13用于监控压力机执行参数化文件过程产生的性能指标信息,并将性能指标信息发送至控制台。

本发明实施例中,控制台11包括脚本管理模块111、场景控制模块112、svn管理模块113、客户端控制台管理模块114、压力机管理模块115和监控管理模块116。

脚本管理模块111用于存储购票测试脚本的信息;根据输入的购票轨迹信息以及测试次数,生成购票测试脚本。场景控制模块112用于配置购票场景参数。svn管理模块113用于存储历史购票测试脚本的信息。客户端控制台模块114用于将购票测试脚本和输入的购票场景参数,生成参数化文件;向多个压力机发送执行所述参数化文件的指令,指令携带参数化文件。压力机管理模块115用于接收多个压力机反馈的购票测试结果。监控管理模块116用于接收监控服务器发送的与购票测试结果对应的性能指标信息。

本发明实施例中,客户端控制台模块114还用于创建不同级别的用户身份。其中,不同级别的用户身份可操作的范围不同。例如,不同级别的用户身份包括管理员和普通用户,其中管理员可查看控制台11的运行状况;增加或者减少可用的压力机12数量;新增、修改和删除用户。普通用户可以编辑、修改和调试购票测试脚本;输入购票场景参数等。

本发明实施例中,客票系统的性能测试系统能够在测试运行中实时显示运行性能测试报告和对历史性能测试报告的查询与展示。其中,该系统可采用spring框架模式开发实现,数据库存储用户定义、场景定义等信息,采用mysql数据库,采用svnkit进行版本管理,支持脚本下载本地调试与上载,使用freemaker编写模板引擎,用于表现层界面实现。该系统还可以采用tomcat服务器,部署在linux操作系统上,对系统的配置要求较低。

本发明实施例中的客票系统的性能测试系统支持jython测试脚本,通过使用录制脚本工具、插件以及http协议处理工具,以使得http协议的测试脚本容易编写与维护。其中,jython是python解释器在java中的完整重现,其继承python语法风格,编写简单,同时又继承了java的类库,再加上测试脚本支持引用第三方java类库,这使得脚本功能大大提升。

本发明实施例中的客票系统的性能测试系统支持客票系统专有协议的测试,和数据库专有协议的测试,通过解析协议格式以及业务逻辑规则,动态生成性能测试脚本,以及对测试数据进行参数化配置。性能测试场景可以动态配置并发用户数,并实时接收测试结果。

图2为本发明一实施例提供的一种客票系统的性能测试方法的流程图,如图2所示,该方法包括:

步骤101、根据输入的购票轨迹信息以及测试次数,生成购票测试脚本。

步骤102、将购票测试脚本和输入的购票场景参数,生成参数化文件。

步骤103、向多个压力机发送执行参数化文件的指令,指令携带参数化文件。

步骤104、接收多个压力机反馈的购票测试结果。

步骤105、接收监控服务器发送的与购票测试结果对应的性能指标信息。

步骤106、根据购票测试结果和性能指标信息,生成性能测试报告。

本发明实施例提供的技术方案中,根据输入的购票轨迹信息以及测试次数,生成购票测试脚本,将购票测试脚本和输入的购票场景参数,生成参数化文件,向多个压力机发送参数化文件,接收多个压力机反馈的购票测试结果,接收监控服务器发送的与购票测试结果对应的性能指标信息,根据购票测试结果和性能指标信息,生成性能测试报告,能够对客票系统的多种购票场景进行性能测试,输出得到性能测试报告,从而满足客票系统多种性能测试需求。

图3为本发明又一实施例提供的一种客票系统的性能测试方法的流程图,如图3所示,该方法包括:

步骤201、根据输入的购票轨迹信息以及测试次数,生成购票测试脚本。

本发明实施例中,购票轨迹信息包括多个参数,该多个参数包括出发站、到达站、乘车日期、余票数量、席位类型、购票车票数、乘车人信息。

例如,如图1所示,用户通过控制台11的脚本管理模块111输入的购票轨迹信息以及测试次数,生成购票测试脚本,并且在生成购票测试脚本之后,还可以进行编辑,删除等操作,其中,购票测试脚本可呈列表式脚本展示,列表式脚本包括脚本名称,脚本附加信息,脚本修改时间,版本和大小等信息。本发明对于购票测试脚本的展示方式不做限定。本发明实施例中,通过设置脚本管理模块111,从而可以在线编辑与调试,对于用户已建的脚本可以单次运行,方便用户查看脚本的正确性,并且可以进行简单编辑修改。

本发明实施例中,测试次数用于表示购票轨迹信息的测试次数。当测试次数大于1时,系统能够自动调节购票轨迹信息中的参数,生成多个的购票轨迹信息,从而生成多个购票测试脚本。

步骤202、将购票测试脚本和输入的购票场景参数,生成参数化文件。

本发明实施例中,如图1所示,用户可通过在控制台11的场景控制模块112中输入购票场景参数,并且还可以对输入的购票场景参数进行编辑,删除等操作。其中,购票场景参数包括:运行场景、测试时长、测试间隔、并发用户数等。其中运行场景包括线上互联网售票、线下车站窗口和自动售票机售票等。根据每个购票测试脚本可配置相同的购票场景参数,或者配置不同的购票场景参数,生成多个参数化文件。

步骤203、向多个压力机发送执行参数化文件的指令,指令携带参数化文件。

本发明实施例中,当压力机12接收到控制台11发送的执行参数化文件的指令之后,执行参数化文件,生成购票测试结果。

步骤204、接收多个压力机反馈的购票测试结果。

本发明实施例中,当压力机12生成购票测试结果之后,将购票测试结果发送至控制台。其中,压力机可采用jvm虚拟机代理模式,jvm虚拟机代理模式可包括代理进程,用于实时与控制台11进行交互。本发明实施例中,购票测试结果包括售票量、售票时间、系统利用率、购票所消耗的时间、购票测试脚本的执行次数、购票测试脚本的执行时间和购票测试脚本的运行结果之一或其任意组合。在本发明的其他实施例中,购票测试结果还可以包括其他信息,本发明对此不做限定,可根据需求进行设定。

步骤205、接收监控服务器发送的与购票测试结果对应的性能指标信息。

本发明实施例中,性能指标信息包括每秒处理的脚本的速度,并发用户数,采样的间隔时间等信息。当多个压力机在执行参数化文件时,生成与购票测试结果对应的性能指标信息,并将性能指标信息发送至监控服务器,监控服务器接收到性能指标信息后,向控制台发送与购票测试结果对应的性能指标信息。

步骤206、从购票测试结果中提取出指定的购票测试数据。

本发明实施例中,指定的购票测试数据包括购票测试脚本的执行次数、购票测试脚本的执行时间、购票测试脚本的运行结果。

步骤207、根据指定的购票测试数据生成指定的购票测试参数对应的动态图表。

本发明实施例中,将指定的购票测试结果发送到控制台11进行处理。控制台11依据采样间隔时间对接收的指定的购票测试结果进行分析处理,生成指定的购票测试参数对应的动态图表,其中动态图标包括表格和动态曲线图的展示方式,通过动态图标展示指定的购票测试结果的响应时间和tps关键数据,使得用户对运行的测试场景有直观的了解,并且动态图标可存储在平台的mysql数据库内,以便于用户更加方便的查看历史测试结果。

步骤208、根据动态图表以及性能指标信息,生成性能测试报告。

本发明实施例中,性能指标信息包括购票测试脚本的运行速度、每秒生成购票订单的数量、并发用户数和采样的间隔时间之一或其任意组合。在本发明的其他实施例中,性能指标信息还可以包括其他信息,本发明对此不做限定,可根据需求进行设定。

根据动态图表以及性能指标信息,生成性能测试报告,从而使得用户能够获取到性能测试的信息,从而从而满足客票系统多种性能测试需求。本发明实施例提供的技术方案中,根据输入的购票轨迹信息以及测试次数,生成购票测试脚本,将购票测试脚本和输入的购票场景参数,生成参数化文件,向多个压力机发送参数化文件,接收多个压力机反馈的购票测试结果,接收监控服务器发送的与购票测试结果对应的性能指标信息,根据所述购票测试结果和所述性能指标信息,生成性能测试报告,能够对客票系统的多种购票场景进行性能测试,输出得到性能测试报告,从而满足客票系统多种性能测试需求。

图4是本发明一实施例所提供的一种客票系统的性能测试装置的结构示意图,如图4所示,该装置包括:第一生成模块21、发送模块22、接收模块23以及第二生成模块24。

第一生成模块21用于根据输入的购票轨迹信息以及测试次数,生成购票测试脚本.

第一生成模块21还用于将所述购票测试脚本和输入的购票场景参数,生成参数化文件。

发送模块22用于向多个压力机发送执行所述参数化文件的指令,所述指令携带所述参数化文件。

接收模块23用于接收所述多个压力机反馈的购票测试结果.

接收模块23还用于接收监控服务器发送的与所述购票测试结果对应的性能指标信息。

第二生成模块24用于根据所述购票测试结果和所述性能指标信息,生成性能测试报告。

本发明实施例中,该装置的第二生成模块24具体包括:提取子模块241和生成子模块242。

提取子模块241用于从所述购票测试结果中提取出指定的购票测试数据。

生成子模块242用于根据所述指定的购票测试数据生成所述指定的购票测试参数对应的动态图表。

生成子模块242还用于根据所述动态图表以及所述性能指标信息,生成性能测试报告。

本发明实施例提供的技术方案中,根据输入的购票轨迹信息以及测试次数,生成购票测试脚本,将所述购票测试脚本和输入的购票场景参数,生成参数化文件,向多个压力机发送参数化文件,接收所述多个压力机反馈的购票测试结果,接收监控服务器发送的与所述购票测试结果对应的性能指标信息,根据所述购票测试结果和所述性能指标信息,生成性能测试报告,能够对客票系统的多种购票场景进行性能测试,输出得到性能测试报告,从而满足客票系统多种性能测试需求。

本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述客票系统的性能测试方法的实施例的各步骤,具体描述可参见上述客票系统的性能测试方法的实施例。

本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述客票系统的性能测试方法的步骤。具体描述可参见上述客票系统的性能测试方法的实施例。

图5为本发明实施例提供的一种计算机设备的示意图。如图5所示,该实施例的计算机设备3包括:处理器31、存储器32以及存储在存储32中并可在处理器31上运行的计算机程序33,该计算机程序33被处理器31执行时实现实施例中的应用于客票系统的性能测试方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器31执行时实现实施例中应用于客票系统的性能测试装置中各模型/单元的功能,为避免重复,此处不一一赘述。

计算机设备3包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,图5仅仅是计算机设备3的示例,并不构成对计算机设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备3还可以包括输入输出设备、网络接入设备、总线等。

所称处理器31可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器32可以是计算机设备3的内部存储单元,例如计算机设备3的硬盘或内存。存储器32也可以是计算机设备3的外部存储设备,例如计算机设备3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器32还可以既包括计算机设备3的内部存储单元也包括外部存储设备。存储器32用于存储计算机程序以及计算机设备3所需的其他程序和数据。存储器32还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,计算机设备,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1