CN116166569A - 一种Mock测试方法及其相关设备 - Google Patents
一种Mock测试方法及其相关设备 Download PDFInfo
- Publication number
- CN116166569A CN116166569A CN202310456821.5A CN202310456821A CN116166569A CN 116166569 A CN116166569 A CN 116166569A CN 202310456821 A CN202310456821 A CN 202310456821A CN 116166569 A CN116166569 A CN 116166569A
- Authority
- CN
- China
- Prior art keywords
- test
- mock
- request
- platform
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 271
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 11
- 230000002085 persistent effect Effects 0.000 claims description 2
- 230000006403 short-term memory Effects 0.000 claims description 2
- 238000012956 testing procedure Methods 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 17
- 238000010998 test method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种Mock测试方法,应用于数据处理领域,包括:设置多个针对不同第三方平台的Mock测试流程;接收用户发送的测试请求;确定测试请求所属的目标第三方平台;基于目标第三方平台执行对应的Mock测试流程。基于本方法可以针对不同的第三方平台设计不同的测试流程,在接收到测试请求后自行确定测试请求所针对的第三方平台,并执行相应的测试流程,进而使得用户无需从多个Mock测试流程中挑选,从而提高Mock测试的效率,减少测试成本。
Description
技术领域
本申请属于数据处理领域,尤其涉及一种Mock测试方法及其相关设备。
背景技术
Mock测试是一种基于模拟数据的测试技术,用于模拟、替换系统中的某个组件或者服务,以达到隔离测试环境、提高测试效率的目的,从而保证测试的全面性和准确性。在软件开发过程中,Mock测试通常应用于集成测试、单元测试、API测试等场景,通过准确模拟接口返回的数据和行为,可以有效地减少测试的成本和时间,提高测试资源的利用率。同时,Mock测试还可以使用自动化测试工具进行测试集成,提高持续集成、持续交付等流程的效率,从而大大提高软件质量和开发效率。
Mock测试在对接第三方的服务时,对方接口所返回的状态和数据十分不确定,可能会依赖于第三方系统状态的影响而不同,所以需要注意每个第三方服务返回数据以及状态的规则差异。这些规则差异如果忽略不计,极有可能导致系统测试失败或者结果不准确的问题,同时也需要长期跟踪第三方系统状态的变化,维护Mock测试数据以保证测试结果的有效性。建立Mock测试环境时,需要详细了解第三方接口的规则,并根据规则编写相应的Mock数据,以确保返回数据的准确性和可靠性。这一过程基于所应用的Mock对象不同,导致编写程序消耗较多人力物力,同时在使用Mock测试方法时需要从预先编写的多个测试流程中进行挑选,容易造成测试错误,执行效率低下等问题。
发明内容
本发明的目的在于提供一种Mock测试方法,旨在解决现有的测试流程较为繁琐容易造成测试错误,执行效率低下等问题,本申请提供的Mock测试方法包括:
本申请实施例第一方面提供了一种 Mock测试方法 ,包括:
设置多个针对不同第三方平台的Mock测试流程;
接收用户发送的测试请求;
确定所述测试请求所属的目标第三方平台;
基于所述目标第三方平台执行对应的Mock测试流程。
基于本申请实施例第一方面所提供的Mock测试方法,可选的,所述第三方平台包括:安卓平台和iOS平台。
基于本申请实施例第一方面所提供的Mock测试方法,可选的,确定所述测试请求所属的目标第三方平台,包括:
判断所述测试请求的类型为HTTP请求或HTTP/2请求;
若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标第三方平台为安卓平台;
若所述测试请求的类型为HTTP/2请求,则确定所述测试请求对应的目标第三方平台为iOS平台;
基于本申请实施例第一方面所提供的Mock测试方法,可选的,所述安卓平台包括针对不同企业的安卓平台,
所述若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标测试请求为安卓平台,之后所述方法还包括:
基于所述测试请求所包括的企业标识确定针对目标企业的安卓平台为所述目标第三方平台。
基于本申请实施例第一方面所提供的Mock测试方法,可选的,所述设置多个针对不同第三方平台的Mock测试流程,包括:
设置路由映射列表,所述路由映射列表记载有对不同第三方平台的Mock测试流程的路径信息。
基于本申请实施例第一方面所提供的Mock测试方法,可选的,所述基于所述目标第三方平台执行对应的Mock测试流程,之后,所述方法还包括:
返回测试结果,所述测试结果包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。
基于本申请实施例第一方面所提供的Mock测试方法,可选的,所述方法基于Tornado框架执行。
本申请实施例第二方面提供了一种Mock测试设备,包括:
设置单元,用于设置多个针对不同第三方平台的Mock测试流程;
接收单元,用于接收用户发送的测试请求;
确定单元,用于判断所述测试请求所属的目标第三方平台;
执行单元,用于基于所述目标第三方平台执行对应的Mock测试流程。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述第三方平台包括:安卓平台和iOS平台。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述确定单元具体用于:
判断所述测试请求的类型为HTTP请求或HTTP/2请求;
若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标第三方平台为安卓平台;
若所述测试请求的类型为HTTP/2请求,则确定所述测试请求对应的目标第三方平台为iOS平台。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述安卓平台包括针对不同企业的安卓平台;
所述确定单元还用于:基于所述测试请求所包括的企业标识确定针对目标企业的安卓平台为所述目标第三方平台。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述设置单元具体用于:
设置路由映射列表,所述路由映射列表记载有对不同第三方平台的Mock测试流程的路径信息。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述设备还包括:
返回单元,用于返回测试结果,所述测试结果包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。
基于本申请实施例第二方面提供的Mock测试设备,可选的,所述设备基于Tornado框架运行。
本申请实施例第三方面提供了一种Mock测试设备,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述设备上执行所述存储器中的指令操作以执行本申请实施例第一方面中任意一项所述的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
本申请实施例第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种Mock测试方法,包括:设置多个针对不同第三方平台的Mock测试流程;接收用户发送的测试请求;确定所述测试请求所属的目标第三方平台;基于所述目标第三方平台执行对应的Mock测试流程。基于上述方法可知在使用本方法进行Mock测试时,首先需要接收用户发送的测试请求,并根据请求中所携带的信息确定请求所属的目标第三方平台。随后,根据确定的目标平台,该方法会基于该平台执行对应的Mock测试流程,以模拟第三方平台的行为和数据。基于本方法可以在接收到测试请求后自行确定测试请求所针对的第三方平台,并执行相应的测试流程,进而使得用户无需从多个Mock测试流程中挑选,从而提高Mock测试的效率,减少测试成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。可以理解的是,本部分所提供的附图仅用于更好地理解本方案,不构成对本申请的限定。
图1为本申请所提供的Mock测试方法实施例的一个流程示意图;
图2为本申请所提供的Mock测试方法实施例的另一个流程示意图;
图3为本申请所提供的Mock测试方法实施例的另一个流程示意图;
图4为本申请所提供的Mock测试设备实施例的一个结构示意图;
图5为本申请所提供的Mock测试设备实施例的另一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。同时,为了描述清楚和简明,以下的描述中省略了对公知的功能和结构的描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
Mock测试是一种基于模拟数据的测试技术,用于模拟、替换系统中的某个组件或者服务,以达到隔离测试环境、提高测试效率的目的,从而保证测试的全面性和准确性。在软件开发过程中,Mock测试通常应用于集成测试、单元测试、API测试等场景,通过准确模拟接口返回的数据和行为,可以有效地减少测试的成本和时间,提高测试资源的利用率。同时,Mock测试还可以使用自动化测试工具进行测试集成,提高持续集成、持续交付等流程的效率,从而大大提高软件质量和开发效率。
Mock测试在对接第三方的服务时,对方接口所返回的状态和数据十分不确定,可能会依赖于第三方系统状态的影响而不同,所以需要注意每个第三方服务返回数据以及状态的规则差异。这些规则差异如果忽略不计,极有可能导致系统测试失败或者结果不准确的问题,同时也需要长期跟踪第三方系统状态的变化,维护Mock测试数据以保证测试结果的有效性。建立Mock测试环境时,需要详细了解第三方接口的规则,并根据规则编写相应的Mock数据,以确保返回数据的准确性和可靠性。这一过程基于所应用的Mock对象不同,导致编写程序消耗较多人力物力,同时在使用Mock测试方法时需要从预先编写的多个测试流程中进行挑选,容易造成测试错误,执行效率低下等问题。
为解决上述问题,本申请实施例提供了一种新的Mock测试方法,请参阅图1,本申请实施例所提供的Mock测试方法包括:步骤101至步骤104。
101、设置多个针对不同第三方平台的Mock测试流程。
具体的,设置多个针对不同第三方平台的Mock测试流程。在实际实施过程中可针对推送API的环境进行Mock测试,推送API是完全基于HTTPs且支持HTTP/2的接口,提供多个第三方厂商系统消息下发通道,推送API在对接第三方系统消息平台的方式上各有不同的规则,同时返回的状态和数据均不一样,因此在实际实施过程中需要分别对其针对性的设置不同的Mock测试流程,在设置Mock测试流程具体可包括注意:
确认需要Mock的第三方平台的API特点,例如,对于移动消息推送平台,可以根据不同平台提供的API规范、请求参数、响应类型等属性进行分类,并针对不同的API特点设计相应的Mock测试流程。
设计Mock测试流程,根据目标API的特定属性,设计Mock测试方案。例如,在移动消息推送平台的API网关上,可以设置一组Mock API,其接口参数及返回值均与实际的API接口保持一致。通过这组Mock API,测试人员可以快速地验证API调用的正确性及返回结果的可用性。
开发Mock API:在设计好Mock测试流程后,需要开发Mock API,该API应返回事先定义好的数据,以模拟API的响应结果。使用真实数据进行测试可能造成未知的风险,因此使用Mock API进行测试可以降低对目标平台的访问量,并减少潜在的安全风险。
集成Mock API:测试人员将所开发的多个针对不同第三方平台的Mock API集成在一起,以便于统计接收测试请求,并将测试请求按照其针对的第三方平台进行Mock测试。
102、接收用户发送的测试请求。
具体的,接收用户发送的测试请求。这个步骤需要系统向外暴露一个接口,用来接收用户所发送的测试请求。用户所发送的测试请求中可具有相应的标识,以便确定测试请求所对应的第三方平台,进而执行相应的Mock测试流程。
103、确定所述测试请求所属的目标第三方平台;
具体的,确定测试请求所属的目标第三方平台。确定目标平台的方法可以根据测试请求中包含的标识信息或其他属性来进行识别。一般来说,测试请求信息中会包含目标平台的标识,如设备类型、网络类型、应用版本等信息,根据这些信息可以识别目标平台。
除此之外,通过对接口协议和数据报文的解析,也可以提取出携带的参数信息,根据这些参数信息来确定目标平台。例如,对于 HTTP 协议的测试请求,可以通过解析数据包来提取包头信息和包体信息,包头中可以包含请求方法、HOST 信息、请求路径信息等,而包体中可以包含请求数据、请求参数等,通过解析包头和包体信息可以获取到用于识别目标平台的信息。对于 HTTP 2协议的接口,可以利用HTTP/2的特点提取请求的标识信息或其他属性来确定目标平台。一般来说,HTTP/2协议在头部数据中使用二进制编码格式来传输请求的信息,包含了一些特定的帧(frame),比如HEADERS帧、DATA帧、PRIORITY帧等,其中HEADERS帧负责携带请求中包含的、用于识别目标平台的信息。测试人员可以编写代码来解析HTTP/2头部帧(如HEADERS帧),获取请求中包含的标识信息,以便后续的Mock测试流程可以根据这些信息来识别目标平台。具体的确定方式可依据实际情况而定,此处不做限定。
104、基于所述目标第三方平台执行对应的Mock测试流程。
具体的,基于所述目标第三方平台执行对应的Mock测试流程。在确定出测试请求所针对的目标第三方平台后即可执行相应的Mock测试流程,并在完成测试流程后返回相应的测试结果,以便测试人员记录测试结果,以支持后续的分析和处理。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种Mock测试方法,包括:设置多个针对不同第三方平台的Mock测试流程;接收用户发送的测试请求;确定所述测试请求所属的目标第三方平台;基于所述目标第三方平台执行对应的Mock测试流程。基于上述方法可知在使用本方法进行Mock测试时,首先需要接收用户发送的测试请求,并根据请求中所携带的信息确定请求所属的目标第三方平台。随后,根据确定的目标平台,该方法会基于该平台执行对应的Mock测试流程,以模拟第三方平台的行为和数据。基于本方法可以在接收到测试请求后自行确定测试请求所针对的第三方平台,并执行相应的测试流程,进而使得用户无需从多个Mock测试流程中挑选,从而提高Mock测试的效率,减少测试成本。
为便于在实际实施过程中使用本方法,本申请还提供了一种可选择实施的更为详细的实施例,请参阅图2,本申请所提供的Mock测试方法的一个实施例包括:步骤201-步骤209。
201、设置路由映射列表。
具体的,本方法在实施时可基于Tornado框架执行。Tornado是一个Python的Web框架和异步网络库,Tornado提供了高性能、异步和非阻塞式的服务,对于处理大量请求和大量并发连接情况下的应用有很好的表现。Tornado主要由三个部分组成:Web框架、I/O循环和HTTP服务器。在基于Tornado框架执行Mock测试时可以很好的支持HTTP/2类型的测试请求。在执行过程中需要设置路由映射列表,所述路由映射列表记载有对不同第三方平台的Mock测试流程的路径信息。路由映射列表指定了应用中各个 URL 路径和对应的 handler类之间的映射关系。定义实现路由映射列表中的handler类。handler 类是应用实现请求处理逻辑的核心部分,包含了一些用于处理客户端请求的方法。针对每个路由对应的handler 类,需要定义处理请求的方法。在方法内部可以编写相应的业务逻辑和数据处理代码。创建服务器实例,绑定服务器端口。在定义好访问路径和对应的handler之后,需要创建服务器实例,为其绑定端口。这个步骤需要使用 Tornado 的 HTTPServer 类,创建服务器实例,并将应用实例对象作为其参数。使用ssl.SSLContext进行HTTPs的SSL双向校验,为了保证应用程序的安全性,可以采用 SSL 双向校验来验证客户端证书和服务器证书的有效性,确保 HTTPS 通道的安全性。启动当前线程的IOLoop,以便异步处理并响应来自客户端的请求。
202、接收用户发送的测试请求。
具体的步骤202与前述图1对应实施例中步骤102的执行过程类似,具体此处不做赘述。
203、判断所述测试请求的类型为HTTP请求或HTTP/2请求。
具体的,基于测试请求判断所述测试请求的类型为HTTP请求或HTTP/2请求。在实际实施过程中可以根据请求的协议版本号(如 HTTP/1.1 或 HTTP/2)、请求头的协议信息和请求头中设置的其他属性进行判断。具体的判断方式可依据实际情况而定,此处不做限定。
204、确定所述测试请求对应的目标第三方平台为iOS平台。
205、基于所述目标第三方平台执行对应的Mock测试流程。
206、返回测试结果。
具体的,若测试请求的类型为HTTP/2请求,则执行上述步骤204至步骤206,即确定所述测试请求对应的目标第三方平台为iOS平台。基于所述目标第三方平台执行对应的Mock测试流程,并返回测试结果。对于信息推送API而言,其在iOS平台执行需要依赖APNs(Apple Push Notification Service)是苹果公司提供的一种推送服务,用于向苹果设备发送远程通知。APNs 支持向 iPhone、iPad、iPod Touch 等多种 iOS 设备发送推送消息,中文翻译为“苹果推送通知服务”,该技术是苹果公司提供的海外服务。在进行Mock测试时需要相应构建类似环境,以便完成对iOS平台的Mock过程,并基于Mock测试得到测试结果,测试结果可包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。其中正确结果即返回正确了的code码,用于验证厂商的送达。返回超频的错误code码,用于验证厂商的频控和缓存。返回其他类别的错误code码,用于验证厂商的折损。进行推送数据分析,有利于送达提升。具体的code码设置可依据实际情况预先设置,以便测试人员可以及时了解系统测试结果,并进行相应修正,具体此处不做限定。
207、基于所述测试请求所包括的企业标识确定针对目标企业的安卓平台为所述目标第三方平台。
208、基于所述目标第三方平台执行对应的Mock测试流程。
209、返回测试结果。
具体的,若测试请求的类型为HTTP请求,则确定所述测试请求对应的目标测试请求为安卓平台,对于安卓平台多个不同厂商使用的平台规则也不尽相同,因此需要基于测试请求所具有的企业表示确定目标企业的安卓平台为所述目标第三方平台,企业标识可以是通过 HTTP 请求头信息或者请求参数中传递的。如果请求头或者请求参数中携带了企业标识信息,则可以根据这些信息来确定请求是针对哪个企业的。在确定了请求中的企业标识之后,可以进一步判断其是属于目标第三方平台的哪个安卓平台,具体的平台形式及数量可依据实际情况而定,此处不做限定。具体的,本过程可以基于XPNs执行,全称为“x pushnotification service”,中文翻译为“各个推送通知服务”以便完成对安卓平台的Mock过程,并基于Mock测试得到测试结果,测试结果可包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。其中正确结果即返回正确了的code码,用于验证厂商的送达。返回超频的错误code码,用于验证厂商的频控和缓存。返回其他类别的错误code码,用于验证厂商的折损。进行推送数据分析,有利于送达提升。具体的code码设置可依据实际情况预先设置,以便测试人员可以及时了解系统测试结果,并进行相应修正,具体此处不做限定。具体的,本方法也可参照图3进行,图3为本申请所提供的Mock测试过程的一个流程示意图。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种Mock测试方法,包括:设置多个针对不同第三方平台的Mock测试流程;接收用户发送的测试请求;确定所述测试请求所属的目标第三方平台;基于所述目标第三方平台执行对应的Mock测试流程。基于上述方法可知在使用本方法进行Mock测试时,首先需要接收用户发送的测试请求,并根据请求中所携带的信息确定请求所属的目标第三方平台。随后,根据确定的目标平台,该方法会基于该平台执行对应的Mock测试流程,以模拟第三方平台的行为和数据。基于本方法可以在接收到测试请求后自行确定测试请求所针对的第三方平台,并执行相应的测试流程,进而使得用户无需从多个Mock测试流程中挑选,从而提高Mock测试的效率,减少测试成本。
上述内容对本申请所提供的Mock测试方法进行了描述,为支持上述实施例的实施,本申请还提供了一种Mock测试设备,请参阅图4,本申请所提供的Mock测试设备的一个实施例包括:
设置单元401,用于设置多个针对不同第三方平台的Mock测试流程;
接收单元402,用于接收用户发送的测试请求;
确定单元403,用于判断所述测试请求所属的目标第三方平台;
执行单元404,用于基于所述目标第三方平台执行对应的Mock测试流程。
本实施例中,Mock测试设备中各单元所执行的流程与前述图1或图2所对应的实施例中描述的方法流程类似,此处不再赘述。
可选的,所述第三方平台包括:安卓平台和iOS平台。
可选的,所述确定单元具体用于:
判断所述测试请求的类型为HTTP请求或HTTP/2请求;
若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标第三方平台为安卓平台;
若所述测试请求的类型为HTTP/2请求,则确定所述测试请求对应的目标第三方平台为iOS平台。
可选的,所述安卓平台包括针对不同企业的安卓平台;
所述确定单元还用于:基于所述测试请求所包括的企业标识确定针对目标企业的安卓平台为所述目标第三方平台。
可选的,所述设置单元具体用于:
设置路由映射列表,所述路由映射列表记载有对不同第三方平台的Mock测试流程的路径信息。
可选的,所述设备还包括:
返回单元,用于返回测试结果,所述测试结果包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。
可选的,所述设备基于Tornado框架运行。
图5示出了可以用来实施本申请的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如Mock测试方法。例如,在一些实施例中,可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM503并由计算单元501执行时,可以执行上文描述的Mock测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行Mock测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称 "VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述Mock测试方法所用的计算机软件指令,其包括用于执行为Mock测试方法所设计的程序。
该Mock测试方法可以如前述图1或图2中所描述的Mock测试方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述图1图2中任意一项的Mock测试方法的流程。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,电路的等效变换,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Mock测试方法,其特征在于,所述方法应用于对推送API的测试过程,包括:
设置多个针对不同第三方平台的Mock测试流程;
接收用户发送的测试请求;
确定所述测试请求所属的目标第三方平台;
基于所述目标第三方平台执行对应的Mock测试流程;
所述第三方平台包括:安卓平台和iOS平台;
所述确定所述测试请求所属的目标第三方平台,包括:
判断所述测试请求的类型为HTTP请求或HTTP/2请求;
若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标第三方平台为安卓平台;
若所述测试请求的类型为HTTP/2请求,则确定所述测试请求对应的目标第三方平台为iOS平台。
2.根据权利要求1所述的Mock测试方法,其特征在于,所述安卓平台包括针对不同企业的安卓平台;
所述若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标测试请求为安卓平台,之后所述方法还包括:
基于所述测试请求所包括的企业标识确定针对目标企业的安卓平台为所述目标第三方平台。
3.根据权利要求1所述的Mock测试方法,其特征在于,所述设置多个针对不同第三方平台的Mock测试流程,包括:
设置路由映射列表,所述路由映射列表记载有对不同第三方平台的Mock测试流程的路径信息。
4.根据权利要求1所述的Mock测试方法,其特征在于,所述基于所述目标第三方平台执行对应的Mock测试流程,之后,所述方法还包括:
返回测试结果,所述测试结果包括:正确结果,超频错误结果、权限错误结果或逻辑错误结果。
5.根据权利要求1所述的Mock测试方法,其特征在于,所述方法基于Tornado框架执行。
6.一种Mock测试设备,其特征在于,所述设备应用于对推送API的测试过程,包括:
设置单元,用于设置多个针对不同第三方平台的Mock测试流程;
接收单元,用于接收用户发送的测试请求;
确定单元,用于判断所述测试请求所属的目标第三方平台;
执行单元,用于基于所述目标第三方平台执行对应的Mock测试流程;
所述第三方平台包括:安卓平台和iOS平台;
所述确定单元具体用于:
判断所述测试请求的类型为HTTP请求或HTTP/2请求;
若所述测试请求的类型为HTTP请求,则确定所述测试请求对应的目标第三方平台为安卓平台;
若所述测试请求的类型为HTTP/2请求,则确定所述测试请求对应的目标第三方平台为iOS平台。
7.一种Mock测试设备,其特征在于,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述Mock测试设备上执行所述存储器中的指令操作以执行如权利要求1至5中任意一项所述的方法。
8.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456821.5A CN116166569A (zh) | 2023-04-26 | 2023-04-26 | 一种Mock测试方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456821.5A CN116166569A (zh) | 2023-04-26 | 2023-04-26 | 一种Mock测试方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166569A true CN116166569A (zh) | 2023-05-26 |
Family
ID=86416743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310456821.5A Pending CN116166569A (zh) | 2023-04-26 | 2023-04-26 | 一种Mock测试方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166569A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
CN110362472A (zh) * | 2019-05-31 | 2019-10-22 | 口碑(上海)信息技术有限公司 | Mock测试方法、装置及设备 |
CN110659028A (zh) * | 2019-09-30 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 数据处理系统、方法、装置、电子设备及存储介质 |
CN113778871A (zh) * | 2021-09-07 | 2021-12-10 | 未鲲(上海)科技服务有限公司 | Mock测试方法、装置、设备及存储介质 |
CN114840407A (zh) * | 2021-02-02 | 2022-08-02 | 嘉联支付有限公司 | 一种Mock测试方法及相关设备 |
CN115150377A (zh) * | 2022-07-06 | 2022-10-04 | 上海即科智能技术集团有限公司 | 一种模拟接口调用及处理方法和装置 |
CN115794437A (zh) * | 2022-12-06 | 2023-03-14 | 平安健康保险股份有限公司 | 微服务的调用方法、装置、计算机设备及存储介质 |
-
2023
- 2023-04-26 CN CN202310456821.5A patent/CN116166569A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
CN110362472A (zh) * | 2019-05-31 | 2019-10-22 | 口碑(上海)信息技术有限公司 | Mock测试方法、装置及设备 |
CN110659028A (zh) * | 2019-09-30 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 数据处理系统、方法、装置、电子设备及存储介质 |
CN114840407A (zh) * | 2021-02-02 | 2022-08-02 | 嘉联支付有限公司 | 一种Mock测试方法及相关设备 |
CN113778871A (zh) * | 2021-09-07 | 2021-12-10 | 未鲲(上海)科技服务有限公司 | Mock测试方法、装置、设备及存储介质 |
CN115150377A (zh) * | 2022-07-06 | 2022-10-04 | 上海即科智能技术集团有限公司 | 一种模拟接口调用及处理方法和装置 |
CN115794437A (zh) * | 2022-12-06 | 2023-03-14 | 平安健康保险股份有限公司 | 微服务的调用方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
IT325: "为什么 Android 的 HttpUrlConnection 不支持 HTTP/2?", pages 1, Retrieved from the Internet <URL:https://www.it1352.com/2324188.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391359B (zh) | 一种业务测试方法及装置 | |
US10630399B2 (en) | Testing distributed applications that have an established exchange in an advanced message queuing protocol (AMQP) message broker | |
CN114417780B (zh) | 状态同步方法、装置、电子设备及存储介质 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN113515462A (zh) | 用于测试的方法、装置、设备以及存储介质 | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
CN109656791B (zh) | 一种基于Jmeter的gRPC性能测试方法及装置 | |
CN115022201B (zh) | 一种数据处理功能测试方法、装置、设备及存储介质 | |
CN116701168A (zh) | 一种外设接口测试方法、装置、设备及存储介质 | |
CN116166569A (zh) | 一种Mock测试方法及其相关设备 | |
CN113238940B (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN115309730A (zh) | 数据审核方法、装置、电子设备及存储介质 | |
CN114003497A (zh) | 业务系统的测试方法、装置、设备及存储介质 | |
CN115061921A (zh) | 自动测试方法、装置、电子设备及可读存储介质 | |
CN113760765B (zh) | 代码测试方法、装置、电子设备和存储介质 | |
CN112560462B (zh) | 事件抽取服务的生成方法、装置、服务器以及介质 | |
CN114385265A (zh) | 一种基于跨平台开发技术的网络环境切换方法及其相关设备 | |
CN117499873A (zh) | 短消息处理方法、装置、电子设备及存储介质 | |
CN117785413A (zh) | 一种任务转发方法、装置、设备及存储介质 | |
CN116991737A (zh) | 一种软件测试方法、系统、电子设备及存储介质 | |
CN116932033A (zh) | 一种组件打包方法、装置、电子设备及存储介质 | |
CN114238149A (zh) | 账务系统的批量测试方法、电子设备及存储介质 | |
CN116860632A (zh) | 基于知识图谱的软件测试方法、装置、设备以及存储介质 | |
CN115687109A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230526 |