CN111782535A - 测试方法及装置 - Google Patents
测试方法及装置 Download PDFInfo
- Publication number
- CN111782535A CN111782535A CN202010637836.8A CN202010637836A CN111782535A CN 111782535 A CN111782535 A CN 111782535A CN 202010637836 A CN202010637836 A CN 202010637836A CN 111782535 A CN111782535 A CN 111782535A
- Authority
- CN
- China
- Prior art keywords
- mock
- interface
- acquisition request
- data acquisition
- target
- 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.)
- Pending
Links
Images
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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Abstract
本发明实施例涉及一种测试方法及装置,所述方法包括:在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。由此,可以实现避免业务系统出现代码冗余,同时还能避免Mock对象对业务系统在应用环境下进行正常的业务处理逻辑造成干扰。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种测试方法及装置。
背景技术
在项目开发过程中,需要对已开发的工程代码进行测试。然而,在测试时,测试对象往往依赖于其他对象,而这些被依赖的其他对象有可能不容易获取或者不容易构造。为了解决这一问题,现有技术中提出Mock测试,在Mock测试中,对于某些不容易获取或者不容易构造的对象,模拟出一个虚拟对象替代真实应用中的被依赖对象,从而使测试顺利进行。
然而,在实现本发明过程中发明人发现目前在对业务系统进行测试时,直接将Mock对象写入业务系统的工程代码中,这不仅造成代码冗余,还容易导致在非测试环境下,Mock对象对正常的业务处理逻辑造成干扰,导致正常的业务处理逻辑错误。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种测试方法及装置。
第一方面,本发明实施例提供一种测试方法,包括:
在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
在一个可能的实施方式中,所述在对业务系统进行测试时,向Mock系统发送数据获取请求,包括:
在接收到数据获取请求时,若确定所述业务系统当前已开启Mock测试服务,则确定对所述业务系统进行测试,并向Mock系统发送所述数据获取请求。
在一个可能的实施方式中,所述确定业务系统当前已开启Mock测试服务,包括:
当确定用于指示Mock测试服务开启状态的指定配置参数为第一值时,确定业务系统当前已开启Mock测试服务;
所述方法还包括:
在检测到所述指定配置参数由所述第一值变更为第二值时,关闭已开启的所述Mock测试服务。
在一个可能的实施方式中,所述Mock系统通过以下方式调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据:
所述Mock系统解析所述数据获取请求得到所述目标Mock接口的接口地址;
当根据所述接口地址确定所述目标Mock接口为动态接口时,根据预设的接口配置规则生成所述目标Mock接口并调用所述目标Mock接口获取与所述数据获取请求携带的入口参数对应的测试数据;
当根据所述接口地址确定所述目标Mock接口为静态接口时,根据所述接口地址调用所述目标Mock接口获取与所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述数据获取请求携带所述业务系统的系统标识和系统密码;
所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据,包括:
所述Mock系统对所述系统标识和系统密码进行验证;
在验证结果表示所述业务系统具有调用所述目标Mock接口的权限时,调用所述目标Mock接口获取所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述Mock系统中包括下述一项或几项类型的Mock接口:
RPC动态Mock接口、RPC静态Mock接口、HTTP动态Mock接口、HTTP静态Mock接口。
在一个可能的实施方式中,所述根据预设的接口配置规则生成所述目标Mock接口,包括:
若所述目标Mock接口为HTTP动态Mock接口,则生成对应的字节码文件,将所述字节码文件加载到指定的命名空间中以生成目标Mock接口;
若所述目标Mock接口为RPC动态Mock接口,则生成指定方法的动态代理文件,将所述动态代理文件注入到Spring容器中以生成目标Mock接口。
第二方面,本发明实施例提供一种测试装置,包括:
请求发送模块,用于在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
请求接收模块,用于接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
在一个可能的实施方式中,所述请求发送模块在对业务系统进行测试时,向Mock系统发送数据获取请求,包括:
在接收到数据获取请求时,若确定所述业务系统当前已开启Mock测试服务,则确定对所述业务系统进行测试,并向Mock系统发送所述数据获取请求。
在一个可能的实施方式中,所述请求发送模块确定业务系统当前已开启Mock测试服务,包括:
当确定用于指示Mock测试服务开启状态的指定配置参数为第一值时,确定业务系统当前已开启Mock测试服务;
所述装置还包括:
服务配置模块,用于在检测到所述指定配置参数由所述第一值变更为第二值时,关闭已开启的所述Mock测试服务。
在一个可能的实施方式中,所述Mock系统通过以下方式调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据:
所述Mock系统解析所述数据获取请求得到所述目标Mock接口的接口地址;
当根据所述接口地址确定所述目标Mock接口为动态接口时,根据预设的接口配置规则生成所述目标Mock接口并调用所述目标Mock接口获取与所述数据获取请求携带的入口参数对应的测试数据;
当根据所述接口地址确定所述目标Mock接口为静态接口时,根据所述接口调用所述目标Mock接口获取与所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述数据获取请求携带所述业务系统的系统标识和系统密码;
所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据,包括:
所述Mock系统对所述系统标识和系统密码进行验证;
在验证结果表示所述业务系统具有调用所述目标Mock接口的权限时,调用所述目标Mock接口获取所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述Mock系统中包括下述一项或几项类型的Mock接口:
RPC动态Mock接口、RPC静态Mock接口、HTTP动态Mock接口、HTTP静态Mock接口。
在一个可能的实施方式中,所述Mock系统通过以下方式实现根据预设的接口配置规则生成所述目标Mock接口:
若所述目标Mock接口为HTTP动态Mock接口,则生成对应的字节码文件,将所述字节码文件加载到指定的命名空间中以生成目标Mock接口;
若所述目标Mock接口为RPC动态Mock接口,则生成指定方法的动态代理文件,将所述动态代理文件注入到Spring容器中以生成目标Mock接口。
第三方面,本发明实施例提供一种业务服务器,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的程序,以实现上述任一项所述的测试方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现任一项所述的测试方法。
本发明实施例提供的测试方法,通过在对业务系统进行测试时,向Mock系统发送数据获取请求,以使Mock系统响应于数据获取请求,调用与数据获取请求相匹配的目标Mock接口获取数据获取请求对应的测试数据,实现了对业务系统进行Mock测试;
进一步,由于在对业务系统进行Mock测试时,是调用Mock系统中的Mock接口而获取测试数据,业务系统的工程代码中并不具有Mock对象,这则能够降低业务系统工程代码的复杂度,避免代码冗余,同时还能避免Mock对象对业务系统在应用环境下进行正常的业务处理逻辑造成干扰。
附图说明
图1为本发明实施例应用的系统架构示意图;
图2为本发明实施例提供的一种测试方法的实施例流程图;
图3为本发明实施例提供的一种测试装置的实施例框图;
图4为本发明实施例提供的一种的业务服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面首先对本发明实施例应用的系统架构进行说明:
参见图1,为本发明实施例应用的系统架构示意图。图1所示例的系统架构包括:业务系统11、Mock系统12,其中,Mock系统12用于提供Mock测试服务,Mock测试是在测试过程中,对于某些不容易获取或者不容易构造的对象,用一个虚拟的对象来创建以便测试的测试方法。
作为一个示例,业务系统11部署于业务服务器(图1中未示出)上。这里的业务服务器可以是单台服务器,也可以指服务器集群,本发明实施例对此不做限定。
可选的,Mock系统12也可以部署于上述业务服务器上。比如业务系统11引入Mock系统12的jar包,以将Mock系统12引入业务系统11。
可选的,Mock系统12也可以部署于除业务服务器以外的其他设备上,即,Mock系统12与业务系统11部署于不同设备上。可以理解的是,在Mock系统12与业务系统11部署于不同设备的情况下,Mock系统12与业务系统11之前通过网络(图1中未示出)进行通信。这里的网络可以包括有线链路、无线链路、光纤电缆等,本发明实施例对此不做限定。
作为一个示例,如图1所示,Mock系统12包括Mock服务组件121、系统基础组件122。
其中,Mock服务组件121提供多种类型的Mock接口。在一个例子中,从接口请求方式角度来说,Mock服务组件提供RPC类型的Mock接口(即接口请求方式为JSF请求方式)和HTTP类型的Mock接口(即接口请求方式为HTTP请求方式)。
在另一个例子中,从接口返参逻辑角度来说,Mock服务组件提供动态Mock接口和静态Mock接口。动态Mock接口是指:接口返参逻辑根据接口入参(入口参数,这里简称入参)的不同而发生变化。举例来说,假设接口入参为用户ID 001,接口将返回订单信息A,而假设接口入参为用户ID 002,则接口将返回订单信息B。相应的,静态Mock接口则是指:接口返参逻辑固定,即,接口返参逻辑不会根据接口入参的不同而发生变化。举例来说,接口入参为字段1,接口将返回1-10之间的一个随机数,接口入参为字段2,接口仍将返回1-10之间的一个随机数。
在该例子中,动态Mock接口的返参还可以为不同类型的资源文件,包括但不限于图片、视频、PDF文本、Word文本等。
综合上述两个例子,在一实施例中,Mock服务组件121可提供以下类型的Mock接口:
RPC类型的动态Mock接口(简称RPC动态Mock接口)、RPC类型的静态Mock接口(简称RPC静态Mock接口)、HTTP类型的动态Mock接口(简称HTTP动态Mock接口)、HTTP类型的静态Mock接口(简称HTTP静态Mock接口)。
以上对Mock服务组件121进行了说明,下面对系统基础组件122进行说明:
系统基础组件122提供Mock系统的配置服务、应用服务等。在一个例子中,系统基础组件122包括:配置组件、动态服务生成组件、定时器组件、权限组件、日志组件等。其中,通过配置组件可以实现配置Mock接口的一些基础属性,包括但不限于:接口别名、接口请求方式、接口类型(动态或者静态)、动态接口的配置规则、接口地址等。通过动态服务生成组件可以实现在生成动态接口时,根据动态接口的配置规则生成相应的字节码并注入到spring容器中。通过定时器组件可以实现动态接口的生成、注入、清理等工作。通过权限组件可以设置Mock接口调用权限,可选的,不同的业务系统可以调用的Mock接口不同,即,不同的业务系统具有不同的Mock接口调用权限,比如,业务系统A可以调用Mock接口1和Mock接口2,业务系统B可以调用Mock接口3和Mock接口4。通过日志组件可以实现记录用户配置、Mock接口的调用情况、动态接口的生成信息等。
以上对本发明实施例应用的系统架构进行了说明,下面将结合附图以具体实施例对本发明提供的方法做进一步的解释说明,实施例并不构成对本发明实施例的限定。
参见图2,为本发明实施例提供的一种测试方法的实施例流程图。作为一个示例,该方法应用于业务服务器,其中,业务服务器上部署有业务系统,可选的,业务服务器上还部署有Mock系统。如图2所示,该方法包括以下步骤:
步骤201:在对业务系统进行测试时,向Mock系统发送数据获取请求,以使Mock系统响应于该数据获取请求,调用与数据获取请求相匹配的目标Mock接口获取数据获取请求对应的测试数据。
可以理解的是,通常在对业务系统进行测试时,才涉及到基于Mock测试技术模拟出一个虚拟对象来替代真实应用中对业务系统进行测试时的被依赖对象,进而通过调用该虚拟对象获取测试数据。而在业务系统的应用过程中,业务系统则需要根据用户的实际业务需求返回相应的真实数据。这也就是说,在测试环境下和应用环境下,业务系统对数据获取请求的处理方式不同。
为了实现业务系统在接收到数据获取请求时,可以明确对该数据获取请求的处理方式,在一实施例中,设置一个用于指示Mock测试服务开启状态的配置参数(以下称指定配置参数)。其中,当指定配置参数为第一值时,表示Mock测试服务已开启,这则意味着业务系统处于测试环境,即,在对业务系统进行测试。在该种情况下,业务系统在接收到数据获取请求时,则可基于指定配置参数为第一值而确定已开启Mock测试服务,进而执行步骤201。可以理解的是,相较于在业务系统的工程代码中编写用于检测当前环境(测试环境或应用环境)的代码,通过指定配置参数来表示当前环境,可以降低业务系统工程代码的复杂度。
由上述描述可知,Mock系统中包括多种类型的Mock接口。基于此,在本步骤201中,Mock系统响应于该数据获取请求,并非是盲目地调用一个Mock接口,而是调用与数据获取请求相匹配的Mock接口(以下称目标Mock接口),以获取与该数据获取请求对应的测试数据。
在一实施例中,Mock系统解析数据获取请求得到接口地址,比如http://host/getOrderInfo(HTTP类型的接口地址),再比如com.jd.mockservice.OrderInfo(JSF类型的接口地址),该接口地址对应的Mock接口即为与数据获取请求相匹配的目标Mock接口。基于此,Mock系统则根据该接口地址找到对应的目标Mock接口,然后根据目标Mock接口的基础属性中的接口类型确定目标Mock接口为动态接口还是静态接口。
在确定目标Mock接口为动态接口时,则根据预设的接口配置规则生成目标Mock接口,然后调用目标Mock接口获取与数据获取请求携带的入口参数对应的测试数据,比如,假设数据获取请求中携带的入口参数为用户ID 001,则目标Mock接口返回订单信息A;假设数据获取请求中携带的入口参数为用户ID 002,则目标Mock接口返回订单信息B。
在确定目标Mock接口为静态接口时,则直接调用目标Mock接口获取与数据获取请求对应的测试数据,比如,数据获取请求用于请求获取一张宽度为100像素,高度为200像素,颜色为红色的图片,则目标Mock接口将返回一张宽度为100像素,高度为200像素,颜色为红色的图片。
在一实施例中,根据预设的接口配置规则生成目标Mock接口包括:若目标Mock接口为HTTP类型的动态接口,则通过预设的接口配置规则生成对应的字节码文件,并通过Spring的上下文类加载器将生成的字节码文件加载到指定的命名空间中以生成目标Mock接口,之后执行handllerMapping注入实现注册目标Mock接口。若目标Mock接口为RPC类型的动态接口,则通过预设的接口配置规则,生成指定方法的动态代理文件,并注入到Spring容器中以生成目标Mock接口,同时注入到JSF的注册中心中实现注册目标Mock接口。
当指定配置参数为第二值时,表示Mock测试服务已关闭,这则意味着业务系统处于应用环境。在该种情况下,业务系统在接收到数据获取请求时,则可基于指定配置参数为第二值而确定已关闭Mock测试服务,进而按照正常应用时的处理流程处理该数据获取请求,本发明实施例对此可不涉及。
此外,在一实施例中,可由用户根据实际业务需求设置上述指定配置参数。在一个例子中,业务系统在检测到指定配置参数由第一值变更为第二值时,关闭已开启的Mock测试服务;相应的,在检测到指定配置参数由第二值变更为第一值时,则开启已关闭的Mock测试服务。可以理解的是,通过调整指定配置参数的值来控制Mock测试服务的开启状态,实现了灵活控制业务系统中Mock测试服务的开启状态。
步骤202:接收Mock系统通过目标Mock接口返回的测试数据。
至此,完成图2所示流程的说明。
由图2所示流程可见,
通过在对业务系统进行测试时,向Mock系统发送数据获取请求,以使Mock系统响应于数据获取请求,调用与数据获取请求相匹配的目标Mock接口获取数据获取请求对应的测试数据,实现了对业务系统进行Mock测试;
进一步,由于在对业务系统进行Mock测试时,是调用Mock系统中的Mock接口而获取测试数据,业务系统的工程代码中并不具有Mock对象,这则能够降低业务系统工程代码的复杂度,避免代码冗余,同时还能避免Mock对象对业务系统在应用环境下进行正常的业务处理逻辑造成干扰。
此外,在一实施例中,由上述描述可知,不同的业务系统具有不同的Mock接口调用权限。基于此,Mock系统响应于数据获取请求,调用与数据获取请求相匹配的目标Mock接口获取数据获取请求对应的测试数据,包括:
Mock系统响应于数据获取请求,首先对数据获取请求中携带的系统标识和系统密码进行验证,在验证结果表示业务系统具有调用目标Mock接口的权限时,则调用目标Mock接口获取数据获取请求对应的测试数据。
在本实施例中,通过为不同的业务系统设置不同的接口调用权限,能够实现对业务系统进行Mock测试的可管控性以及灵活性。
与前述测试方法的实施例相对应,本发明还提供了测试装置的实施例。
参见图3,为本发明实施例提供的一种测试装置的实施例框图。如图3所示,测试装置包括:请求发送模块31、请求接收模块32。
其中,请求发送模块31,用于在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
请求接收模块32,用于接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
在一个可能的实施方式中,所述请求发送模块31在对业务系统进行测试时,向Mock系统发送数据获取请求,包括:
在接收到数据获取请求时,若确定所述业务系统当前已开启Mock测试服务,则确定对所述业务系统进行测试,并向Mock系统发送所述数据获取请求。
在一个可能的实施方式中,所述请求发送模块31确定业务系统当前已开启Mock测试服务,包括:
当确定用于指示Mock测试服务开启状态的指定配置参数为第一值时,确定业务系统当前已开启Mock测试服务;
所述装置还包括(图3中未示出):
服务配置模块,用于在检测到所述指定配置参数由所述第一值变更为第二值时,关闭已开启的所述Mock测试服务。
在一个可能的实施方式中,所述Mock系统通过以下方式调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据:
所述Mock系统解析所述数据获取请求得到所述目标Mock接口的接口地址;
当根据所述接口地址确定所述目标Mock接口为动态接口时,根据预设的接口配置规则生成所述目标Mock接口并调用所述目标Mock接口获取与所述数据获取请求携带的入口参数对应的测试数据;
当根据所述接口地址确定所述目标Mock接口为静态接口时,根据所述接口地址调用所述目标Mock接口获取与所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述数据获取请求携带所述业务系统的系统标识和系统密码;
所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据,包括:
所述Mock系统对所述系统标识和系统密码进行验证;
在验证结果表示所述业务系统具有调用所述目标Mock接口的权限时,调用所述目标Mock接口获取所述数据获取请求对应的测试数据。
在一个可能的实施方式中,所述Mock系统中包括下述一项或几项类型的Mock接口:
RPC动态Mock接口、RPC静态Mock接口、HTTP动态Mock接口、HTTP静态Mock接口。
在一个可能的实施方式中,所述Mock系统通过以下方式实现根据预设的接口配置规则生成所述目标Mock接口:
若所述目标Mock接口为HTTP动态Mock接口,则生成对应的字节码文件,将所述字节码文件加载到指定的命名空间中以生成目标Mock接口;
若所述目标Mock接口为JSF动态Mock接口,则生成指定方法的动态代理文件,将所述动态代理文件注入到Spring容器中以生成目标Mock接口。
图4为本发明实施例提供的一种的业务服务器的结构示意图,图4所示的业务服务器400包括:至少一个处理器401、存储器402、至少一个网络接口404和其他用户接口403。业务服务器400中的各个组件通过总线系统405耦合在一起。可理解,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统405。
其中,用户接口403可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器402旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器402存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统4021和应用程序4022。
其中,操作系统4021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序4022中。
在本发明实施例中,通过调用存储器402存储的程序或指令,具体的,可以是应用程序4022中存储的程序或指令,处理器401用于执行各方法实施例所提供的方法步骤,例如包括:
在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成上述测试方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的业务服务器可以是如图4中所示的业务服务器,可执行如图2中测试方法的所有步骤,进而实现图2所示测试方法的技术效果,具体请参照图2相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在业务服务器侧执行的测试方法。
所述处理器用于执行存储器中存储的测试程序,以实现以下在业务服务器侧执行的测试方法的步骤:
在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试方法,其特征在于,包括:
在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
2.根据权利要求1所述的方法,其特征在于,所述在对业务系统进行测试时,向Mock系统发送数据获取请求,包括:
在接收到数据获取请求时,若确定所述业务系统当前已开启Mock测试服务,则确定对所述业务系统进行测试,并向Mock系统发送所述数据获取请求。
3.根据权利要求2所述的方法,其特征在于,所述确定业务系统当前已开启Mock测试服务,包括:
当确定用于指示Mock测试服务开启状态的指定配置参数为第一值时,确定业务系统当前已开启Mock测试服务;
所述方法还包括:
在检测到所述指定配置参数由所述第一值变更为第二值时,关闭已开启的所述Mock测试服务。
4.根据权利要求1所述的方法,其特征在于,所述Mock系统通过以下方式调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据:
所述Mock系统解析所述数据获取请求得到所述目标Mock接口的接口地址;
当根据所述接口地址确定所述目标Mock接口为动态接口时,根据预设的接口配置规则生成所述目标Mock接口并调用所述目标Mock接口获取与所述数据获取请求携带的入口参数对应的测试数据;
当根据所述接口地址确定所述目标Mock接口为静态接口时,根据所述接口地址调用所述目标Mock接口获取与所述数据获取请求对应的测试数据。
5.根据权利要求1所述的方法,其特征在于,所述数据获取请求携带所述业务系统的系统标识和系统密码;
所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据,包括:
所述Mock系统对所述系统标识和系统密码进行验证;
在验证结果表示所述业务系统具有调用所述目标Mock接口的权限时,调用所述目标Mock接口获取所述数据获取请求对应的测试数据。
6.根据权利要求4所述的方法,其特征在于,所述Mock系统中包括下述一项或几项类型的Mock接口:
RPC动态Mock接口、RPC静态Mock接口、HTTP动态Mock接口、HTTP静态Mock接口。
7.根据权利要求6所述的方法,其特征在于,所述根据预设的接口配置规则生成所述目标Mock接口,包括:
若所述目标Mock接口为HTTP动态Mock接口,则生成对应的字节码文件,将所述字节码文件加载到指定的命名空间中以生成目标Mock接口;
若所述目标Mock接口为RPC动态Mock接口,则生成指定方法的动态代理文件,将所述动态代理文件注入到Spring容器中以生成目标Mock接口。
8.一种测试装置,其特征在于,包括:
请求发送模块,用于在对业务系统进行测试时,向Mock系统发送数据获取请求,以使所述Mock系统响应于所述数据获取请求,调用与所述数据获取请求相匹配的目标Mock接口获取所述数据获取请求对应的测试数据;
请求接收模块,用于接收所述Mock系统通过所述目标Mock接口返回的所述测试数据。
9.一种业务服务器,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的程序,以实现权利要求1~7中任一项所述的测试方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637836.8A CN111782535A (zh) | 2020-06-30 | 2020-06-30 | 测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637836.8A CN111782535A (zh) | 2020-06-30 | 2020-06-30 | 测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782535A true CN111782535A (zh) | 2020-10-16 |
Family
ID=72758763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010637836.8A Pending CN111782535A (zh) | 2020-06-30 | 2020-06-30 | 测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782535A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和系统、存储介质、计算设备 |
CN112328501A (zh) * | 2020-11-30 | 2021-02-05 | 浙江诺诺网络科技有限公司 | 一种测试方法、装置及电子设备和存储介质 |
CN112579473A (zh) * | 2020-12-30 | 2021-03-30 | 北京百家科技集团有限公司 | 一种测试系统、方法、计算机设备及存储介质 |
CN113110982A (zh) * | 2021-03-29 | 2021-07-13 | 青岛海尔科技有限公司 | 数据访问层验证方法及装置、存储介质及电子装置 |
CN113297078A (zh) * | 2021-05-24 | 2021-08-24 | 平安壹钱包电子商务有限公司 | Mock系统与基于mock系统的数据测试方法 |
CN113452575A (zh) * | 2021-06-24 | 2021-09-28 | 河北幸福消费金融股份有限公司 | 业务测试方法、系统、设备和存储介质 |
CN113630468A (zh) * | 2021-08-16 | 2021-11-09 | 上海观安信息技术股份有限公司 | 一种动态代理的方法 |
CN113760722A (zh) * | 2021-01-13 | 2021-12-07 | 北京京东振世信息技术有限公司 | 测试系统和测试方法 |
CN115208951A (zh) * | 2022-06-28 | 2022-10-18 | 平安银行股份有限公司 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970873A (zh) * | 2017-01-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 线上mock测试方法、装置及系统 |
CN107329890A (zh) * | 2017-06-06 | 2017-11-07 | 北京金山安全软件有限公司 | 基于Mock的测试方法、装置及服务器 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
CN110874322A (zh) * | 2018-09-04 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 一种用于应用程序的测试方法及测试服务器 |
-
2020
- 2020-06-30 CN CN202010637836.8A patent/CN111782535A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970873A (zh) * | 2017-01-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 线上mock测试方法、装置及系统 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN107329890A (zh) * | 2017-06-06 | 2017-11-07 | 北京金山安全软件有限公司 | 基于Mock的测试方法、装置及服务器 |
CN110874322A (zh) * | 2018-09-04 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 一种用于应用程序的测试方法及测试服务器 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和系统、存储介质、计算设备 |
CN112328501A (zh) * | 2020-11-30 | 2021-02-05 | 浙江诺诺网络科技有限公司 | 一种测试方法、装置及电子设备和存储介质 |
CN112579473A (zh) * | 2020-12-30 | 2021-03-30 | 北京百家科技集团有限公司 | 一种测试系统、方法、计算机设备及存储介质 |
CN113760722A (zh) * | 2021-01-13 | 2021-12-07 | 北京京东振世信息技术有限公司 | 测试系统和测试方法 |
CN113110982A (zh) * | 2021-03-29 | 2021-07-13 | 青岛海尔科技有限公司 | 数据访问层验证方法及装置、存储介质及电子装置 |
CN113297078A (zh) * | 2021-05-24 | 2021-08-24 | 平安壹钱包电子商务有限公司 | Mock系统与基于mock系统的数据测试方法 |
CN113452575A (zh) * | 2021-06-24 | 2021-09-28 | 河北幸福消费金融股份有限公司 | 业务测试方法、系统、设备和存储介质 |
CN113452575B (zh) * | 2021-06-24 | 2022-11-22 | 河北幸福消费金融股份有限公司 | 业务测试方法、系统、设备和存储介质 |
CN113630468A (zh) * | 2021-08-16 | 2021-11-09 | 上海观安信息技术股份有限公司 | 一种动态代理的方法 |
CN113630468B (zh) * | 2021-08-16 | 2023-12-22 | 上海观安信息技术股份有限公司 | 一种动态代理的方法 |
CN115208951A (zh) * | 2022-06-28 | 2022-10-18 | 平安银行股份有限公司 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
CN115208951B (zh) * | 2022-06-28 | 2024-03-15 | 平安银行股份有限公司 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782535A (zh) | 测试方法及装置 | |
CN110460595B (zh) | 一种鉴权与业务服务方法、装置以及设备 | |
KR101137157B1 (ko) | 효과적 패칭 | |
KR101183305B1 (ko) | 효과적 패칭 | |
CN110569035B (zh) | 软件开发项目的代码编译方法、装置、设备和存储介质 | |
KR100751159B1 (ko) | 소프트웨어 인증 시스템, 소프트웨어 인증 방법 및소프트웨어 인증 프로그램을 기록한 컴퓨터 판독 가능한기록 매체 | |
US8990561B2 (en) | Pervasive package identifiers | |
CN111259412B (zh) | 权限控制方法、装置、计算机设备及存储介质 | |
US10305962B1 (en) | Unit testing clients of web services | |
CN109299015B (zh) | 一种软件测试方法、装置及系统 | |
US8959485B2 (en) | Security protection domain-based testing framework | |
CN113569246A (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
WO2014132145A1 (en) | Web service black box testing | |
JP2018156294A (ja) | ソフトウェア検証装置およびソフトウェア検証プログラム | |
CN116795679A (zh) | 一种Web应用测试方法、装置、电子设备及存储介质 | |
CN115774742A (zh) | 私有云的数据存储新增方法、装置、设备、介质及产品 | |
CN111835513B (zh) | 一种更新凭证数据的方法、装置及设备 | |
CN115758419A (zh) | 用于数据安全的方法、装置、设备和存储介质 | |
WO2022068322A1 (en) | Software access through heterogeneous encryption | |
CN111614676B (zh) | 一种登录方法、装置、设备、介质 | |
CN114691157A (zh) | 基于云的fpga管理控制系统、方法及电子设备 | |
CN114461223A (zh) | 一种代码生成方法、装置及终端设备 | |
CN112788017A (zh) | 一种安全校验方法、装置、设备及介质 | |
CN116991713B (zh) | 跨环境执行用例的方法、装置、计算机设备及存储介质 | |
CN116661876B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co., Ltd |