本申请涉及互联网领域,具体而言,涉及一种业务平台的测试方法、装置及系统。
背景技术:
随着银行的业务发展、互联网技术的发展、社会消费的不断升级以及业务的复杂程度越来越高,依赖传统线下的交易方式已经无法满足现在的需求。同时,也随着银行、公司业务与互联网之间的融合不断提高,基于互联网的交易已经逐渐成为主流。
为了保证网络交易的安全性和正确性,在产品上线前,往往需要对其进行验证,如验证对用户的各种操作的反馈是否正确,如验证所显示的商品是否是用户所选择的、价格是否与用户的类型匹配、交易是否正确等。
发明人通过对相关技术进行分析,认识到相关技术中的验证方式主要是测试人员人工编写模拟用户操作的代码,通过该代码模拟用户的行为,但是受限于测试人员的理解等因素,所编写的代码难以模拟到用户的所有真实操作。
以上方案存在的缺陷包括:1)考虑到用户行为的复杂性,人工编写模拟用户操作的代码的方式效率较低;2)所编写的代码难以模拟到用户的所有真实操作,从而影响了测试准确度。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本申请实施例提供了一种业务平台的测试方法、装置及系统,以至少解决相关技术中测试准确度较低的技术问题。
根据本申请实施例的一个方面,提供了一种业务平台的测试方法,包括:获取目标业务请求,其中,目标业务请求为业务帐号向第一业务平台发起的请求,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台;通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试,其中,第二业务平台为未上线运行的待测试业务平台;通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,其中,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
根据本申请实施例的另一方面,还提供了一种业务平台的测试装置,包括:获取单元,用于获取目标业务请求,其中,目标业务请求为业务帐号向第一业务平台发起的请求,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台;转发单元,用于通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试,其中,第二业务平台为未上线运行的待测试业务平台;测试单元,用于通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,其中,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
根据本申请实施例的另一方面,还提供了一种业务平台的测试系统,包括:第一业务平台,用于接收业务帐号发起的目标业务请求,其中,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台;未上线运行的待测试的第二业务平台;测试服务器,用于通过将第一业务平台转发的目标业务请求发送给第二业务平台来对第二业务平台进行测试,并通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,其中,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,获取运行的第一业务平台上接收到的真实的用户请求(即目标业务请求),利用获取到的真实的用户请求来对待测试的第二业务平台进行测试,可以真实地还原用户的真实行为,可以解决相关技术中测试准确度较低的技术问题,避免测试人员受限于个人认知导致编写的模拟用户操作的行为存在缺陷导致测试不准确的问题,同时由于仅需采集用户请求,而不用人工编写测试代码,进而达到提高准确率的同时提高测试效率的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的业务平台的测试方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的业务平台的测试方法的流程图;
图3是根据本申请实施例的一种可选的业务平台的测试方案的示意图;
图4是根据本申请实施例的一种可选的业务平台的系统架构的示意图;
图5是根据本申请实施例的一种可选的客户端配置的流程图;
图6是根据本申请实施例的一种可选的客户端请求采集的流程图;
图7是根据本申请实施例的一种可选的驱动层流程的流程图;
图8是根据本申请实施例的一种可选的业务平台的测试方法的流程图;
图9是根据本申请实施例的一种可选的业务平台的测试装置的示意图;以及,
图10是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种业务平台的测试方法的方法实施例。
可选地,在本实施例中,上述业务平台的测试方法可以应用于如图1所示的由第一业务平台101、未上线运行的待测试的第二业务平台103以及测试服务器105所构成的硬件环境中。如图1所示,第一业务平台为已经上线运行的业务平台,第一业务平台接收业务帐号发起的目标业务请求,业务帐号是在第一业务平台中使用的帐号,测试服务器105通过网络与第一业务平台101和第二业务平台103进行连接,通过将第一业务平台转发的目标业务请求发送给第二业务平台来对第二业务平台进行测试,可在服务器上或独立于服务器设置数据库107,用于保存第一业务平台对目标业务请求进行响应而向业务帐号返回的第一响应消息,第二业务平台对目标业务请求进行响应而返回的第二响应消息,测试服务器105通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,上述网络包括但不限于:广域网、城域网或局域网。
本申请实施例的业务平台的测试方法可以由测试服务器105来执行,也可以由测试服务器105和业务平台共同执行。图2是根据本申请实施例的一种可选的业务平台的测试方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤s202,测试服务器获取目标业务请求,目标业务请求为业务帐号向第一业务平台发起的请求,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台。
上述业务请求为业务交互过程中产生的请求,如用户终端发送的基于互联网的线上交易请求。
步骤s204,测试服务器通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试,第二业务平台为未上线运行的待测试业务平台。
步骤s206,测试服务器通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
以基于互联网的线上交易请求为例,上述响应消息(包括第一响应消息、第二响应消息)可包括用户选择的商品名、商品价格、交易单号等多个维度的信息,那么对比第一响应消息和第二响应消息时可以对比两个消息中相同维度的信息是否一致,从而得到测试结果。
通过上述步骤,获取运行的第一业务平台上接收到的真实的用户请求(即目标业务请求),利用获取到的真实的用户请求来对待测试的第二业务平台进行测试,可以真实地还原用户的真实行为,可以解决相关技术中测试准确度较低的技术问题,避免测试人员受限于个人认知导致编写的模拟用户操作的行为存在缺陷导致测试不准确的问题,同时由于仅需采集用户请求,而不用人工编写测试代码,进而达到提高准确率的同时提高测试效率的技术效果。
如图3所示,在本申请的技术方案中包括以下几个方面:
1)流量采集,在运行的服务器中(即第一业务平台的服务器)嵌入目标功能接口(即目标插件对应的接口),进行流量采集,通过该插件复制目标功能接口接收到的业务请求和请求结果(即第一响应消息),数据源可以为杰夫客户端(或称jsf客户端),数据类型包括业务请求的请求参数、业务请求的响应结果(即响应消息),采集需求可以根据需要进行配置,如开启暂停、设置目标实例(如随机或者ip地址)、tps控制、最大限度的降低对服务器的性能影响等;
2)业务层,对于采集的数据,可以在业务层持久化流量数据(如流量数据的存储、更新以及提取)、同步驱动层数据(如下发应用信息和任务信息至驱动层);
3)驱动层,进行应用维护(如维护状态信息和管理任务),任务维护包括维护任务的状态信息和任务调度(如定时调度、流量回放,流量回放包括拉取流量、控制回放),进而将请求转发至测试集群中与目标功能接口对应的测试接口(即第二业务平台的服务器的业务请求的接收接口);获取测试接口对该请求的测试结果(即第二响应消息);判断请求结果和测试结果是否一致,若一致则说明测试接口的功能正常,否则不正常;
4)管理层,主要进行应用管理(如应用的创建、更新)、任务管理(任务的创建、更新、销毁、测试等)、审批管理(如应用审批、任务审批)以及权限控制。
整个方案的系统架构(actor模型)图如图4所示,系统模块分流量采集层,前端管理层,业务处理层,核心驱动层,下面结合图2所示的步骤和图4所示的系统架构进一步详述本申请的技术方案。
在步骤s202提供的技术方案中,采集层可以按照前端管理层的配置采集所需的目标业务请求。
前端管理层的作用是作为用户管理控制台,使用者可以添加应用信息,任务信息;对任务的采集和回放进行高可控的管理,例如:采集端tps限流,采集端ip限制,采集端开关,回放tps限流,回放开关等。
应用信息:用户接入应用,一个应用下可以有多个采集任务信息,用户可以通过应用控制其下的全部任务;任务信息:用户应用中具体要采集流量的埋点接口,其中维护了采集的策略配置,回放策略配置,可以实时的控制采集和回放的状态。
任务控制配置项包括:
客户端采集状态:暂停、启动(控制采集客户端的开启);回放状态:暂停、启动(控制流量回放的开启);采集tps:int(限流);回放tps:int(限流);采集端ip控制:ip地址列表(白名单);回放结果对比策略:全值匹配、自定义字段;忽略字段:…。其中的字段值不参与结果对比;自定义字段:只对比定义的字段结果值。
高可控功能是管理员在控制台上操作,改变了任务的配置信息,流量采集层通过sdk开发工具包实时获取到最新的配置信息,改变采集策略;核心驱动层通过异步jmq消息获取到最新的任务信息,更新相关的任务actor,实时的改变回放时的相关策略。
在获取目标业务请求之前,可以预先对需要采集的请求进行配置:将管理层接收到的第一配置指令转发给目标插件,第一配置指令指示在测试配置中写入配置信息,配置信息用于控制采集状态、采集速率、采集地址以及业务请求所需携带的字段中的至少之一。
在流量采集层,需要嵌入客户端sdk开发工具包(即上述目标插件),使用者需要将sdk引入系统,经过相关配置需要采集的流量入口,进行埋点即可在有访问流量时通过异步转发至业务处理层进行相关处理,根据管理者配置的任务采集策略决定是否进行憋单存储还是直接转发至核心驱动层进行实时回放。
一种可选的流量采集客户端配置如下:如配置采集状态暂停后,再次检查线上配置时间间隔,单位毫秒,如默认最小5s;配置是否输出日志,如生产环境设置为不输出,测试环境设置为输出;接口配置信息,可以配置多个:如配置杰夫服务1接口、杰夫服务1别名、杰夫服务1的调用方法,杰夫服务2接口、杰夫服务2别名、杰夫服务2的调用方法。
可选地,一种配置方式如图5所示。
步骤s502,产生任务变动操作。
步骤s504,控制台进行任务管理,向业务层发出任务变动的异步通知。
步骤s506,业务层更新驱动层的任务。
步骤s508,驱动层通过任务调度来执行该任务,向业务层返回流量批次信息。
步骤s510,业务层通知驱动层,调用外部服务进行流量回放。
步骤s512,驱动层向业务层返回异步通知,更新流量回放的结果信息。
步骤s514,业务层利用结果信息对数据库hbase进行更新。
步骤s516,驱动层触发定时自检。
步骤s518,业务层对比任务信息的版本号,利用对比结果对驱动层进行维护。
可选地,在获取目标业务请求之后,通过目标插件获取第一业务平台向业务帐号返回的第一响应消息,目标插件按照测试配置采集第一响应消息,并按照测试配置将第一响应消息发送至业务层或者逻辑层,业务层用于将接收到的第一响应消息保存在缓存数据库中,逻辑层利用接收到的第一响应消息进行测试,逻辑层也可从缓存数据库中读取第一响应消息进行测试。
采集的原理是使用过滤器的形式,在流量请求结束后获取到本次请求的参数和请求结果,通过底层线程异步请求业务处理层rpc服务(remoteprocedurecall,即远程过程调用)进行转发,极大程度的减少对使用系统的性能影响。
一种可选的业务请求的采集方式如图6所示。
步骤s602,向流量采集客户端发送流量采集的过滤器。
步骤s604,客户端按照此过滤器进行流量数据的采集。
步骤s606,将采集的数据采用异步发送的形式转发给业务层。
步骤s608,业务层对数据进行持久化缓存。
步骤s610,业务层将接收的数据实时转发给驱动层。
可选地,在获取目标业务请求时,可通过第一业务平台中的目标插件采集目标业务请求,目标插件按照测试配置采集目标业务请求,并按照测试配置将目标业务请求发送至业务层或者逻辑层,业务层用于将接收到的目标业务请求保存在缓存数据库中,逻辑层用于利用接收到的目标业务请求进行测试,逻辑层也可从缓存数据库中读取目标业务请求进行测试。
在步骤s204提供的技术方案中,在通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试之前,将管理层接收到的第二配置指令转发给驱动层,第二配置指令用于配置驱动层的测试状态、测试速率以及对比方式中的至少之一。
可选地,通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试时,通过驱动层将目标插件发送的目标业务请求转发给第二业务平台来对第二业务平台进行测试;或,通过驱动层将缓存数据库中的目标业务请求转发给第二业务平台来对第二业务平台进行测试。
上述方案可在业务处理层(简称业务层)完成,业务处理层的主要作用是作为流量采集层、前端管理层以及核心驱动层的纽带中枢功能,主要负责流量的转发、存储业务,维护应用、任务配置信息等业务上的工作。其工作主要是提供高性能的rpc服务,利用高速缓存,jmq异步消息扭转整个流量复制平台,接入es,hbase大数据层持久化存储。
在步骤s206提供的技术方案中,在获取目标业务请求之后,可按照测试速率启动并行运行的多个测试模型,多个测试模型在单位时间内对比的第一响应消息和第二响应消息的次数与测试速率匹配(测试速率=每个模型在单位时间内的测试数量*模型数量),如测试速率为10,每个模型单位时间测试数量为2,那么模型数量为5;通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果时,通过测试模型,按照第二配置指令所配置的对比方式来对比第一响应消息和第二响应消息,以得到第二业务平台的测试结果。
上述方案可以在核心驱动层完成,核心驱动层是流量复制平台的核心功能,维护了所有应用,任务信息,主要承接流量回放任务调度、统计计算的功能;具体实现时可利用actor模型,内部形成一个拟人化的生态环境,提供了高可用、高可控、高性能的集群能力。
一种可选的核心驱动层的处理流程如图7所示。
步骤s702,启动任务调度;
步骤s704,检查任务信息;
步骤s706,判断是否启动回放,否则结束,若是且回放类型为憋单回放则执行步骤s708,若是且回放类型为实时回放则执行步骤s724;
步骤s708,获取当前流量批次,及其开始下标(即起始标识);
步骤s710,驱动层请求业务层拉取流量数据;
步骤s712,业务层拉取流量数据;
步骤s714,通过r2m接口读取这批消息的标识;
步骤s716,通过标识批量查询hbase,获取全量信息;
步骤s718,返回查询结果,下次开始批次的下标;
步骤s720,更新调度信息;
步骤s722,进行tps控制,在规定时间内回放此批次流量;
步骤s724,利用杰夫接口,通过异步调用回放流量;
步骤s726,发送jmq,异步更新流量数据回放结果;
步骤s728,业务层消费jmq,更新hbase;
步骤s730,下次任务调度的时间设置。
作为一种可选的完整实施例,如图8所示:
步骤s802,杰夫服务启动杰夫滤波器filter;
步骤s804,流量采集客户端请求进行流量采集,包括如下内容:
检测请求中隐士参数(即流量复制平台发起的请求标识);若没有隐士参数则结束,若有则检查本地缓存中该服务采集的开关标识;若开关标识没有开启则判断是否关闭超过5分钟,若为否则结束,若关闭超过5分钟或者开关标识为开启则开启ips控制;对请求参数、结果以及信息进行封装并进行序列化;流量采集客户端向业务层请求流量采集请求。
步骤s806,业务层进行流量采集,包括如下内容:
在接收到流量采集请求时,查询该服务的采集任务,判断缓存中是否存在任务数据,若不存在,则向管理层请求任务查询调用,并根据管理层反馈确定是否成功获取任务信息;若缓存中存在任务数据或者成功获取任务信息则判断任务是否有效,如果无效则返回服务采集开关标识的tps设置,以便流量采集客户端更新本地缓存的服务采集开关标识的tps设置。如果有效则为采集端设置相应的开关标识,并实时转发至驱动层或者进行异步持久化憋单,如利用r2m接口缓存key为“任务 批次”,value为“数据标识”的信息三天,通过hbase存储全量数据三天。
步骤s808,管理层收到处理请求时,向业务层返回任务信息。
步骤s810,驱动层处理业务层的实时转发数据。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务平台的测试方法的业务平台的测试装置。图9是根据本申请实施例的一种可选的业务平台的测试装置的示意图,如图9所示,该装置可以包括:
获取单元901,用于获取目标业务请求,其中,所述目标业务请求为业务帐号向第一业务平台发起的请求,所述业务帐号是在所述第一业务平台中使用的帐号,所述第一业务平台为已经上线运行的业务平台;
转发单元903,用于通过将所述目标业务请求转发给第二业务平台来对所述第二业务平台进行测试,其中,所述第二业务平台为未上线运行的待测试业务平台;
测试单元905,用于通过对比第一响应消息和第二响应消息确定所述第二业务平台的测试结果,其中,所述第一响应消息为所述第一业务平台对所述目标业务请求进行响应而向所述业务帐号返回的消息,所述第二响应消息为所述第二业务平台对所述目标业务请求进行响应而返回的消息。
需要说明的是,该实施例中的获取单元901可以用于执行本申请实施例中的步骤s202,该实施例中的转发单元903可以用于执行本申请实施例中的步骤s204,该实施例中的测试单元905可以用于执行本申请实施例中的步骤s206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,获取运行的第一业务平台上接收到的真实的用户请求(即目标业务请求),利用获取到的真实的用户请求来对待测试的第二业务平台进行测试,可以真实地还原用户的真实行为,可以解决相关技术中测试准确度较低的技术问题,避免测试人员受限于个人认知导致编写的模拟用户操作的行为存在缺陷导致测试不准确的问题,同时由于仅需采集用户请求,而不用人工编写测试代码,进而达到提高准确率的同时提高测试效率的技术效果。
可选地,获取单元还可用于:通过所述第一业务平台中的目标插件采集所述目标业务请求,其中,所述目标插件用于按照测试配置采集所述目标业务请求,并按照所述测试配置将所述目标业务请求发送至业务层或者逻辑层,所述业务层用于将接收到的所述目标业务请求保存在缓存数据库中,所述逻辑层用于利用接收到的所述目标业务请求进行测试。
可选地,本申请的装置还可包括:配置单元,用于在获取目标业务请求之前,将管理层接收到的第一配置指令转发给所述目标插件,其中,所述第一配置指令用于指示在所述测试配置中写入配置信息,所述配置信息用于控制采集状态、采集速率、采集地址以及业务请求所需携带的字段中的至少之一。
可选地,转发单元还可用于:通过驱动层将所述目标插件发送的所述目标业务请求转发给第二业务平台来对所述第二业务平台进行测试;或,通过所述驱动层将所述缓存数据库中的所述目标业务请求转发给第二业务平台来对所述第二业务平台进行测试。
可选地,上述配置单元还可用于,在通过将所述目标业务请求转发给第二业务平台来对所述第二业务平台进行测试之前,将管理层接收到的第二配置指令转发给所述驱动层,其中,所述第二配置指令用于配置所述驱动层的测试状态、测试速率以及对比方式中的至少之一。
可选地,上述获取单元,还可用于在获取目标业务请求之后,通过所述目标插件获取所述第一业务平台向所述业务帐号返回的所述第一响应消息,其中,所述目标插件用于按照所述测试配置采集所述第一响应消息,并按照所述测试配置将所述第一响应消息发送至所述业务层或者所述逻辑层,所述业务层用于将接收到的所述第一响应消息保存在所述缓存数据库中,所述逻辑层用于利用接收到的所述第一响应消息进行测试。
可选地,上述测试单元还可用于在获取目标业务请求之后,按照测试速率启动并行运行的多个测试模型,其中,所述多个测试模型在单位时间内对比的所述第一响应消息和所述第二响应消息的次数与所述测试速率匹配;通过所述测试模型,按照所述第二配置指令所配置的对比方式来对比所述第一响应消息和所述第二响应消息,以得到所述第二业务平台的测试结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务平台的测试方法的服务器或终端。
图10是根据本申请实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图10中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图10所示,该终端还可以包括输入输出设备1007。
其中,存储器1003可用于存储软件程序以及模块,如本申请实施例中的业务平台的测试方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的业务平台的测试方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1003用于存储应用程序。
处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:
获取目标业务请求,其中,目标业务请求为业务帐号向第一业务平台发起的请求,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台;
通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试,其中,第二业务平台为未上线运行的待测试业务平台;
通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,其中,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行业务平台的测试方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取目标业务请求,其中,目标业务请求为业务帐号向第一业务平台发起的请求,业务帐号是在第一业务平台中使用的帐号,第一业务平台为已经上线运行的业务平台;
通过将目标业务请求转发给第二业务平台来对第二业务平台进行测试,其中,第二业务平台为未上线运行的待测试业务平台;
通过对比第一响应消息和第二响应消息确定第二业务平台的测试结果,其中,第一响应消息为第一业务平台对目标业务请求进行响应而向业务帐号返回的消息,第二响应消息为第二业务平台对目标业务请求进行响应而返回的消息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
1.一种业务平台的测试方法,其特征在于,包括:
获取目标业务请求,其中,所述目标业务请求为业务帐号向第一业务平台发起的请求,所述业务帐号是在所述第一业务平台中使用的帐号,所述第一业务平台为已经上线运行的业务平台;
将所述目标业务请求转发给第二业务平台,其中,所述第二业务平台为未上线运行的待测试业务平台;
通过对比第一响应消息和第二响应消息确定所述第二业务平台的测试结果,其中,所述第一响应消息为所述第一业务平台对所述目标业务请求进行响应而向所述业务帐号返回的消息,所述第二响应消息为所述第二业务平台对所述目标业务请求进行响应而返回的消息。
2.根据权利要求1所述的方法,其特征在于,获取目标业务请求包括:
通过所述第一业务平台中的目标插件采集所述目标业务请求,其中,所述目标插件用于按照测试配置采集所述目标业务请求,并按照所述测试配置将所述目标业务请求发送至业务层或者逻辑层,所述业务层用于将接收到的所述目标业务请求保存在缓存数据库中,所述逻辑层用于利用接收到的所述目标业务请求进行测试。
3.根据权利要求2所述的方法,其特征在于,在获取目标业务请求之前,所述方法还包括:
将管理层接收到的第一配置指令转发给所述目标插件,其中,所述第一配置指令用于指示在所述测试配置中写入配置信息,所述配置信息用于控制采集状态、采集速率、采集地址以及业务请求所需携带的字段中的至少之一。
4.根据权利要求2所述的方法,其特征在于,将所述目标业务请求转发给第二业务平台包括:
通过驱动层将所述目标插件发送的所述目标业务请求转发给第二业务平台;或,
通过所述驱动层将所述缓存数据库中的所述目标业务请求转发给第二业务平台。
5.根据权利要求4所述的方法,其特征在于,在将所述目标业务请求转发给第二业务平台之前,所述方法还包括:
将管理层接收到的第二配置指令转发给所述驱动层,其中,所述第二配置指令用于配置所述驱动层的测试状态、测试速率以及对比方式中的至少之一。
6.根据权利要求2所述的方法,其特征在于,在获取目标业务请求之后,所述方法还包括:
通过所述目标插件获取所述第一业务平台向所述业务帐号返回的所述第一响应消息,其中,所述目标插件用于按照所述测试配置采集所述第一响应消息,并按照所述测试配置将所述第一响应消息发送至所述业务层或者所述逻辑层,所述业务层用于将接收到的所述第一响应消息保存在所述缓存数据库中,所述逻辑层用于利用接收到的所述第一响应消息进行测试。
7.根据权利要求1所述的方法,其特征在于,
在获取目标业务请求之后,所述方法包括:按照测试速率启动并行运行的多个测试模型,其中,所述多个测试模型在单位时间内对比的所述第一响应消息和所述第二响应消息的次数与所述测试速率匹配;
通过对比第一响应消息和第二响应消息确定所述第二业务平台的测试结果包括:通过所述测试模型,按照第二配置指令所配置的对比方式来对比所述第一响应消息和所述第二响应消息,以得到所述第二业务平台的测试结果。
8.一种业务平台的测试装置,其特征在于,包括:
获取单元,用于获取目标业务请求,其中,所述目标业务请求为业务帐号向第一业务平台发起的请求,所述业务帐号是在所述第一业务平台中使用的帐号,所述第一业务平台为已经上线运行的业务平台;
转发单元,用于将所述目标业务请求转发给第二业务平台,其中,所述第二业务平台为未上线运行的待测试业务平台;
测试单元,用于通过对比第一响应消息和第二响应消息确定所述第二业务平台的测试结果,其中,所述第一响应消息为所述第一业务平台对所述目标业务请求进行响应而向所述业务帐号返回的消息,所述第二响应消息为所述第二业务平台对所述目标业务请求进行响应而返回的消息。
9.一种业务平台的测试系统,其特征在于,包括:
第一业务平台,用于接收业务帐号发起的目标业务请求,其中,所述业务帐号是在所述第一业务平台中使用的帐号,所述第一业务平台为已经上线运行的业务平台;
未上线运行的待测试的第二业务平台;
测试服务器,用于将所述第一业务平台转发的所述目标业务请求发送给第二业务平台,并通过对比第一响应消息和第二响应消息确定所述第二业务平台的测试结果,其中,所述第一响应消息为所述第一业务平台对所述目标业务请求进行响应而向所述业务帐号返回的消息,所述第二响应消息为所述第二业务平台对所述目标业务请求进行响应而返回的消息。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
11.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
技术总结