多场景模拟响应的方法、装置、计算机设备及存储介质与流程

文档序号:19324350发布日期:2019-12-04 00:54阅读:156来源:国知局
多场景模拟响应的方法、装置、计算机设备及存储介质与流程

本申请涉及业务测试领域,尤其涉及多场景模拟响应的方法、装置、计算机设备及存储介质。



背景技术:

目前,业务系统在进行开发过程中,需要进行测试,而测试完成后又需要连接外部系统接口,以便处理相应的业务。业务系统就是在这样的过程中,反复进行测试和业务处理。对于单个业务系统来说,这样的过程还不是非常复杂,但随着业务系统的增加,各个业务系统又要与不同的外部系统接口连接,同时又要进行不同场景的测试,所以整个开发、测试、联调等时间耗费非常大,效率非常低,不易管理和维护。

申请内容

本申请实施例提供了多场景模拟响应的方法、装置、计算机设备及存储介质,旨在解决现有技术中多个业务系统的情况下开发和测试时间长、效率低的问题。

第一方面,本申请实施例提供了一种多场景模拟响应的方法,其包括:

预先在mock系统中配置各个业务系统的多场景模拟响应方式;

通过一中间系统配置mock系统的开启或关闭,当需要对业务系统进行测试时,开启所述mock系统,当需要对业务系统进行业务转发时,关闭所述mock系统;

当接收到业务系统的测试请求时,通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应;

当接收到业务系统的业务请求时,通过所述中间系统将所述业务请求转发至外部系统接口。

第二方面,本申请实施例提供了一种多场景模拟响应的装置,其包括:

第一配置模块,用于预先在mock系统中配置各个业务系统的多场景模拟响应方式;

第二配置模块,用于通过一中间系统配置mock系统的开启或关闭,当需要对业务系统进行测试时,开启所述mock系统,当需要对业务系统进行业务转发时,关闭所述mock系统;

模拟响应模块,用于当接收到业务系统的测试请求时,通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应;

业务转发模块,用于当接收到业务系统的业务请求时,通过所述中间系统将所述业务请求转发至外部系统接口。

第三方面,本申请实施例提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的多场景模拟响应的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述多场景模拟响应的方法。

本申请实施例提供一种多场景模拟响应的方法,其包括以下步骤:预先在mock系统中配置各个业务系统的多场景模拟响应方式;通过一中间系统配置mock系统的开启或关闭,当需要对业务系统进行测试时,开启所述mock系统,当需要对业务系统进行业务转发时,关闭所述mock系统;当接收到业务系统的测试请求时,通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应;当接收到业务系统的业务请求时,通过所述中间系统将所述业务请求转发至外部系统接口。上述方法可以在业务系统繁多而且又需要与众多的外部系统接口进行接口交互的情况下,进行灵活设置,当需要开发测试时,则可以快速切换到mock系统,当需要进行业务转发时,则可以连接到外部系统接口。这样可以实现业务系统的快速响应,缩短开发、测试、联调时间。本申请实施例同时还提供了一种多场景模拟响应的装置、一种计算机可读存储介质和一种计算机设备,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例提供的多场景模拟响应的方法的流程示意图;

图2为本申请实施例提供的多场景模拟响应的装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1为本申请实施例提供的一种多场景模拟响应的方法的流程示意图,方法可以包括以下步骤:

s101、预先在mock系统中配置各个业务系统的多场景模拟响应方式;

mock系统就是在对业务系统进行测试的过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的系统。

所述虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。真实对象(如:股票行情,天气预报)具有不可确定的行为,产生不可预测的效果,所以真实对象在实际场景中是难以被创建的,故在mock系统中需创建虚拟的对象。具体可使用一个接口来描述这个虚拟的对象。在mock系统中,可使用mockobject进行测试,主要是用来模拟那些在应用中不容易构造(如httpservletrequest必须在servlet容器中才能构造出来)或者比较复杂的对象(如jdbc中的resultset对象)从而使测试顺利进行的工具。目前,在java阵营中主要的mock测试工具有jmock,mockcreator,mockrunner,easymock,mockmaker等,在微软的.net阵营中主要是nmock,.netmock等。一个具体的例子是,闹钟根据时间来进行提醒服务,如果过了下午5点钟就播放音频文件提醒大家下班了,如果要利用真实的对象来测试的话就只能等到下午五点,然后把耳朵放在音箱旁,本申请实施例则可利用mock对象来进行测试,这样就可以模拟控制时间了,而不用等待时钟转到下午5点钟。

本步骤中,需在mock系统中配置各个业务系统的多场景模拟响应方式。例如对于业务系统a的身份证实名认证,可以配置返回实名认证一致、实名认证不一致、实名认证失败三种场景。又或者,对于业务系统b的手机三要素验证,可以配置返回验证一致、验证不一致两种场景。

进一步,所述步骤s101包括:

在所述mock系统的数据库中配置各个业务系统的多场景模拟响应方式。

即mock系统中设置一数据库,或者在mock系统外连接一数据库,在所述数据库中进行配置,这样mock系统在进行测试时可以从数据库中获取相应的数据以及存储相应的数据。

s102、通过一中间系统配置mock系统的开启或关闭,当需要对业务系统进行测试时,开启所述mock系统,当需要对业务系统进行业务转发时,关闭所述mock系统;

所述中间系统就类似于一个网关,凡业务系统需要访问外部系统接口,或者外部系统接口需要访问本申请中的业务系统的时候,都经过中间系统转发。

另外所述中间系统也类似于一个开关,通过该中间系统可配置mock系统的开启或关闭。当需要对业务系统进行测试时,通过中间系统配置开启mock系统,以便对业务系统进行开发和测试,从而模拟多场景的响应。当需要对业务系统进行业务转发时,则通过所述中间系统配置关闭mock系统,这样就可以通过中间系统来转发业务系统的业务,具体可转发给外部系统接口。

s103、当接收到业务系统的测试请求时,通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应;

本步骤即为多业务系统进行多场景模拟响应。具体的,所述步骤s103包括:步骤一、当接收到业务系统的测试请求时,在所述中间系统中设置开启mock系统;步骤二、通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应。

上述过程中,当接收到业务系统的测试请求时,则通过中间系统开启mock系统开关,然后通过中间系统将测试请求转发至mock系统进行多场景的模拟响应。

s104、当接收到业务系统的业务请求时,通过所述中间系统将所述业务请求转发至外部系统接口。

本步骤即为多业务系统进行业务转发。具体的,所述步骤s104包括:步骤一、当接收到业务系统的业务请求时,在所述中间系统中设置关闭mock系统;步骤二、通过所述中间系统将所述业务请求转发至外部系统接口。

上述过程中,当接收到业务系统的业务请求时,则通过中间系统关闭mock系统,然后通过中间系统将业务请求转发至外部系统接口,以便及时处理业务。

进一步,多场景模拟响应的方法还包括:

当接收到外部系统接口的业务请求时,通过所述中间系统将所述业务请求转发至相应的业务系统。

即所述中间系统不仅可实现转发业务系统的业务请求,即将业务系统的业务请求转发至外部系统接口;同时也能通过中间系统转发外部系统接口的业务请求,即将外部系统接口的业务请求转发至业务系统。

进一步,多场景模拟响应的方法还包括:

预先在中间系统中设置mock系统的开启或关闭。

即本申请实施例中,可以预先设置好mock系统的开启或关闭。例如先开启mock系统,然后在一段时间内进行业务系统的开发和测试,然后关闭mock系统,在下一段时间内进行业务系统的业务转发。

当然,本申请实施例中,还可以在每次接收到请求后,确认请求的类型,当请求类型为测试请求时,通过中间系统打开mock系统,当请求类型为业务请求时,通过中间系统关闭mock系统。

为了使开发测试以及转发业务更灵活,优选在每次接收到请求后,根据请求的类型确定是否打开mock系统,这样在业务系统端就可以更加灵活和方便的进行优化和改进。

此外,本申请实施例中,还可通过中间系统对各种数据进行统计,例如统计一个周期内中间系统打开mock系统的次数、关闭mock系统的次数、mock系统处于打开状态的时间占比、mock系统处于关闭状态的时间占比。这样可以逐个周期的统计这些数据,从而方便用户对mock系统的状态进行了解。例如所述周期为1天,那么可统计每天中间系统打开mock系统的次数、关闭mock系统的次数、mock系统处于打开状态的时间占比、mock系统处于关闭状态的时间占比,通过上述数据,可以获取每天mock系统开关总次数、处于打开状态的总时间、处于关闭状态的总时间,这样可以对mock系统的使用率有一个宏观了解。然后可以依据上述数据制作图表,例如在一个周期内,以时间为轴,以开关状态为指标(分为打开状态和关闭状态),进行制图,以方便用户对每个周期内mock系统的开关状态进行监控,及时发现一些异常情况,例如在一个时间段内mock系统测试频率高,而在另一个时间段内mock系统测试频率低,则可以适当进行调节,以便平衡mock系统测试频率。

