CN108427631A - 一种应用测试系统、方法、电子设备和可读存储介质 - Google Patents
一种应用测试系统、方法、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN108427631A CN108427631A CN201710078317.0A CN201710078317A CN108427631A CN 108427631 A CN108427631 A CN 108427631A CN 201710078317 A CN201710078317 A CN 201710078317A CN 108427631 A CN108427631 A CN 108427631A
- Authority
- CN
- China
- Prior art keywords
- interface
- configuration information
- return value
- rule
- request
- 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.)
- Granted
Links
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
Abstract
本发明提供一种应用测试系统、方法、电子设备和可读存储介质,能够提高模拟接口的性能、灵活生成测试参数以及模拟接口异常。所述应用包括对一个或多个接口的调用,每个接口利用对应的模拟接口来仿真,每个模拟接口具有接口配置信息,包括输入参数和返回值的对应关系。所述系统包括:请求分发模块,用于接收接口调用的请求,请求包括输入参数,根据请求生成用于访问对应模拟接口的接口配置信息的唯一标识;业务处理模块,用于根据唯一标识获取相应的接口配置信息,根据请求的输入参数和所获取的接口配置信息确定对请求的返回值,并且返回该返回值,其中,接口配置信息还包括预定义规则,并且返回值在被返回之前,根据预定义规则来处理该返回值。
Description
技术领域
本发明涉及计算机技术领域,特别地涉及一种应用测试系统、方法、电子设备和可读存储介质。
背景技术
由于电商业务的流程很复杂,因此各业务节点的服务之间会存在相互依赖的情况。在业务系统开发全部或部分完成之前,需要对业务系统先进行性能测试,以确保系统能按预定的方式正确地运行。应用的性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对应用的各项性能指标进行测试。应用在运行中要调用一些接口。在应用的性能测试中,为了便于测试,对于不容易构造或不容易获取的接口,通过使用一个虚拟接口来实现该不易获取接口的功能。
目前常用的应用性能测试方法主要有两种:
1、在调用接口时,确定该接口对应的Mock接口,然后从数据库中获取对该Mock接口预先配置的与该调用的传入参数对应的返回值,然后将返回值输出给测试调用方,从而解决性能测试和环境服务接口之间的依赖;
2、通过单元或集成测试的方式,定义一个访问数据库的Mock接口,创建测试驱动以实现Mock数据库和依赖组件的存储库模式来解决性能测试和环境服务接口之间的依赖。模拟数据库需要通过代码的方式模拟真实的数据库的增、删、改、查操作。模拟依赖组件的存储库,也需要通过代码的方式模拟不同组件对外提供的接口以及不同组件的数据存储库,比如要在某电商系统下订单,需要经过查找商品、添加购物车、提交订单、支付等操作过程,这个过程中每个功能可以看作一个组件(数据&方法的封装),通过每个组件对外提供的接口,可以完成下订单的操作流程,流程中的每一个组件对外提供接口,都需要通过Mock手段来模拟,每个组件的数据存储库也需要通过Mock手段来模拟。
在实现本发明的过程中,发明人发现现有技术存在如下技术问题:
1、从数据库获取依赖接口返回值的方式,如果数据库的数据量大,或者表索引设计不合理,那么在数据请求高并发的情况下,依赖接口的性能会严重影响被测接口的性能;
2、通过模拟数据库和依赖组件的存储库模式,需要测试人员编写大量的代码,增加了测试人员的工作量;
3、测试参数需提前构造且不可复用,造成系统和人力资源的极大浪费。例如,当需要使用大量并发数据来测试某接口,且业务逻辑要求数据必须全局唯一,在这种场景下就需要提前构造出大量的测试数据,且测试完成后数据无法复用,还需要重新构造,增加了重复性的工作;
4、现有的两种技术方案,只能通过Mock依赖接口或方法,返回给调用者正确的返回信息,不能模拟在大量并发数据请求的情况下出现的异常情况。
发明内容
有鉴于此,本发明提供一种应用测试系统、方法、电子设备和可读存储介质,能够提高模拟接口的性能、灵活生成测试参数以及模拟接口异常。
为实现上述目的,根据本发明的一个方面,提供了一种应用测试系统。
一种应用测试系统,所述应用包括对一个或多个接口的调用,每个所述接口利用对应的模拟接口来仿真,每个所述模拟接口具有接口配置信息,所述接口配置信息包括输入参数和返回值的对应关系,所述系统包括:请求分发模块,用于接收接口调用的请求,所述请求包括输入参数,根据所述请求生成用于访问对应模拟接口的接口配置信息的唯一标识;业务处理模块,用于根据所述唯一标识获取相应的接口配置信息,根据所述请求的输入参数和所获取的接口配置信息确定对所述请求的返回值,并且返回所述返回值,其中,所述接口配置信息还包括预定义规则,并且所述返回值在被返回之前,根据所述预定义规则来处理所述返回值。
可选地,还包括请求拦截模块,用于接收调用者发来的接口调用请求,并把其中利用模拟接口来仿真的请求发送给所述请求分发模块。
可选地,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。
可选地,所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期。
可选地,所述预定义规则包括异常模拟规则,用于生成异常消息作为所述返回值。
可选地,所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。
可选地,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
根据本发明的另一方面,提供了一种应用测试方法。
一种应用测试方法,所述应用包括对一个或多个接口的调用,每个所述接口利用对应的模拟接口来仿真,每个所述模拟接口具有接口配置信息,所述接口配置信息包括输入参数和返回值的对应关系,其特征在于,所述方法包括:接收接口调用的请求,所述请求包括输入参数;根据所述请求生成用于访问对应模拟接口的接口配置信息的唯一标识;根据所述唯一标识获取相应的接口配置信息;根据所述请求的输入参数和所获取的接口配置信息,确定对所述请求的返回值;返回所述返回值,其中,所述接口配置信息还包括预定义规则,并且所述返回值在被返回之前,根据所述预定义规则来处理所述返回值。
可选地,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。
可选地,所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期。
可选地,所述预定义规则包括异常模拟规则,用于生成异常消息作为所述返回值。
可选地,所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。
可选地,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
根据本发明的又一方面,提供了一种电子设备。
一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的应用测试方法。
根据本发明的再一方面,提供了一种非暂态计算机可读存储介质。
一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的应用测试方法。
根据本发明的技术方案,按照预定义的参数化规则生成返回值,可避免每次进行应用测试前,开发人员编辑大量的数据,且不可重复使用,从而节省了测试时间,提高了测试效率,并且节省了保存测试数据的空间,提高了系统的性能;按照预定义的异常模拟规则模拟常见的系统异常,可以增加应用测试系统的功能,达到应用测试的全面性;通过将数据保存到缓存中,可以提高模拟接口的响应速度,从而提高模拟系统的性能。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例的模拟接口信息配置过程示意图;
图2是根据本发明实施例的应用测试系统的主要模块示意图;
图3是本发明实施例的模拟系统架构图;
图4是根据本发明实施例的应用测试方法的主要步骤示意图;
图5是根据本发明实施例的应用测试方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
针对现有技术中提到的问题,本发明提出了一种应用测试系统,通过为模拟接口配置参数生成规则及异常模拟规则,使模拟接口可以根据需要生成参数返回值,并能模拟响应超时、网络闪断等接口异常;通过将模拟接口的配置信息同步保存到内存缓存和数据库中,使用数据时先从缓存中查找的方式,以提高模拟接口的性能。
本发明中,为模拟接口配置的接口信息主要包括:接口类型、接口名称、方法名称、输入参数及对应的返回值、参数化规则和异常模拟规则等。
其中,接口类型对应网络协议的不同类型,例如:超文本传输协议HTTP、远程过程调用协议RPC、简单对象访问协议SOAP等等。不同类型的请求对应不同的网络协议,例如HTTP请求对应的网络协议为超文本传输协议HTTP,RPC请求对应的网络协议为远程过程调用协议RPC,Webservice请求对应的网络协议为简单对象访问协议SOAP等等。根据对应网络协议的不同可设置不同的接口类型(例如HTTP接口、RPC接口、SOAP接口等),以便在后续进行请求处理时可针对网络协议的不同采取不同的方式。
输入参数及对应的返回值指的是调用模拟(Mock)接口时,根据输入参数的不同会生成预期的返回值,可根据需要进行设置。以一个商品订单表为例,当输入参数“订单”时,会返回“商品名称、商品个数、商品编码”3个预期返回值。假设其中“商品编码”具有全局唯一性,则可以根据参数化规则自动生成,每次调用该模拟接口,返回的商品编码均不同。参数化规则可用于对返回值或返回值中的某个字段进行参数化生成,例如可以用于生成唯一标识,时间戳,随机数,日期等数据。如此,即可避免在每次进行应用测试前都编写大量的数据,从而减少重复性工作,节约测试人员的时间。
异常模拟规则用于生成异常消息,例如包括响应超时异常模拟规则和网络闪断异常模拟规则等,测试人员可以根据需要编写不同的规则以模拟不同的响应异常。当通过模拟接口进行异常模拟时,可通过设定输入参数来触发异常模拟开关,进而通过Mock服务Web页面的按钮点击来实现异常模拟。
另外,本发明中,还需要对被测应用进行信息配置。在被测应用的配置文件中,通过加入请求拦截器的方式拦截被测应用的请求,并判断拦截到的请求是否需要调用Mock模拟接口,如果是,则调用Mock模拟接口;否则调用真实的接口。
如图1所示,是本发明实施例的模拟接口信息配置过程示意图。首先,进入接口信息配置页面以设置接口信息,输入接口名称、方法名称、输入参数及对应的返回值等基本信息;然后,判断返回值是否需要参数化,当返回值需要参数化时设置参数化规则,否则保存接口配置信息;之后,判断是否模拟异常,当需要模拟异常时设置异常模拟规则,否则直接保存接口配置信息。如此,即可完成对模拟接口的信息配置。
下面将结合图2和图3介绍本发明的应用测试系统的实现过程。
图2是根据本发明实施例的应用测试系统的主要模块示意图。本发明中,被测应用包括对一个或多个接口的调用,每个接口利用对应的模拟接口来仿真,每个模拟接口具有接口配置信息,接口配置信息包括输入参数和返回值的对应关系。如图2所示,本发明的应用测试系统20主要包括:消息分发模块21和业务处理模块22。
其中,请求分发模块21用于接收接口调用的请求,所述请求包括输入参数,根据请求生成用于访问对应模拟接口的接口配置信息的唯一标识。请求分发模块21接收到接口调用的请求后,通过解析请求的报文内容,可以得到需要调用的模拟接口的配置信息,例如:接口名称、方法名称等,然后根据接口名称、方法名称和调用者标识,生成获取模拟接口配置信息的唯一标识。
接口配置信息一般是以表的形式进行保存,由于接口配置信息保存时需要命名,而不同系统的命名规则可能会有重复,因此接口配置信息需要根据唯一标识进行获取。例如:调用者A和调用者B都会调用模拟接口C来进行测试,而调用者A和调用者B在调用模拟接口C时的返回值信息或参数化规则等不同,那么就需要通过调用者标识来进行接口配置信息表的区分。
请求分发模块21根据生成的获取模拟接口配置信息的唯一标识,即可以获取模拟接口的配置信息,例如接口类型等。接口类型对应网络协议的不同类型,例如:超文本传输协议HTTP、远程过程调用协议RPC、简单对象访问协议SOAP等等。不同类型的请求对应不同的网络协议,例如HTTP请求对应的网络协议为超文本传输协议HTTP,RPC请求对应的网络协议为远程过程调用协议RPC,Webservice请求对应的网络协议为简单对象访问协议SOAP等等。请求分发模块21还可以用于根据所述请求的接口类型将所述请求分发给业务处理模块22。
业务处理模块22用于根据所述唯一标识获取相应的接口配置信息,根据所述请求的输入参数和所获取的接口配置信息确定对所述请求的返回值,并且返回所述返回值,其中,所述接口配置信息还包括预定义规则,并且所述返回值在被返回之前,根据所述预定义规则来处理所述返回值。
其中,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期等。
参数化规则可以对返回值中的全部或部分字段进行参数化。在按照参数化规则生成数据时,可以使用例如正则表达式(可进行模糊匹配)等方法来匹配需要参数化的字段,并按照设置的参数化规则对其赋值(比如:通过Redis生成唯一标识),最后将报文返回给被测应用。本领域技术人员应该知道,在匹配需要参数化的字段时,可以选用正则表达式,也可使用其他的匹配方法。
另外,用户还可以按照自己的要求来定制参数化规则,只需将代码上传即可,然后系统将执行用户上传的代码并生成预期的参数值。比如:用户需要生成全局唯一的订单号,满足的生成规则为:“固定前缀+当前日期+ID随机数”,那么,可编写代码如下:
String genCustomID(String prefix){
Data=当前日期;
ID=随机数;
Return prefix+Data+ID;
}。
根据用户上传的代码,即可按照预定义的参数化规则生成返回值,如此,即可避免每次进行应用测试前,开发人员需要编辑大量的数据,且不可重复使用,从而节省了测试时间,提高了测试效率,并且节省了保存测试数据的空间,提高了系统的性能。
另外,所述预定义规则还可以包括异常模拟规则,用于生成异常消息。其中,所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。当需要通过模拟接口来模拟异常时,可以按照设置的异常模拟规则开启异常模拟开关,通过Mock模拟服务Web页面的按钮来模拟接口异常。
响应超时异常模拟规则的实现方法是:在设置Mock模拟接口配置信息时,设置网络响应的停顿时间,当调用Mock模拟接口模拟超时响应时,按照设置的值进行停顿,然后再返回信息。
网络闪断异常模拟规则的实现方法是:通过程序调用linux系统的防火墙规则来模拟网络闪断,当调用Mock模拟接口模拟网络闪断异常时,通过用户在页面点击按钮,来触发网络闪断。
另外,根据本发明的实施例,本发明的应用测试系统还可以包括:请求拦截模块(图中未示出),用于接收调用者发来的接口调用请求,并把其中利用模拟接口来仿真的请求发送给请求分发模块21。
本发明的实施例中,请求拦截模块被实现为请求拦截器,通过被测应用配置的请求拦截器拦截被测应用调用所有依赖接口的请求,并根据请求信息(如:接口名称、请求入参等)获取需要调用的接口的配置信息,并判断该请求是否需要调用Mock模拟测试系统。例如:可以将需要调用的接口的配置信息发送给Mock模拟测试系统,如果该配置信息在Mock模拟测试系统中存在,则需要通过Mock模拟测试系统返回依赖接口的返回信息,若不存在则直接去调用真实的依赖接口。
并且,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
当接口配置信息配置完成时,业务处理模块22在把接口配置信息保存到内存数据库中的同时,还将接口配置信息同步保存到内存缓存中,并设置过期时间。当需要获取接口配置信息时,首先从缓存中查找,若缓存中数据已过期,则从数据库中获取接口配置信息,并将获取的接口配置信息保存到缓存中,以便再次使用时可以快速读取。采取这种方式是为了提高Mock模拟接口的性能,从而可以满足高并发的要求。与现有相关专利中,将数据保存到数据库中相比,能极大地提高响应速度。
通过如图2所示的应用测试系统,可以实现通过自定义的参数化规则来自动生成返回值,从而节省了数据保存空间和测试时间;通过自定义的异常模拟规则来模拟常见的系统异常,从而增加了应用测试系统的功能;通过将数据保存到缓存中,可以提高模拟接口的响应速度,提高模拟系统的性能。
图3是本发明实施例的模拟系统架构图。如图3所示,其中,请求拦截模块被实现为请求拦截器,请求分发模块被实现为消息分发层,业务处理模块被实现为业务处理层,数据存储模块被实现为数据存储层。
本发明实施例的实施过程为:调用者发来接口调用请求,例如可以包含HTTP请求、Webservice请求、RPC请求等等依据不同网络协议类型的请求;请求拦截器拦截调用者的请求,并将拦截的请求发送给消息分发层;消息分发层接收请求拦截器的请求后,通过解析请求报文内容,生成获取接口配置信息的唯一标识Key,并获取该请求对应的接口类型(例如HTTP接口、SOAP接口、RPC接口等),根据请求的接口类型,通过消息路由将请求发送给业务处理层;业务处理层根据请求的接口类型,对不同类型的请求按照不同的方式进行处理并响应。
其中,业务处理层在对请求进行响应时,可以通过从数据存储层获取的自定义的参数化规则生成返回值或者通过自定义的异常模拟规则模拟接口异常。其中,自定义的参数化规则和异常模拟规则,以及基本的接口配置信息都保存在数据存储层,数据存储层例如可以包括:Mysql、Redis等数据库和内存缓存。
根据本发明的实施例,Mock模拟接口具有高性能,不影响被测接口的性能测试结果,并且在高并发下可以模拟超时、网络闪断等异常,丰富的参数化生成规则,支持用户自定义规则,不用提前准备测试数据,在测试过程中就可以生成所需要的参数值,节省测试时间和数据保存空间。
根据本发明的实施例,本发明还提供了一种应用测试方法。
图4是根据本发明实施例的应用测试方法的主要步骤示意图。本发明中,被测应用包括对一个或多个接口的调用,每个接口利用对应的模拟接口来仿真,每个模拟接口具有接口配置信息,接口配置信息包括输入参数和返回值的对应关系。如图4所示,本发明的应用测试方法主要包括如下的步骤S41至步骤S45。
步骤S41:接收接口调用的请求,所述请求包括输入参数;
步骤S42:根据请求生成用于访问对应模拟接口的接口配置信息的唯一标识;
步骤S43:根据唯一标识获取相应的接口配置信息;
步骤S44:根据请求的输入参数和所获取的接口配置信息,确定对该请求的返回值;
步骤S45:返回所述返回值,其中,接口配置信息还包括预定义规则,并且返回值在被返回之前,根据预定义规则来处理返回值。
根据上述的步骤S41至步骤S45,即可实现根据预定义规则生成返回值,既节省了预先编写测试数据的时间,又节省了数据存储空间。
根据本发明的实施例,其中,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期。
其中,所述预定义规则包括异常模拟规则,用于生成异常消息。所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。
本发明中,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
根据本发明提供的应用测试方法,能够提高模拟接口的性能、灵活生成测试参数以及模拟接口异常。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的应用测试方法。
本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的应用测试方法。
如图5所示,是根据本发明实施例的应用测试方法的电子设备的硬件结构示意图。如图5,该电子设备50包括:一个或多个处理器51以及存储器52,图5中以一个处理器51为例。其中,存储器52即为本发明所提供的非暂态计算机可读存储介质。
应用测试方法的电子设备还可以包括:输入装置53和输出装置55。
处理器51、存储器52、输入装置53和输出装置55可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的应用测试方法对应的程序指令/模块(例如,附图2所示的请求拦截模块21、消息分发模块22和业务处理模块23)。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的应用测试方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据应用测试系统的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至应用测试系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可接收输入的数字或字符信息,以及产生与应用测试系统的用户设置以及功能控制有关的键信号输入。输出装置55可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器52中,当被所述一个或者多个处理器51执行时,执行上述任意方法实施例中的应用测试方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
根据本发明实施例的技术方案,按照预定义的参数化规则生成返回值,可避免每次进行应用测试前,开发人员编辑大量的数据,且不可重复使用,从而节省了测试时间,提高了测试效率,并且节省了保存测试数据的空间,提高了系统的性能;按照预定义的异常模拟规则模拟常见的系统异常,可以增加应用测试系统的功能,达到应用测试的全面性;通过将数据保存到缓存中,可以提高模拟接口的响应速度,从而提高模拟系统的性能。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种应用测试系统,所述应用包括对一个或多个接口的调用,每个所述接口利用对应的模拟接口来仿真,每个所述模拟接口具有接口配置信息,所述接口配置信息包括输入参数和返回值的对应关系,其特征在于,所述系统包括:
请求分发模块,用于接收接口调用的请求,所述请求包括输入参数,根据所述请求生成用于访问对应模拟接口的接口配置信息的唯一标识;
业务处理模块,用于根据所述唯一标识获取相应的接口配置信息,根据所述请求的输入参数和所获取的接口配置信息确定对所述请求的返回值,并且返回所述返回值,
其中,所述接口配置信息还包括预定义规则,并且所述返回值在被返回之前,根据所述预定义规则来处理所述返回值。
2.根据权利要求1所述的系统,其特征在于,还包括请求拦截模块,用于接收调用者发来的接口调用请求,并把其中利用模拟接口来仿真的请求发送给所述请求分发模块。
3.根据权利要求1所述的系统,其特征在于,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。
4.根据权利要求3所述的系统,其特征在于,所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期。
5.根据权利要求1所述的系统,其特征在于,所述预定义规则包括异常模拟规则,用于生成异常消息作为所述返回值。
6.根据权利要求5所述的系统,其特征在于,所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。
7.根据权利要求1所述的系统,其特征在于,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
8.一种应用测试方法,所述应用包括对一个或多个接口的调用,每个所述接口利用对应的模拟接口来仿真,每个所述模拟接口具有接口配置信息,所述接口配置信息包括输入参数和返回值的对应关系,其特征在于,所述方法包括:
接收接口调用的请求,所述请求包括输入参数;
根据所述请求生成用于访问对应模拟接口的接口配置信息的唯一标识;
根据所述唯一标识获取相应的接口配置信息;
根据所述请求的输入参数和所获取的接口配置信息,确定对所述请求的返回值;
返回所述返回值,
其中,所述接口配置信息还包括预定义规则,并且所述返回值在被返回之前,根据所述预定义规则来处理所述返回值。
9.根据权利要求8所述的方法,其特征在于,所述预定义规则包括参数化规则,所述参数化规则用于对所述返回值进行参数化。
10.根据权利要求9所述的方法,其特征在于,所述参数化包括对所述返回值产生如下信息:唯一标识,时间戳,随机数,日期。
11.根据权利要求8所述的方法,其特征在于,所述预定义规则包括异常模拟规则,用于生成异常消息作为所述返回值。
12.根据权利要求11所述的方法,其特征在于,所述异常模拟规则包括响应超时异常模拟规则和网络闪断异常模拟规则。
13.根据权利要求8所述的方法,其特征在于,所述接口配置信息保存在数据库和缓存中,当需要获取所述接口配置信息时,首先从所述缓存中进行查找,当从所述缓存中未查找到所述接口配置信息时,再从所述数据库中查找所述接口配置信息,并将查找到的所述接口配置信息保存到所述缓存中。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求8-13中任一项所述的方法。
15.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求8-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078317.0A CN108427631B (zh) | 2017-02-14 | 2017-02-14 | 一种应用测试系统、方法、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078317.0A CN108427631B (zh) | 2017-02-14 | 2017-02-14 | 一种应用测试系统、方法、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108427631A true CN108427631A (zh) | 2018-08-21 |
CN108427631B CN108427631B (zh) | 2022-04-12 |
Family
ID=63155234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078317.0A Active CN108427631B (zh) | 2017-02-14 | 2017-02-14 | 一种应用测试系统、方法、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427631B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359034A (zh) * | 2018-09-07 | 2019-02-19 | 平安科技(深圳)有限公司 | 一种业务系统测试方法、计算机可读存储介质及终端设备 |
CN109379284A (zh) * | 2018-09-17 | 2019-02-22 | 平安科技(深圳)有限公司 | 路由执行方法、存储介质和终端设备 |
CN109446063A (zh) * | 2018-09-18 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109522211A (zh) * | 2018-09-29 | 2019-03-26 | 中国平安人寿保险股份有限公司 | 接口参数传递方法、装置、电子设备及存储介质 |
CN109558320A (zh) * | 2018-11-28 | 2019-04-02 | 深圳前海微众银行股份有限公司 | 系统测试方法、装置、系统、设备及计算机可读存储介质 |
CN109656807A (zh) * | 2018-11-01 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于信息安全的接口mock测试方法、装置、设备及存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN109739656A (zh) * | 2018-11-29 | 2019-05-10 | 东软集团股份有限公司 | 接口数据模拟方法、装置、存储介质和电子设备 |
CN109800093A (zh) * | 2018-12-27 | 2019-05-24 | 四川艾格瑞特模具科技股份有限公司 | 一种远程定制产品的客户端 |
CN109857576A (zh) * | 2019-01-28 | 2019-06-07 | 中国工商银行股份有限公司 | Rpc接口调用方法及装置 |
CN110109656A (zh) * | 2019-03-25 | 2019-08-09 | 平安科技(深圳)有限公司 | 接口模拟方法、装置、计算机设备和存储介质 |
CN110209577A (zh) * | 2019-05-20 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种测试方法及装置 |
WO2019169759A1 (zh) * | 2018-03-06 | 2019-09-12 | 平安科技(深圳)有限公司 | 模拟接口的创建装置、方法及计算机可读存储介质 |
CN110232016A (zh) * | 2019-03-08 | 2019-09-13 | 上海蔚来汽车有限公司 | 接口测试用例生成方法、装置及控制器和介质 |
CN110287039A (zh) * | 2019-06-26 | 2019-09-27 | 网易无尾熊(杭州)科技有限公司 | 模拟接口配置方法、介质、装置和计算设备 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
CN110489172A (zh) * | 2019-07-29 | 2019-11-22 | 贝壳技术有限公司 | 多下游依赖请求的处理方法及装置 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
CN110727588A (zh) * | 2019-09-29 | 2020-01-24 | 浙江大搜车软件技术有限公司 | 网络应用的测试方法、系统、计算机设备和可读存储介质 |
WO2020119434A1 (zh) * | 2018-12-15 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 接口数据处理方法、自动化测试方法、装置、设备和介质 |
CN111782535A (zh) * | 2020-06-30 | 2020-10-16 | 京东数字科技控股股份有限公司 | 测试方法及装置 |
CN112035282A (zh) * | 2020-09-01 | 2020-12-04 | 北京百度网讯科技有限公司 | 应用于云平台的api管理方法、装置、设备以及存储介质 |
CN112052172A (zh) * | 2020-09-04 | 2020-12-08 | 云账户技术(天津)有限公司 | 第三方通道的快速测试方法、装置和电子设备 |
CN112181824A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 系统开发辅助平台及方法 |
CN112256984A (zh) * | 2020-10-22 | 2021-01-22 | 上海悦易网络信息技术有限公司 | 一种网页对应的接口托底截图的获取方法及设备 |
CN112819605A (zh) * | 2021-01-29 | 2021-05-18 | 山东浪潮通软信息科技有限公司 | 资金结算业务测试方法、装置及计算机可读介质 |
CN112965912A (zh) * | 2021-03-24 | 2021-06-15 | 云账户技术(天津)有限公司 | 接口测试用例生成方法、装置和电子设备 |
CN113760707A (zh) * | 2020-09-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 接口测试方法、装置、设备及计算机可读存储介质 |
CN114826623A (zh) * | 2022-06-28 | 2022-07-29 | 云账户技术(天津)有限公司 | 一种mock测试报文的处理方法及装置 |
CN115982501A (zh) * | 2023-01-06 | 2023-04-18 | 广州佰瑞医药有限公司 | 一种轻量级高性能的PHPWeb系统框架及工作方法 |
CN117251385A (zh) * | 2023-11-20 | 2023-12-19 | 深圳大道云科技有限公司 | mock数据的获取方法、装置、终端设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136099A (zh) * | 2011-12-02 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 测试软件的方法、模拟终端、后台服务器和系统 |
CN103744414A (zh) * | 2013-12-16 | 2014-04-23 | 北京交控科技有限公司 | 一种测试方法和测试设备 |
US20150074647A1 (en) * | 2012-04-20 | 2015-03-12 | Doron Levi | Testing system for an integrated software system |
CN105049280A (zh) * | 2015-06-24 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 业务管理平台的接口行为模拟测试系统和方法 |
CN105099811A (zh) * | 2015-06-03 | 2015-11-25 | 北京金山安全软件有限公司 | 一种接口测试方法和装置 |
CN106021112A (zh) * | 2016-05-31 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 程序测试系统、方法及装置 |
CN106227664A (zh) * | 2016-07-22 | 2016-12-14 | 华为技术有限公司 | 一种测试应用程序的方法及装置 |
-
2017
- 2017-02-14 CN CN201710078317.0A patent/CN108427631B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136099A (zh) * | 2011-12-02 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 测试软件的方法、模拟终端、后台服务器和系统 |
US20150074647A1 (en) * | 2012-04-20 | 2015-03-12 | Doron Levi | Testing system for an integrated software system |
CN103744414A (zh) * | 2013-12-16 | 2014-04-23 | 北京交控科技有限公司 | 一种测试方法和测试设备 |
CN105099811A (zh) * | 2015-06-03 | 2015-11-25 | 北京金山安全软件有限公司 | 一种接口测试方法和装置 |
CN105049280A (zh) * | 2015-06-24 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 业务管理平台的接口行为模拟测试系统和方法 |
CN106021112A (zh) * | 2016-05-31 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 程序测试系统、方法及装置 |
CN106227664A (zh) * | 2016-07-22 | 2016-12-14 | 华为技术有限公司 | 一种测试应用程序的方法及装置 |
Non-Patent Citations (1)
Title |
---|
阮戈等: "《最新Unix程序设计与编程技巧》", 30 June 2001, 清华大学出版社 * |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019169759A1 (zh) * | 2018-03-06 | 2019-09-12 | 平安科技(深圳)有限公司 | 模拟接口的创建装置、方法及计算机可读存储介质 |
CN109359034A (zh) * | 2018-09-07 | 2019-02-19 | 平安科技(深圳)有限公司 | 一种业务系统测试方法、计算机可读存储介质及终端设备 |
CN109379284A (zh) * | 2018-09-17 | 2019-02-22 | 平安科技(深圳)有限公司 | 路由执行方法、存储介质和终端设备 |
CN109446063A (zh) * | 2018-09-18 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109522211A (zh) * | 2018-09-29 | 2019-03-26 | 中国平安人寿保险股份有限公司 | 接口参数传递方法、装置、电子设备及存储介质 |
CN109522211B (zh) * | 2018-09-29 | 2023-07-18 | 中国平安人寿保险股份有限公司 | 接口参数传递方法、装置、电子设备及存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN109656807A (zh) * | 2018-11-01 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于信息安全的接口mock测试方法、装置、设备及存储介质 |
CN109558320A (zh) * | 2018-11-28 | 2019-04-02 | 深圳前海微众银行股份有限公司 | 系统测试方法、装置、系统、设备及计算机可读存储介质 |
CN109558320B (zh) * | 2018-11-28 | 2022-02-01 | 深圳前海微众银行股份有限公司 | 系统测试方法、装置、系统、设备及计算机可读存储介质 |
CN109739656A (zh) * | 2018-11-29 | 2019-05-10 | 东软集团股份有限公司 | 接口数据模拟方法、装置、存储介质和电子设备 |
WO2020119434A1 (zh) * | 2018-12-15 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 接口数据处理方法、自动化测试方法、装置、设备和介质 |
CN109800093A (zh) * | 2018-12-27 | 2019-05-24 | 四川艾格瑞特模具科技股份有限公司 | 一种远程定制产品的客户端 |
CN109857576A (zh) * | 2019-01-28 | 2019-06-07 | 中国工商银行股份有限公司 | Rpc接口调用方法及装置 |
CN110232016A (zh) * | 2019-03-08 | 2019-09-13 | 上海蔚来汽车有限公司 | 接口测试用例生成方法、装置及控制器和介质 |
CN110109656A (zh) * | 2019-03-25 | 2019-08-09 | 平安科技(深圳)有限公司 | 接口模拟方法、装置、计算机设备和存储介质 |
CN110209577A (zh) * | 2019-05-20 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种测试方法及装置 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
CN110287039A (zh) * | 2019-06-26 | 2019-09-27 | 网易无尾熊(杭州)科技有限公司 | 模拟接口配置方法、介质、装置和计算设备 |
CN110489172A (zh) * | 2019-07-29 | 2019-11-22 | 贝壳技术有限公司 | 多下游依赖请求的处理方法及装置 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110633213B (zh) * | 2019-09-19 | 2023-07-04 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110727588A (zh) * | 2019-09-29 | 2020-01-24 | 浙江大搜车软件技术有限公司 | 网络应用的测试方法、系统、计算机设备和可读存储介质 |
CN110727588B (zh) * | 2019-09-29 | 2023-12-12 | 浙江大搜车软件技术有限公司 | 网络应用的测试方法、系统、计算机设备和可读存储介质 |
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
CN111782535A (zh) * | 2020-06-30 | 2020-10-16 | 京东数字科技控股股份有限公司 | 测试方法及装置 |
CN112035282A (zh) * | 2020-09-01 | 2020-12-04 | 北京百度网讯科技有限公司 | 应用于云平台的api管理方法、装置、设备以及存储介质 |
CN112035282B (zh) * | 2020-09-01 | 2023-07-25 | 北京百度网讯科技有限公司 | 应用于云平台的api管理方法、装置、设备以及存储介质 |
CN112052172A (zh) * | 2020-09-04 | 2020-12-08 | 云账户技术(天津)有限公司 | 第三方通道的快速测试方法、装置和电子设备 |
CN112052172B (zh) * | 2020-09-04 | 2024-01-30 | 云账户技术(天津)有限公司 | 第三方通道的快速测试方法、装置和电子设备 |
CN113760707A (zh) * | 2020-09-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 接口测试方法、装置、设备及计算机可读存储介质 |
CN112181824A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 系统开发辅助平台及方法 |
CN112256984B (zh) * | 2020-10-22 | 2022-09-30 | 上海万物新生环保科技集团有限公司 | 一种网页对应的接口托底截图的获取方法及设备 |
CN112256984A (zh) * | 2020-10-22 | 2021-01-22 | 上海悦易网络信息技术有限公司 | 一种网页对应的接口托底截图的获取方法及设备 |
CN112819605A (zh) * | 2021-01-29 | 2021-05-18 | 山东浪潮通软信息科技有限公司 | 资金结算业务测试方法、装置及计算机可读介质 |
CN112965912A (zh) * | 2021-03-24 | 2021-06-15 | 云账户技术(天津)有限公司 | 接口测试用例生成方法、装置和电子设备 |
CN112965912B (zh) * | 2021-03-24 | 2024-02-09 | 云账户技术(天津)有限公司 | 接口测试用例生成方法、装置和电子设备 |
CN114826623A (zh) * | 2022-06-28 | 2022-07-29 | 云账户技术(天津)有限公司 | 一种mock测试报文的处理方法及装置 |
CN115982501B (zh) * | 2023-01-06 | 2023-09-08 | 广州佰瑞医药有限公司 | 一种轻量级高性能的PHPWeb系统框架及工作方法 |
CN115982501A (zh) * | 2023-01-06 | 2023-04-18 | 广州佰瑞医药有限公司 | 一种轻量级高性能的PHPWeb系统框架及工作方法 |
CN117251385A (zh) * | 2023-11-20 | 2023-12-19 | 深圳大道云科技有限公司 | mock数据的获取方法、装置、终端设备和可读存储介质 |
CN117251385B (zh) * | 2023-11-20 | 2024-04-02 | 深圳大道云科技有限公司 | mock数据的获取方法、装置、终端设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108427631B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427631A (zh) | 一种应用测试系统、方法、电子设备和可读存储介质 | |
CN104954453B (zh) | 基于云计算的数据挖掘rest服务平台 | |
CN109101373B (zh) | 基于订阅/发布模式的通用测试平台 | |
CN107608901B (zh) | 基于Jmeter的测试方法及装置、存储介质、电子设备 | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
Baresi et al. | Microservices: The evolution and extinction of web services? | |
Woodside et al. | Automated performance modeling of software generated by a design environment | |
CN113722020A (zh) | 接口调用方法、装置和计算机可读存储介质 | |
CN111930365A (zh) | 基于Qt的应用程序快速开发框架、开发方法及运行方法 | |
CN108768790A (zh) | 分布式搜索集群监控方法及装置、计算设备、存储介质 | |
CN100588197C (zh) | 一种网格模拟方法及其模拟器 | |
CN104270443B (zh) | 一种能够动态解析Web应用的云计算系统及方法 | |
Bernal et al. | Improving cloud architectures using UML profiles and M2T transformation techniques | |
Balliu et al. | A big data analyzer for large trace logs | |
CN114253798A (zh) | 指标数据采集方法和装置、电子设备、存储介质 | |
CN110737645A (zh) | 一种不同系统间数据迁移方法、数据迁移系统及相关设备 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
CN112799949A (zh) | 一种模型优化方法、装置、系统及设备 | |
Sfaxi et al. | Babel: a generic benchmarking platform for Big Data architectures | |
CN106371848B (zh) | 一种web开发框架支持Odata的实现方法 | |
CN112016256A (zh) | 一种集成电路开发平台、方法、存储介质及设备 | |
Huang et al. | Performance and replica consistency simulation for quorum-based NoSQL system cassandra | |
CN105721251B (zh) | 一种可配置测试桩服务的方法及系统 | |
George et al. | Unshackled by Servers: Embracing the Serverless Revolution in Modern Computing | |
CN111062681B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |