货币基金系统自动性能测试方法、装置、设备及存储介质与流程

文档序号:14266202阅读:217来源:国知局
货币基金系统自动性能测试方法、装置、设备及存储介质与流程

本发明属于软件测试技术领域,更具体地说,是涉及一种货币基金系统自动性能测试方法、装置、设备及存储介质。



背景技术:

货币基金系统的性能测试,往往涉及一百多种的业务交易,以往一般采取人工方式,统一安排全国一批网点和大量柜员,协调同时模拟业务操作,这种测试方式既不灵活,也需要耗费大量人力和时间。

由于许多性能测试需要在高负荷或者是长时间情况下进行,如果有任何配置错误或者是其他的问题,比如货币基金系统前后端出现技术故障等,都需要重跑测试,会浪费很多的时间,影响测试周期;另外由于没有统一的统计规则,不同测试人员在统计关键指标时可能会出现出入,导致性能数据无法对比的情况,或者产生错误的测试结果。



技术实现要素:

针对现有技术的不足,本发明提供一种货币基金系统自动性能测试方法、装置、设备及存储介质,可以使性能测试过程不受系统前后端的影响,降低重跑率,并且形成统一的统计规则。

本发明是这样实现的:

本发明第一方面提供一种货币基金系统自动性能测试方法,所述方法包括以下步骤:

连接货币基金系统,生成镜像并根据所述镜像建立虚拟货币基金系统;

清除所述虚拟货币基金系统历史数据,导入准备数据;

应用自动化测试用例对所述虚拟货币基金系统进行性能测试;

获取所述性能测试的关键参数,根据所述关键参数自动生成测试报告。

本发明第二方面提供一种货币基金系统自动性能测试装置,所述装置包括:

镜像生成模块,用于连接货币基金系统,生成镜像建立虚拟货币基金系统;

数据导入模块,用于清除所述虚拟货币基金系统历史数据,导入准备数据;

性能测试模块,用于应用自动化测试用例对所述虚拟货币基金系统进行性能测试;

报告生成模块,用于获取所述性能测试的关键参数,根据所述关键参数自动生成测试报告。

本发明第三方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明第一方面所述方法的步骤。

本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述方法的步骤。

本发明提供的货币基金系统自动性能测试方法、装置、设备及存储介质,通过建立虚拟货币基金系统,并进行清除历史数据,导入准备数据,使测试环境独立,减少了测试环境对性能测试过程的影响,降低重跑率,同时,根据关键参数自动生成测试报告,使测试结果具有可比性,更能客观地评价货币基金系统的性能。

附图说明

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

图1是本发明一实施例提供的货币基金系统自动性能测试方法的流程图;

图2是本发明又一实施例提供的货币基金系统自动性能测试方法的流程图;

图3是本发明又一实施例提供的货币基金系统自动性能测试装置的结构示意图;

图4是图3所示实施例的另一结构示意图;

图5是本发明又一实施例提供的终端设备的结构示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参考图1,其示出了本发明实施例提供的货币基金系统自动性能测试方法的流程图。

所述货币基金系统自动性能测试方法包括以下步骤:

步骤s100,连接货币基金系统,生成镜像并根据镜像建立虚拟货币基金系统。

由于一般的性能测试的测试过程需要在高负荷或者是长时间情况下进行,这样如果测试系统中有配置错误或者系统的前后端出现问题例如技术故障时,都需要重新跑性能测试,这样会浪费大量的时间,影响测试周期,本步骤中将货币基金系统进行虚拟,将测试环境独立起来,很大程度上减少了测试环境的影响,使重跑率降低,提高性能测试的效率。

作为一种实施方式,可以用测试机连接货币基金系统,可以使测试机通过程序接口与货币基金系统进行连接,根据货币基金系统生成系统的镜像文件,根据生成的镜像文件建立虚拟货币基金系统。

其中,镜像文件具体可以是测试机程序根据预设的测试规则而选定部分(或全部)货币基金系统中的数据生成的,可以认为镜像文件是由测试机程序所生成,用以在后续过程中生成测试所需的系统镜像,这里并不构成对本申请的限定。

步骤s101,清除虚拟货币基金系统历史数据,导入准备数据。

由于在虚拟货币基金系统的过程中,虚拟的系统中会保留有真实系统中的相关数据,为了顺利地进行货币基金系统各个阶段的测试,需要先将存留的数据进行清除,避免存留的数据对测试过程产生干扰,再导入进行自动性能测试的准备数据进行性能测试。

其中,准备数据可以是诸如网点、柜员、卡号、交易帐户、客户名称、证件、类型、证件号码、签订协议号等之类各种业务交易数据,也可以是货币基金系统前后端的数据,这些数据是测试机根据需要抽取出来,在自动性能测试的过程中,导入到虚拟货币基金系统中,建立独立的测试环境,能够使各阶段的自动性能测试顺利进行。货币基金系统前后端是指货币基金的上下游,包括:用户开户系统、稽核审计系统、佣金管理系统、经纪人管理系统以及基金结算系统等等。

步骤s102,应用自动化测试用例对虚拟货币基金系统进行性能测试。

性能测试主要是测试一个系统的功能点的响应速度和对资源(cpu、内存、磁盘等)的消耗情况,例如,对于系统登录的功能,在很多用户都进行登录的情况下系统会不会瘫痪,从而在临界点得出系统可以容纳的最大用户数。货币基金系统性能测试的目的是通过设置不同的系统压力,测试系统的功能点在各种压力下是否能保持正常的响应,从而验证系统的稳定性。

其中,自动化测试用例包括了不同系统压力下的自动化测试脚本,可以模拟不同的场景,使性能测试的结果更加可靠。可以包括但不限于以下几种压力下的测试:

1.模拟货币基金系统的正常工作状态,系统资源相对充足,系统cpu使用率为60%~70%。

2.模拟货币基金系统资源紧张的工作状态,为cpu使用率超过90%的情况。

3.模拟货币基金系统持续疲劳联机的工作状态,持续疲劳联机指在高交易率的情况下进行长时间的压力测试,以考察货币基金系统在长时间、大负荷情况下的表现。

作为一种实施方式,本发明实施例是通过输入不同数量的并发用户来模拟不同的压力场景的。其中,用户并发数是指同一时间使用系统进行交易的用户数量。

步骤s103,获取性能测试的关键参数,根据关键参数自动生成测试报告。

在性能测试的过程中,为了使性能测试的结果具有可比性,需要对性能测试的统计规则进行统一。本发明实施例中,货币基金系统的性能可以具体反映在虚拟货币基金系统的关键参数中。其中,关键参数可以包括但不限于响应时间、响应成功率、cpu占用率、内存使用率、磁盘使用率、进程数和网络响应速度,这些关键参数可以客观地反映货币基金系统的各项性能的指标。

在运行自动化测试用例后,虚拟货币基金系统的测试端获取这些关键参数,根据这些参数自动生成测试报告。

作为一种实施方式,获取虚拟货币基金系统运行自动化用例后的关键参数,根据关键参数对测试报告模板中的参数值进行替换以生成测试报告。

其中,测试报告可以是一个报告模板,报告模板中具有可以替换的参数值,这些参数值代表各种关键参数,在运行自动化测试用例之后,报告模板自动获取性能测试的关键参数,对模板中的参数值进行替换,生成测试报告。

本发明实施例提供的货币基金系统自动性能测试方法,通过建立虚拟货币基金系统,并进行清除历史数据,导入准备数据,使测试环境独立,减少了测试环境对性能测试过程的影响,降低重跑率,同时,根据关键参数自动生成测试报告,使测试结果具有可比性,更能客观地评价货币基金系统的性能。

请参考图2,其示出了本发明另一实施例提供的货币基金系统自动性能测试方法的流程图。

所述货币基金系统自动性能测试方法包括以下步骤:

步骤s200,连接货币基金系统,生成镜像建立虚拟货币基金系统。

步骤s201,清除虚拟货币基金系统历史数据,导入准备数据。

步骤s202,应用自动化测试用例对虚拟货币基金系统进行性能测试。

步骤s203,获取性能测试的关键参数,根据关键参数自动生成测试报告。

其中,步骤s200至步骤s203与前一实施例中步骤s100至步骤s103相同,请参照前一实施例,这里不再赘述。

步骤s204,根据测试报告自动获取虚拟货币基金系统中不同业务的最大用户容纳数,生成不同业务的权重门限值。

其中,最大用户容纳数是指货币基金系统在可以稳定运行的情况下可以容纳的最多的一起交易的用户数,可以反映货币基金系统的性能。

作为一种实施方式,测试报告的模板中获取的关键参数包括最大用户容纳数,在运行自动化测试用例对虚拟货币基金系统进行性能测试后,测试报告的模板可以获取最大用户容纳数。

本发明实施中,最大用户容纳数是关键参数达到预设值时的获得的用户容纳数。其中,关键参数达到预设值是指部分或者全部关键参数都达到一个预定的数值时获得的用户容纳数,例如测试用机系统cpu占用率达到30%,或者内存使用率达到20%时的用户容纳数,可以根据实际情况进行规定,本申请不对预设值进行限定。

在实际货币基金系统的应用中,不同业务的交易量是不同的,使用面比较广的业务的交易量比使用面比较窄的业务交易量要大,自动化测试用例会根据这些不同的业务设定不同的测试场景。但是,对于使用面比较广且交易量差不多的业务而言,其对系统资源的消耗是不一样的,例如,业务a在并发用户数达到1000人时cpu占用率为20%,而业务b在并发用户数达到800人时cpu的占用率为20%。为了使性能测试的结果更加有价值,需要对这些使用面广的业务的最大容纳用户数进行比较,根据最大用户容纳数生成不同业务的权重门限值,从而对不同的业务在服务器的布置中更加优化,例如,业务a在cpu占用率为25%的最大容纳用户数为a1,业务b在cpu占用率为25%的最大容纳用户数为b1,业务c在cpu占用率为25%的最大容纳用户数为c1,业务d在cpu占用率为25%的最大容纳用户数为d1,则每个业务的权重门限值为该业务的最大容纳用户数为与所用业务的最大容纳用户数之和的比值,例如,业务a的权重门限值为a1/(a1+b1+c1+d1)。

步骤s205,根据每个业务的实时权重和权重门限值对每个业务在服务器群中进行服务质量控制。

根据最大用户容纳数获得每个业务的权重门限值后,就可以对每个业务在实际的服务器群中进行优化布置。

例如,业务a占的权重门限值是30%,业务b占的权重门限值是20%,则可以在实际的服务器群中对业务a比例30%和业务b比例20%进行服务器资源优化布置,使货币基金系统更加符合实际的使用情况,提高货币基金系统的性能。

当某个业务的实时权重超过其对应的权重门限值时,增加访问该业务的带宽,以减少访问该业务的时延,降低数据丢包,提高服务质量,例如当实际应用中业务a的权重超过了权重门限值,则增加业务a的带宽,减少访问该业务的时延,提高服务质量。

本发明实施例提供的货币基金系统自动性能测试方法,通过获取每个业务的最大用户容纳数,根据最大用户容纳数生成每个业务的权重门限值,按照业务的权重门限值对业务在服务器群中资源进行优化,当某个业务的实时权重超过权重门限时,增加该业务的带宽,减少访问业务的时延,提高服务质量。

进一步的,由于服务器接收业务的信道资源是有限的,因此,当服务器接入业务请求之后,需要为等待队列分配合适的优先级,并将有限的信道资源优先分配给优先级较高的业务,具体可以根据公式xi(t)=xi+twait×k,进行计算得到优先级xi(t)。其中,xi为业务优先级,twait为驻留时间,k为时间加权值。需要说明的是,不同的业务对应时间加权值可能不同。比如:时间加权值可以包括k1和k2。gbr(guaranteedbitrate,保证比特速率)承载业务,也就是包括语音业务、视频通话类的数据业务的时间加权值均为k1,而n-gbr(no-guaranteedbitrate,非保证比特速率)承载业务的时间加权值均为k2。为了保证实时业务的优先性,需要确保k1>k2,也就是当n-gbr承载业务等待时间较长时,在下一时刻其优先级函数xi大于gbr承载优先级函数时,那么对n-gbr承载业务提供服务,而gbr业务进入等待队列中进行排队等待,当有空余的资源时,在等待队列中的优先级最高的业务能够优先接入。

以下是本发明的装置实施例,在装置实施例中未详尽描述的细节,可以参考上述对应的方法实施例。

请参考图3,其示出了本发明实施例提供的货币基金系统自动性能测试装置的结构示意图。

所述货币基金系统自动性能测试装置30包括:镜像生成模块301、数据导入模块302、性能测试模块303和报告生成模块304。

镜像生成模块301,用于连接货币基金系统,生成镜像建立虚拟货币基金系统。

具体的,镜像生成模块301连接货币基金系统,根据货币基金系统生成系统的镜像文件,建立镜像生成虚拟的货币基金系统。

其中,镜像信息具体可以是镜像生成模块301根据预设的测试规则而选定部分(或全部)货币基金系统中的数据生成的,可以认为,镜像文件是由镜像生成模块301所生成,用以在后续过程中生成测试所需的系统镜像,这里并不构成对本申请的限定。

数据导入模块302,用于清除虚拟货币基金系统历史数据,导入准备数据。

为了清除测试环境的数据干扰,生成虚拟的货币基金系统后,数据导入模块302用于清除虚拟货币基金系统存留的数据,然后再导入准备数据。

其中,数据导入模块302准备的数据可以是诸如网点、柜员、卡号、交易帐户、客户名称、证件、类型、证件号码、签订协议号等之类各种业务交易数据,也可以是货币基金系统前后端的数据。这些数据由数据导入模块302抽取出来,导入到虚拟货币基金系统中,建立独立的测试环境,能够使各阶段的自动性能测试顺利进行。

性能测试模块303,用于应用自动化测试用例对虚拟货币基金系统进行性能测试。

其中,性能测试模块303包括了不同系统压力下的自动化测试用例,运行这些自动化测试用例,就可以实现对虚拟货币基金系统进行性能测试。

作为一种实施方式,性能测试模块303是通过对虚拟货币基金系统输入不同数量的并发用户实现不同系统压力的场景模拟的。

报告生成模块304,用于获取性能测试的关键参数,根据关键参数自动生成测试报告。

在运行自动化测试用例对虚拟货币基金系统进行性能测试后,报告生成模块304获取性能测试过程的关键参数,自动生成测试报告。

作为一种实施方式,报告生成模块304具有一个报告模板,报告模板中具有可以替换的参数值,在获取到关键参数后,报告生成模块304中的模板自动获取性能测试的关键参数,对模板中的参数值进行替换,生成测试报告。

请参考图4,其示出本发明实施例提供的货币基金系统自动测试装置的另一结构示意图。

所述货币基金系统自动测试装置30还包括质量控制模块305。

质量控制模块305,用于根据测试报告自动获取虚拟货币基金系统中每个业务的最大用户容纳数,生成每个业务的权重门限值,并根据每个业务的实时权重和权重门限值对每个业务在服务器群中进行服务质量控制,当某个业务的权重超过其对应的权重门限值时,增加访问该业务的带宽。

作为一种实施方式,报告生成模块304获取的关键参数中,包括最大用户容纳数,在性能测试模块302运行自动化测试用例对虚拟货币基金系统进行性能测试后,报告生成模块304可以获取最大用户容纳数。

质量控制模块305获取了最大用户容纳数后,可以生成每个业务的权重权重门限值,并根据每个业务的实时权重和权重门限值限对每个业务在服务器群中进行服务质量控制。

例如,业务a占的权重门限值是30%,业务b占的权重门限值是20%,则可以在实际的服务器群中对业务a比例30%和业务b比例20%进行服务器资源优化布置,使货币基金系统更加符合实际的使用情况,提高货币基金系统的性能。

本发明实施例提供的货币基金系统自动性能测试装置,通过建立镜像生成虚拟的测试系统,减少了测试环境的影响,使重跑率降低,同时通过获取关键参数自动生成测试报告,形成统一的统计规则,使测试结果具有可比性。另外,通过获取每个业务的最大用户容纳数,按照业务的权重对业务在服务器群中资源进行优化,再根据每个业务的权重设置预设门限,当某个业务的实时权重超过预设门限时,增加该业务的带宽,减少访问业务的时延,提高服务质量。

本发明另一种实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的货币基金系统自动性能测试方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述实施例中货币基金系统自动性能测试装置中各模块/单元的功能,为避免重复,这里不再赘述。

请参考图5,其示出了本发明实施例提供的终端设备的示意图。终端设备6包括处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。处理器60执行计算机程序62时实现上述实施例中货币基金系统自动性能测试方法的各个步骤,例如图1所示的步骤s100、s101、s102和s103。或者,处理器60执行计算机程序62时实现上述实施例中货币基金系统自动性能测试装置各模块/单元的功能,如图3所示的镜像生成模块301、数据导入模块302、性能测试模块303和报告生成模块304。

计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在终端设备6中的执行过程。例如,计算机程序62可以被分割成镜像生成模块301、数据导入模块302、性能测试模块303和报告生成模块304(虚拟装置中的模块)。

该终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图5仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。

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

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

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。

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

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)等。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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