另外,还可通过中间系统统计一个周期内打开mock系统的发起业务系统、关闭mock系统的发起业务系统、每次打开mock系统的时刻、每次关闭mock系统的时刻,例如所述周期为1天,那么可统计1天中是由哪个业务系统发起的请求导致打开mock系统、是由哪个业务系统发起的请求导致关闭mock系统、每次打开mock系统的时刻、每次关闭mock系统的时刻。通过上述数据,可以对业务系统具有一个微观了解,即哪些业务系统测试的频率高,哪些业务系统转发的频率高,哪些业务系统在一个周期内的哪些时间经常打开mock系统,在哪些时间又经常关闭mock系统。然后对每个业务系统的情况制作图表,以便了解每个业务系统在每个周期内的开发测试及转发情况进行了解。例如对于每个业务系统,在一个周期内,以时间为轴,以请求为指标(分为业务请求和测试请求),进行制图,以方便用户对每个周期内业务系统的请求情况进行监控,及时发现一些异常情况,例如在一个时间段内业务系统发送测试请求和转发请求的频率高,而在另一个时间段内业务系统发送转发请求和转发请求的频率低,则可以进行适当调节。同时还可以依据本步骤统计的各个业务系统的情况结合mock系统的情况,对各个业务系统的测试和转发进行统筹,以便利用中间系统的统计结果来进行更深入的分析。

进一步,多场景模拟响应的方法还包括:

当需要对业务系统测试不同业务场景的正反用例时,在所述mock系统的数据库中设置相应的多场景模拟响应方式。

本申请实施例中,业务系统所需测试的正反用例可能随着业务场景的不同而不同,所以需要设置不同的多场景模拟响应方式,以便对相应的业务场景进行测试。

本申请实施例中,由于mock系统需要对不同的业务系统进行多场景模拟响应,所以,需要对不同的业务系统的多场景模拟响应方式进行配置,故需要每一业务系统的多场景模拟响应方式进行分类配置和分类存储,即将每一业务系统的多场景模拟响应方式存储于对应的存储节点上。例如对于业务系统a,其对应的多场景模拟响应方式存储于数据库的节点1(存储节点)中;对于业务系统b,其对应的多场景模拟响应方式存储于数据库的节点2中;对于业务系统c,其对应的多场景模拟响应方式存储于数据库的节点3中。

同时,每个业务系统来说,由于具有模拟响应方式是在多场景下实现的,所以即使对于每个业务系统,其存储节点仍会分为多个存储子节点,每一存储子节点对应于一个场景,即存储子节点是存储单一场景的模拟响应方式。

进一步,在所述存储节点上设置有业务系统的关键字段,以便对该业务系统进行标识,在所述存储子节点上设置有场景的关键字段,以便对该业务系统的场景进行标识。这样,当接收到中间系统转发的测试请求后,所述mock系统将会对所述请求进行解析,确认所述请求的来源,即获取请求中携带的业务系统的关键字段以及场景的关键字段,并根据所述业务系统的关键字段查找对应的存储节点,查找到存储节点后,根据所述场景的关键字段查找对应的存储子节点,进而根据所述存储子节点的内容进行模拟响应。

所述mock系统进行模拟响应后,会生成模拟响应结果,并通过对应的存储节点在所述模拟响应结果上添加业务系统的关键字段,然后将模拟响应结果发送至中间系统,并由中间系统根据所述模拟响应结果中携带的业务系统的关键字段查找对应的业务系统,然后将模拟响应结果转发至对应业务系统。

请参见图2,图2为本申请实施例所提供的一种多场景模拟响应的装置的结构示意图;

该装置可以包括:

第一配置模块201,用于预先在mock系统中配置各个业务系统的多场景模拟响应方式;

第二配置模块202,用于通过一中间系统配置mock系统的开启或关闭,当需要对业务系统进行测试时,开启所述mock系统,当需要对业务系统进行业务转发时,关闭所述mock系统;

模拟响应模块203,用于当接收到业务系统的测试请求时,通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应;

业务转发模块204,用于当接收到业务系统的业务请求时,通过所述中间系统将所述业务请求转发至外部系统接口。

进一步,所述多场景模拟响应的装置还包括:

外部转发模块,用于当接收到外部系统接口的业务请求时,通过所述中间系统将所述业务请求转发至相应的业务系统。

进一步,所述多场景模拟响应的装置还包括:

预设模块,用于预先在中间系统中设置mock系统的开启或关闭。

进一步,所述模拟响应模块203包括:

开启单元,用于当接收到业务系统的测试请求时,在所述中间系统中设置开启mock系统;

测试单元,用于通过所述中间系统将所述测试请求转发至mock系统,以便进行多场景模拟响应。

进一步,所述业务转发模块204包括:

关闭单元,用于当接收到业务系统的业务请求时,在所述中间系统中设置关闭mock系统;

转发单元,用于通过所述中间系统将所述业务请求转发至外部系统接口。

进一步,所述第一配置模块201包括:

配置单元,用于在所述mock系统的数据库中配置各个业务系统的多场景模拟响应方式。

进一步,所述多场景模拟响应的装置还包括:

设置模块,用于当需要对业务系统测试不同业务场景的正反用例时,在所述mock系统的数据库中设置相应的多场景模拟响应方式。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的方法。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种计算机设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的方法。当然所述计算机设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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