CN109120473A - 接口请求框架实现方法、接口测试方法及其对应的装置 - Google Patents
接口请求框架实现方法、接口测试方法及其对应的装置 Download PDFInfo
- Publication number
- CN109120473A CN109120473A CN201810847979.4A CN201810847979A CN109120473A CN 109120473 A CN109120473 A CN 109120473A CN 201810847979 A CN201810847979 A CN 201810847979A CN 109120473 A CN109120473 A CN 109120473A
- Authority
- CN
- China
- Prior art keywords
- request
- linkd
- interface
- agreement
- service server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000010998 test method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 171
- 230000004044 response Effects 0.000 claims abstract description 81
- 230000007246 mechanism Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 10
- 230000006855 networking Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 8
- 235000014552 Cassia tora Nutrition 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 244000201986 Cassia tora Species 0.000 description 7
- 240000000018 Gnetum gnemon Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000002513 implantation Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 244000277285 Cassia obtusifolia Species 0.000 description 1
- 206010043458 Thirst Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000035922 thirst Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种接口请求框架实现方法、接口测试方法及其对应的装置,以解决现有技术中存在的采用linkd协议通讯的业务服务器的接口测试效率低的缺陷。所述的方法包括步骤:接收测试工程发送的request对象;解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议;基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器;接收所述业务服务器返回的数据;基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;将所述第一response对象转发给所述测试工程。本发明实施例实现了业务服务器的接口自动化持续集成测试。
Description
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种接口请求框架实现方法、接口测试方法及其对应的装置。
背景技术
随着技术的发展,linkd协议被应用到直播应用中,例如,Bigo业务服务器几乎都采用linkd协议与APP(APPlication,应用程序)客户端进行通讯。linkd协议具有快、安全与高可用性等优点,但是目前却无法像主流http协议(hypertext transfer protocol,超文本传输协议)那样有大量测试工具和框架支持对业务服务器的接口进行模拟请求与数据抓包,这导致测试人员对业务服务器的接口测试相当困难,往往需要大量的手工操作模拟来校验业务服务器处理逻辑正确性,效率很低。
发明内容
本发明针对现有技术中存在的采用linkd协议通讯的业务服务器的接口测试效率低的缺陷,提出一种接口请求框架实现方法、接口测试方法及其对应的装置,以实现业务服务器的接口自动化持续集成测试。
本发明的实施例根据第一个方面,提供了一种接口请求框架实现方法,应用在被测应用中,包括步骤:
接收测试工程发送的request对象;
解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议;
基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器;
接收所述业务服务器返回的数据;
基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一 response对象;
将所述第一response对象转发给所述测试工程。
在一个实施例中,所述解析所述request对象,利用反射机制构建linkd 支持的请求协议和返回协议,包括:
解析所述request对象,获得所述request对象指定的请求类型;
根据所述request对象指定的请求类型,利用反射机制,构建linkd支持的请求协议和返回协议,或者http支持的请求协议和返回协议。
在一个实施例中,所述request对象指定的请求类型为linkd或者http;
所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,包括:
若所述request对象指定的请求类型为linkd,基于linkd支持的请求协议,对所述request对象进行处理后通过linkd网络客户端发送至业务服务器;
若所述request对象指定的请求类型为http,基于http支持的请求协议,对所述request对象进行处理后通过http网络客户端发送至业务服务器。
在一个实施例中,所述request对象指定的请求类型为linkd或者http;
所述基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象,包括:
若所述request对象指定的请求类型为linkd,基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
若所述request对象指定的请求类型为http,基于http支持的返回协议,对所述返回的数据进行处理,获得第一response对象。
在一个实施例中,所述解析所述request对象,利用反射机制构建linkd 支持的请求协议和返回协议,之后,所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,之前,还包括:
判断所述request对象指定的请求类型是否支持构建的请求协议和返回协议;
若支持,进入执行所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器的步骤;
若不支持,生成用于指示所述request对象指定的请求类型不支持构建的请求协议和返回协议的第二response对象,将所述第二response对象转发给所述测试工程。
本发明的实施例根据第二个方面,还提供了一种接口测试方法,包括步骤:
将上述任意一项方法实现的接口请求框架封装成若干个测试用例;
根据所述若干个测试用例对业务服务器的接口进行测试。
在一个实施例中,所述根据所述若干个测试用例对业务服务器的接口进行测试,包括:
采用同一个测试用例对业务服务器的接口进行多次测试;
和/或,
从若干个测试用例中选取部分测试用例对业务服务器的接口进行测试;
和/或,
将若干个测试用例分发至不同的业务服务器进行接口测试。
在一个实施例中,所述根据所述若干个测试用例对业务服务器的接口进行测试,之后,还包括:
生成业务服务器的自动化校验结果报告。
本发明的实施例根据第三个方面,还提供了一种接口请求框架实现装置,应用在被测应用中,包括:
request对象接收模块,用于接收测试工程发送的request对象;
协议构建模块,用于解析所述request对象,利用反射机制构建linkd 支持的请求协议和返回协议;
request对象发送模块,用于基于linkd支持的请求协议,对所述request 对象进行处理后发送至业务服务器;
返回数据接收模块,用于接收所述业务服务器返回的数据;
第一response对象获得模块,用于基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
第一response对象转发模块,用于将所述第一response对象转发给所述测试工程。
本发明的实施例根据第四个方面,还提供了一种接口测试装置,包括:
测试用例生成模块,用于将上述接口请求框架实现装置实现的接口请求框架封装成若干个测试用例;
测试模块,用于根据所述若干个测试用例对业务服务器的接口进行测试。
本发明的实施例根据第五个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任意一项所述的接口请求框架实现方法,或者上述任意一项所述的接口测试方法。
本发明的实施例根据第六个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一项所述的接口请求框架实现方法,或者上述任意一项所述的接口测试方法。
上述的接口请求框架实现方法、接口测试方法及其对应的装置,被测应用和测试工程通讯,由被测应用进行request对象转发并返回response 对象至测试工程,另外,利用反射机制构建linkd支持的请求协议和返回协议,基于构建的linkd支持的请求协议和返回协议对request对象和返回的数据进行处理,通过上述操作封装了一套轻量级、学习成本低并易于使用的接口请求框架,进而基于该接口请求框架实现了接口自动化持续集成测试对业务服务器的监控,实现低成本linkd协议接口请求测试方案,减少大量的手工测试,达到了节约人工成本和提升测试效率目的。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的接口请求框架实现方法的流程示意图;
图2为本发明一个实施例的基于Android客户端接口请求框架原理示意图;
图3为本发明一个实施例的接口请求框架实现装置的结构示意图;
图4为本发明一个实施例的接口测试方法的流程示意图;
图5为本发明一个实施例的测试工程的功能示意图;
图6为本发明一个实施例的接口测试装置的结构示意图;
图7为本发明一个实施例的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的response对象,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 (包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“业务服务器”其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与业务服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)、LTE(Long TermEvolution,长期演进)、WIMAX(Worldwide Interoperability for Microwave Access,全球微波互联接入)的移动通信、基于TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议 /因特网互联协议)、UDP(User Datagram Protocol,用户数据报协议)的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
有必要先对linkd协议的特点进行如下的先导性说明。
客户端linkd协议请求建立在bigosdk基础上,从APP生命周期开始,须经历一系列的bigosdk初始化过程,调用bigosdk给我们提供的登录账户方法(相当于http获取token)后,才建立起网络请求通道。
linkd协议快与安全性,linkd采用ByteBuffer格式数据与服务端交互,每个使用linkd协议的接口,须单独开发一对相应的请求协议和返回协议处理数据对象类,用以处理请求数据和返回数据。基于ByteBuffer传输特点,客户端请求参数数据顺序须与服务端接收参数顺序一致,客户端解析返回数据顺序也须与服务端返回数据顺序一致。例如服务端指定接收参数顺序a、b、c,客户端必须按照a、b、c顺序拼接ByteBuffer数据上传,服务端返回数据字段顺序e、f、g,客户端须按照e、f、g顺序处理数据。
linkd协议高可用性,重要的业务接口,如果linkd协议请求出现故障并且该接口服务端配置支持http协议与http请求地址,linkd就会切换至 http请求。但是有个前提,必须在原有的请求协议和返回协议处理数据对象类上,实现解析http返回数据方法。
总而言之,linkd协议具有快、安全与高可用性等优点,使用有一定严格规范。如果一个测试人员要去使用原有的linkd框架,想把原有linkd 框架移植到一个测试工程,这样成本非常高,除了要弄懂bigosdk初始化和建立linkd网络请求通道各步骤,也要学会像开发人员一样去开发相应的请求协议和返回协议处理数据对象类。
针对以上缺陷,同时兼顾方案解决周期与成本考虑,本发明实施例基于被测应用已实现的与业务服务器的通讯方式,通过挖掘这些通讯请求的特性后封装了一套轻量级、学习成本低并易于使用的接口请求框架,实现了接口自动化持续集成测试对业务服务监控。
下面结合附图,对本发明的具体实施方式进行详细描述。应当理解的是,为了更好的理解本发明,下面会结合Android(安卓)系统进行描述,但是本发明实施例并不仅仅适用于Android系统。
如图1所示,在一个实施例中,一种接口请求框架实现方法,应用在被测应用中,包括步骤:
S101、接收测试工程发送的request对象。
被测应用为与业务服务器之间通过linkd协议通讯的应用,例如,被测应用为Bigo安卓APP。在实现接口请求框架时,测试工程用于引入 request对象以及response对象,后续测试工程用于实现对测试用例的调用。其中,request对象用于封装所有的请求数据,response对象用于封装所有的返回数据。可以参照主流的http框架设计用于测试工程和被测应用之间通讯的简单易用的request对象和response对象。
可选的,通过AIDL(Android Interface Definition Language,安卓接口定义语言)技术使被测应用与测试工程通讯,由被测应用进行linkd请求转发并返回结果至测试工程。其中,在Android中,AIDL技术用于实现在不同进程间(通俗可理解为两个不同APP)实现通信。
S102、解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议。
反射机制,也即是JAVA反射机制,指的是动态获取信息以及动态调用对象方法的功能,即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。
linkd支持的请求协议指的是linkd协议的请求体,linkd支持的返回协议(也称之为响应协议)指的是linkd协议的返回体。linkd协议是Bigo 自研网络通信框架,通过ByteBuffer字节流传输数据。应用层的linkd协议的请求体和返回体属于javabean对象,具有可读性和易用性。网络通信过程中,每个linkd协议请求体各自声明处理数据方法,将本身javabean 要传输的内容转换为ByteBuffer字节流;每个linkd协议返回体各自声明处理数据方法,将接收ByteBuffer字节流转换为javabean对象。
利用反射机制,将开发人员已实现的请求协议和返回协议处理数据对象类利用起来,构建linkd支持的请求协议和返回协议,其中,对象类是指linkd协议的请求体和返回体,处理数据是指请求体和返回体中转换数据的方法。
S103、基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器。
构建好linkd支持的请求协议后,通过该请求协议对request对象进行处理,将处理后的request对象转发给业务服务器。
S104、接收所述业务服务器返回的数据。
业务服务器接收到处理后的request对象后,对该处理后的request对象进行响应,返回相关的数据。
S105、基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象。
根据已构建的linkd支持的返回协议,对返回的数据进行处理,获得 response对象。可选的,response对象可以存储在response容器中。
S106、将所述第一response对象转发给所述测试工程。
被测应用将该response对象转发给测试工程,即在测试工程中引入 response对象。
本实施例提供了一套轻量级、学习成本低并易于使用的接口请求框架,避免了重复造轮子,并且降低了linkd接口请求框架的使用成本。
基于上面先导介绍可知,linkd协议的备用方案是http协议,基于高可用性考虑,在linkd协议请求失败时,如果业务服务器配置同个接口支持http协议,则客户端会切换http协议再请求一次。因此,在一个实施例中,所述解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议,包括:
S1021、解析所述request对象,获得所述request对象指定的请求类型。
request对象指定的请求类型可以是linkd,也可以是http。
S1022、根据所述request对象指定的请求类型,利用反射机制,构建 linkd支持的请求协议和返回协议,或者http支持的请求协议和返回协议。
如果请求类型是linkd,则利用反射机制构建linkd支持的请求协议和返回协议。如果请求类型是http,则利用反射机制构建http支持的请求协议和返回协议。
在一个实施例中,所述request对象指定的请求类型为linkd或者http;所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,包括:
S1031、若所述request对象指定的请求类型为linkd,基于linkd支持的请求协议,对所述request对象进行处理后通过linkd网络客户端发送至业务服务器;
S1032、若所述request对象指定的请求类型为http,基于http支持的请求协议,对所述request对象进行处理后通过http网络客户端发送至业务服务器。
本实施例建立了一套分发机制,接口请求框架处理成强制走linkd协议或者http协议,将2者分开,即将接口请求只分发至linkd协议请求,或者只分发至http协议请求,从而区分并对比两端返回结果,避免了重复造轮子,也降低了linkd接口请求框架的使用成本,其中,分发指的是请求通道的不同。另外,业务服务器可以是同一台服务器,也可以多台服务器,具体看服务端部署策略。
同理,在一个实施例中,所述request对象指定的请求类型为linkd或者http;所述基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象,包括:
S1051、若所述request对象指定的请求类型为linkd,基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
S1052、若所述request对象指定的请求类型为http,基于http支持的返回协议,对所述返回的数据进行处理,获得第一response对象。
在进行协议分发前,可选的,还需要利用反射机制识别该接口是否支持linkd协议请求或者http协议请求。在一个实施例中,所述解析所述 request对象,利用反射机制构建linkd支持的请求协议和返回协议,之后,所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,之前,还包括:
判断所述request对象指定的请求类型是否支持构建的请求协议和返回协议;
若支持,进入执行所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器的步骤;
若不支持,生成用于指示所述request对象指定的请求类型不支持构建的请求协议和返回协议的第二response对象,将所述第二response对象转发给所述测试工程。
本实施例中,如果所述request对象指定的请求类型支持构建的请求协议和返回协议,则进入执行所述基于linkd支持的请求协议,对所述 request对象进行处理后发送至业务服务器的步骤。如果所述request对象指定的请求类型不支持构建的请求协议和返回协议,则生成response对象,被测应用将该response对象转发给测试工程,可选的,该response对象可以存储在response容器中。例如,如果指定请求类型是http,通过request构建的请求体判断不支持http协议,则返回“不支持http协议请求”;同理linkd也这样处理。
采用插桩方式,在被测应用(也即是业务APP)中植入上述方法对应的改进代码(一次植入后期无须更改),在测试工程引入request对象和 response对象,从而形成接口请求框架。其中,插桩就是在源代码中插入一段自定义的代码,插入的代码会一起被编译到可执行文件中,所以可执行文件在运行过程中必然会执行我们插入的自定义代码,这样就可以记录任何用户渴望知道的信息。
如下述代码所示,在业务APP插桩植入接收处理request参数,反射机制和分发机制等总共9个类,在测试工程引入request对象和response 对象,就可以形成接口请求框架。
如图2所示,为一实施例的基于Android客户端接口请求框架原理示意图。该接口请求框架的实现原理为:测试工程(相当于AIDL客户端) 与业务APP(相当于AIDL服务端)之间通过AIDL技术通讯。业务APP 接收测试工程发送的request对象,解析request对象,利用反射机制构建 linkd或者http支持的请求协议和返回协议,判断request指定的请求类型是否支持构建的请求协议和返回协议,如果不支持,返回不支持构建的请求协议和返回协议的response对象,response对象存储在response容器中,业务APP从response容器读取该response对象并转发给测试工程,如果支持,根据request对象指定的请求类型将处理后的request对象分发至 linkdNetWorkClient或者httpNetWorkClient。linkdNetWorkClient或者 httpNetWorkClient将该request对象转发至业务服务器。业务服务器向分发器(即图2中的Dispatcher分发)返回数据。Dispatcher分发对返回数据处理,生成response对象,response对象存储在response容器中,业务 APP从response容器读取相应的response对象并转发给测试工程。
基于同一发明构思,本发明还提供一种接口测试装置,下面结合附图对该装置的具体实施方式进行详细介绍。
如图3所示,在一个实施例中,一种接口请求框架实现装置,应用在被测应用中,包括:
request对象接收模块101,用于接收测试工程发送的request对象。
被测应用为与业务服务器之间通过linkd协议通讯的应用。在实现接口请求框架时,测试工程用于引入request对象以及response对象,后续测试工程用于实现对测试用例的调用。可选的,通过AIDL技术使被测应用与测试工程通讯,由被测应用进行linkd请求转发并返回结果回测试工程。
协议构建模块102,用于解析所述request对象,利用反射机制构建 linkd支持的请求协议和返回协议。
linkd支持的请求协议指的是linkd协议的请求体,linkd支持的返回协议(也称之为响应协议)指的是linkd协议的返回体。linkd协议是Bigo 自研网络通信框架,通过ByteBuffer字节流传输数据。应用层的linkd协议的请求体和返回体属于javabean对象,具有可读性和易用性。网络通信过程中,每个linkd协议请求体各自声明处理数据方法,将本身javabean 要传输的内容转换为ByteBuffer字节流;每个linkd协议返回体各自声明处理数据方法,将接收ByteBuffer字节流转换为javabean对象。
利用反射机制,将开发人员已实现的请求协议和返回协议处理数据对象类利用起来,构建linkd支持的请求协议和返回协议,其中,对象类是指linkd协议的请求体和返回体,处理数据是指请求体和返回体中转换数据的方法。
request对象发送模块103,用于基于linkd支持的请求协议,对所述 request对象进行处理后发送至业务服务器。
构建好linkd支持的请求协议后,通过该请求协议对request对象进行处理,将处理后的request对象转发给业务服务器。
返回数据接收模块104,用于接收所述业务服务器返回的数据。
业务服务器接收到处理后的request对象后,对该处理后的request对象进行响应,返回相关的数据。
第一response对象获得模块105,用于基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象。
根据已构建的linkd支持的返回协议,对返回的数据进行处理,获得 response对象。可选的,response对象可以存储在response容器中。
第一response对象转发模块106,用于将所述第一response对象转发给所述测试工程。
被测应用将该response对象转发给测试工程,即在测试工程中引入 response对象。
本实施例提供了一套轻量级、学习成本低并易于使用的接口请求框架,避免了重复造轮子,并且降低了linkd接口请求框架的使用成本。
基于上面介绍可知,linkd协议的备用方案是http协议,基于高可用性考虑,在linkd协议请求失败时,如果业务服务器配置同个接口支持http 协议,则客户端会切换http协议再请求一次。因此,在一个实施例中,所述协议构建模块102包括:
请求类型获得单元1021,用于解析所述request对象,获得所述request 对象指定的请求类型。
request对象指定的请求类型可以是linkd,也可以是http。
协议构建单元1022,用于根据所述request对象指定的请求类型,利用反射机制,构建linkd支持的请求协议和返回协议,或者http支持的请求协议和返回协议。
如果请求类型是linkd,则利用反射机制构建linkd支持的请求协议和返回协议。如果请求类型是http,则利用反射机制构建http支持的请求协议和返回协议。
在一个实施例中,所述request对象指定的请求类型为linkd或者http;所述request对象发送模块103包括:
第一request对象发送单元1031,用于在所述request对象指定的请求类型为linkd时,基于linkd支持的请求协议,对所述request对象进行处理后通过linkd网络客户端发送至业务服务器;
第二request对象发送单元1032,用于在所述request对象指定的请求类型为http时,基于http支持的请求协议,对所述request对象进行处理后通过http网络客户端发送至业务服务器。
本实施例建立了一套分发机制,接口请求框架处理成强制走linkd协议或者http协议,将2者分开,即将接口请求只分发至linkd协议请求,或者只分发至http协议请求,从而区分并对比两端返回结果,避免了重复造轮子,也降低了linkd接口请求框架的使用成本。另外,业务服务器可以是同一台服务器,也可以多台服务器,具体看服务端部署策略。
同理,在一个实施例中,所述request对象指定的请求类型为linkd或者http;所述第一response对象获得模块105包括:
第一处理单元1051,用于在所述request对象指定的请求类型为linkd 时,基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一 response对象;
第二处理单元1052,用于在所述request对象指定的请求类型为http 时,基于http支持的返回协议,对所述返回的数据进行处理,获得第一 response对象。
在进行协议分发前,可选的,还需要利用反射机制识别该接口是否支持linkd协议请求或者http协议请求。在一个实施例中,还包括连接在协议构建模块102与request对象发送模块103之间的判断模块,所述判断模块用于判断所述request对象指定的请求类型是否支持构建的请求协议和返回协议;若支持,进入执行request对象发送模块103基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器的功能;若不支持,生成用于指示所述request对象指定的请求类型不支持构建的请求协议和返回协议的第二response对象,将所述第二response对象转发给所述测试工程。
本实施例中,如果所述request对象指定的请求类型支持构建的请求协议和返回协议,则进入执行所述基于linkd支持的请求协议,对所述 request对象进行处理后发送至业务服务器的步骤。如果所述request对象指定的请求类型不支持构建的请求协议和返回协议,则生成response对象,被测应用将该response对象转发给测试工程,可选的,该response对象可以存储在response容器中。例如,如果指定请求类型是http,通过request构建的请求体判断不支持http协议,则返回“不支持http协议请求”;同理linkd也这样处理。
采用插桩方式,在被测应用(也即是业务APP)中植入上述装置对应的改进代码(一次植入后期无须更改),在测试工程引入request对象和 response对象,从而形成接口请求框架。
基于上述实现的接口请求框架,本发明还提供一种接口测试方法。为了更好地理解该测试方法,首先对该方法涉及的两个概念进行介绍。
Instrumentation测试框架,Instrumentation是Android测试的核心框架,可使用它进行Android应用的单元测试和自动化测试。Instrumentation可以在主程序启动之前,创建模拟的Context;发送UI事件给应用程序;检查程序当前运行的状态;控制Android如何加载应用程序,控制应用程序和控件的生命周期;可直接调用控件的方法,对控件的属性进行查看和修改。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。
AndroidJunit4,是一个让JUnit 4可以直接运行在Android设备上的开源工具,其中Rule是JUnit4中的新特性,它让我们可以扩展JUnit的功能,灵活地改变测试方法的行为。
下面对接口测试方法的具体实施方式进行详细介绍。
如图4所示,在一个实施例中,一种接口测试方法,包括步骤:
S201、将上述任意一项接口测试方法实现的接口请求框架封装成若干个测试用例。
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。根据上述构建的接口请求框架,获得若干个测试用例。
S202、根据所述若干个测试用例对业务服务器的接口进行测试。
得到若干个测试用例后,就可以根据该测试用例对业务服务器的接口进行自动测试,从而达到节约人工成本,提升测试效率目的。
为了更好的理解上述发明,结合几段代码对测试用例进行说明。应当理解的是,下述代码仅用于理解本发明,并不对测试用例的具体形式进行限定。
测试工程中接口请求使用:
@Test
@Description(steps="获取评论",expectation="获取成功",priority=Description.P1)
Publicvoidtest06GetComments()throws Exception{
intuid=iBigoTestInterface.myUid();
HashMap<Long,Long>post_ids=new HashMap<~>();
post_ids.put(0L,6533822075301692416L);
Responseresponse=Request.instanse().req("")
.res("Res")
.type(RequestType.HTTP)
.param("uid",uid)
.param("objType",(byte)0)
.param("version",(byte)1)
.param("count",5)
.param("post_ids",post_ids).execute();
LogUtil.e(TAG,response.toString());
Resres=gson.fromJson(response.getMsg(),Res.class);//将返回转换为对象
LogUtil.e(tagName:TAG+"获取评论",gson.toJson(res.comments));// 将对象转为jsonString显示
}
request采用链式builder风格,req(String)/res(String)代表接口请求框架需要反射的请求协议和返回协议处理数据对象类,type(int)请求类型linkd或http,param请求对象参数无须指定顺序。如果能获得开发的请求协议和返回协议处理数据对象类javabean,另一种接口请求风格如下:
测试用例中,只要用自定义的request对象和response对象就能满足接口请求,获取到的数据可以通过谷歌的gson进行解析,并通过Assert 函数进行校验。为了易用性,引入开发的javabean,所以有上述的另一种请求风格。
上述两段代码只是个接口请求demo,在真正用例中会做到API分层,由基础数据层逐步粗粒度封装。以下代码为一个完整的case:
2个基础接口进一步粗粒度封装示例:
Rule是JUnit4中的新特性,利用它可以扩展JUnit的功能,灵活地改变测试方法的行为。例如,在一个实施例中,所述根据所述若干个测试用例对业务服务器的接口进行测试,之后,还包括:生成业务服务器的自动化校验结果报告。测试工程基于AndroidJunit4的Rule特性,可以生成自动化校验结果报告。另外,测试工程基于AndroidJunit4的Rule特性还可以扩展指定测试用例的运行方式。通过上述两种方式形成完整的自动化测试体系。
如图5所示,为一实施例的测试工程的功能示意图。从该图可以看出,测试工程可以指定各种测试用例的运行方式,输出接口请求返回的数据报告(后续简称接口请求报告)以及自动化校验结果报告,还可以将接口请求报告以及自动化校验结果报告合并在一起,执行完该测试用例皆可知道有多少个接口请求,提升了业务测试的准确性,并监控了业务服务运行状况。
下面分别从Rule扩展测试用例运行方式的方面和生成报告的方面进行介绍。应当理解的是,这里虽然以Rule进行说明,但是本发明实施例并不限制于通过Rule实现,如果有其它程序可以扩展测试用例运行方式和生成自动化校验结果报告,则还可以采用其它程序实现。
1、基于扩展JUnit的Rule特性扩展测试用例运行方式
在一个实施例中,所述根据所述若干个测试用例对业务服务器的接口进行测试,包括:采用同一个测试用例对业务服务器的接口进行多次测试;或者,从若干个测试用例中选取部分测试用例对业务服务器的接口进行测试;或者,将若干个测试用例分发至不同的业务服务器进行接口测试。
本实施例中,可以基于Rule特性对一条测试用例执行多次,和/或,挑选部分用例执行,和/或,针对设备分发用例,其中,将测试用例进行筛选分发到不同设备去运行,可以提高测试用例执行效率等。应当理解的是,这里仅对Rule特性扩展的测试用例部分运行方式进行示例,用户还可以扩展其它功能。
为了更好的理解上述扩展的测试用例运行方式,下面结合几段代码进行说明。
(1)一条测试用例要执行10次
(2)挑选部分测试用例执行
(3)针对设备分发测试用例
2、接口请求报告与自动化校验结果报告
将接口请求报告与自动化校验结果报告分开,旨在后期通过该接口请求报告模板,只要填入请求参数即可逆向发送请求,方便没有代码基础的测试人员使用。
(1)接口请求报告
接口请求报告包括请求类型、请求协议处理数据对象类、返回协议处理数据对象类、请求参数和返回数据等。如下表所示,为一具体实施例的接口请求报告,该报告中的请求类即为请求协议处理数据对象类,该报告中的返回类即为返回协议处理数据对象类。这里response对象支持多种数据类型,如int、boolean、long、list等,其中int类型reason字段,相当于http接口返回状态码,可选的,规定reason不为0都是接口异常返回,一方面reason继承原来linkd协议返回状态码,另一方面自定义异常返回 code,比如reason=13请求超时,reason=10000自定义接口返回异常code 等。
(2)自动化校验结果报告
Junit通过assert函数校验,基于Junit的testwatcher生成可视化自动化校验结果报告。如下表所示,为一具体实施例的自动化校验结果报告。从该表可以看出,该自动化校验结果报告中包括测试用例的名称(即测试
为了方面测试人员查看,还需要将接口请求报告与自动化校验结果报告合成一个文件。如下述表所示,为一具体实施例的接口请求报告与自动化校验结果合并后的报告。
上述接口测试方法的其它技术特征与上述接口请求框架实现方法的技术特征相同,在此不予赘述。
基于同一发明构思,本发明还提供一种接口测试装置,下面结合附图对本发明装置的具体实施方式进行详细介绍。
如图6所示,在一个实施例中,一种接口测试装置,包括:
测试用例生成模块201,用于上述任意一项接口请求框架实现装置实现的接口请求框架封装成若干个测试用例。
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。根据上述构建的接口请求框架,获得若干个测试用例。
测试模块202,用于根据所述若干个测试用例对业务服务器的接口进行测试。
得到若干个测试用例后,就可以根据该测试用例对业务服务器的接口进行自动测试,减少大量的手工测试,达到节约人工成本,提升测试效率目的。
Rule是JUnit4中的新特性,利用它可以扩展JUnit的功能,灵活地改变测试方法的行为。例如,在一个实施例中,还包括与测试模块202相连的自动化校验结果报告生成模块,用于生成业务服务器的自动化校验结果报告。测试工程基于AndroidJunit4的Rule特性,可以生成自动化校验结果报告,另外,测试工程基于AndroidJunit4的Rule特性,还可以扩展指定测试用例的运行方式,从而形成完整的自动化测试体系。
扩展指定测试用例的运行方式有很多种,例如,在一个实施例中,测试模块202用于采用同一个测试用例对业务服务器的接口进行多次测试;和/或,从若干个测试用例中选取部分测试用例对业务服务器的接口进行测试;和/或,将若干个测试用例分发至不同的业务服务器进行接口测试。
本实施例中,可以Rule特性对一条测试用例执行多次,和/或,挑选部分用例执行,和/或,针对设备分发用例,其中,将测试用例进行筛选分发到不同设备去运行,可以提高测试用例执行效率等。
上述接口测试装置的其它技术特征与上述接口测试方法的技术特征相同,在此不予赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的接口请求框架实现方法,或者任意一项所述的接口测试方法。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM (Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本发明实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的接口请求框架实现方法,或者上述任意一项所述的接口测试方法。
图7为本发明计算机设备的结构示意图,包括处理器320、存储装置 330、输入单元340以及显示单元350等器件。本领域技术人员可以理解,图7示出的结构器件并不构成对所有计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置330可用于存储应用程序310以及各功能模块,处理器320运行存储在存储装置330的应用程序 310,从而执行设备的各种功能应用以及数据处理。存储装置330可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储装置包括但不限于这些类型的存储装置。本发明所公开的存储装置330只作为例子而非作为限定。
输入单元340用于接收信号的输入,以及request对象等等。输入单元340可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元350可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元350可采用液晶显示器、有机发光二极管等形式。处理器320是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置330内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,计算机设备包括一个或多个处理器320,以及一个或多个存储装置330,一个或多个应用程序310,其中所述一个或多个应用程序310被存储在存储装置330中并被配置为由所述一个或多个处理器 320执行,所述一个或多个应用程序310配置用于执行以上实施例所述的接口请求框架实现方法,或者上述任意一项所述的接口测试方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种接口请求框架实现方法,其特征在于,应用在被测应用中,包括步骤:
接收测试工程发送的request对象;
解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议;
基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器;
接收所述业务服务器返回的数据;
基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
将所述第一response对象转发给所述测试工程。
2.根据权利要求1所述的接口请求框架实现方法,其特征在于,所述解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议,包括:
解析所述request对象,获得所述request对象指定的请求类型;
根据所述request对象指定的请求类型,利用反射机制,构建linkd支持的请求协议和返回协议,或者http支持的请求协议和返回协议。
3.根据权利要求2所述的接口请求框架实现方法,其特征在于,所述request对象指定的请求类型为linkd或者http;
所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,包括:
若所述request对象指定的请求类型为linkd,基于linkd支持的请求协议,对所述request对象进行处理后通过linkd网络客户端发送至业务服务器;
若所述request对象指定的请求类型为http,基于http支持的请求协议,对所述request对象进行处理后通过http网络客户端发送至业务服务器。
4.根据权利要求2所述的接口请求框架实现方法,其特征在于,所述request对象指定的请求类型为linkd或者http;
所述基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象,包括:
若所述request对象指定的请求类型为linkd,基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
若所述request对象指定的请求类型为http,基于http支持的返回协议,对所述返回的数据进行处理,获得第一response对象。
5.根据权利要求1至4任意一项所述的接口请求框架实现方法,其特征在于,所述解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议,之后,所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器,之前,还包括:
判断所述request对象指定的请求类型是否支持构建的请求协议和返回协议;
若支持,进入执行所述基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器的步骤;
若不支持,生成用于指示所述request对象指定的请求类型不支持构建的请求协议和返回协议的第二response对象,将所述第二response对象转发给所述测试工程。
6.一种接口测试方法,其特征在于,包括步骤:
将权利要求1至5中任意一项方法实现的接口请求框架封装成若干个测试用例;
根据所述若干个测试用例对业务服务器的接口进行测试。
7.根据权利要求6所述的接口测试方法,其特征在于,所述根据所述若干个测试用例对业务服务器的接口进行测试,包括:
采用同一个测试用例对业务服务器的接口进行多次测试;
和/或,
从若干个测试用例中选取部分测试用例对业务服务器的接口进行测试;
和/或,
将若干个测试用例分发至不同的业务服务器进行接口测试。
8.根据权利要求6或7所述的接口测试方法,其特征在于,所述根据所述若干个测试用例对业务服务器的接口进行测试,之后,还包括:
生成业务服务器的自动化校验结果报告。
9.一种接口请求框架实现装置,其特征在于,应用在被测应用中,包括:
request对象接收模块,用于接收测试工程发送的request对象;
协议构建模块,用于解析所述request对象,利用反射机制构建linkd支持的请求协议和返回协议;
request对象发送模块,用于基于linkd支持的请求协议,对所述request对象进行处理后发送至业务服务器;
返回数据接收模块,用于接收所述业务服务器返回的数据;
第一response对象获得模块,用于基于linkd支持的返回协议,对所述返回的数据进行处理,获得第一response对象;
第一response对象转发模块,用于将所述第一response对象转发给所述测试工程。
10.一种接口测试装置,其特征在于,包括:
测试用例生成模块,用于将权利要求9中装置实现的接口请求框架封装成若干个测试用例;
测试模块,用于根据所述若干个测试用例对业务服务器的接口进行测试。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任意一项所述的接口请求框架实现方法,或者权利要求6至8中任意一项所述的接口测试方法。
12.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至5中任意一项所述的接口请求框架实现方法,或者权利要求6至8中任意一项所述的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810847979.4A CN109120473B (zh) | 2018-07-27 | 2018-07-27 | 接口请求框架实现方法、接口测试方法及其对应的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810847979.4A CN109120473B (zh) | 2018-07-27 | 2018-07-27 | 接口请求框架实现方法、接口测试方法及其对应的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120473A true CN109120473A (zh) | 2019-01-01 |
CN109120473B CN109120473B (zh) | 2020-11-03 |
Family
ID=64863464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810847979.4A Active CN109120473B (zh) | 2018-07-27 | 2018-07-27 | 接口请求框架实现方法、接口测试方法及其对应的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120473B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094254A (zh) * | 2019-12-23 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 业务系统的测试方法和装置、存储介质及电子装置 |
CN113448689A (zh) * | 2021-07-09 | 2021-09-28 | 中国银行股份有限公司 | 运行期Dubbo协议转换装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096631A (zh) * | 2009-12-11 | 2011-06-15 | 华为技术有限公司 | 接口测试方法及装置 |
US20150012911A1 (en) * | 2012-01-31 | 2015-01-08 | United States Government As Represented By The Secretary Of The Navy | Interface simulator for test rig in data distribution service |
CN106294138A (zh) * | 2016-07-29 | 2017-01-04 | 东软集团股份有限公司 | 测试用例生成方法和装置 |
CN106993043A (zh) * | 2017-04-06 | 2017-07-28 | 上海木爷机器人技术有限公司 | 基于代理的数据通信系统和方法 |
CN106991040A (zh) * | 2016-07-20 | 2017-07-28 | 平安科技(深圳)有限公司 | 数据接口测试方法和装置 |
CN107517188A (zh) * | 2016-06-16 | 2017-12-26 | 大唐软件技术股份有限公司 | 一种基于安卓系统的数据处理方法和装置 |
CN108089972A (zh) * | 2016-11-22 | 2018-05-29 | 北京京东尚科信息技术有限公司 | 接口测试方法及装置 |
-
2018
- 2018-07-27 CN CN201810847979.4A patent/CN109120473B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096631A (zh) * | 2009-12-11 | 2011-06-15 | 华为技术有限公司 | 接口测试方法及装置 |
US20150012911A1 (en) * | 2012-01-31 | 2015-01-08 | United States Government As Represented By The Secretary Of The Navy | Interface simulator for test rig in data distribution service |
CN107517188A (zh) * | 2016-06-16 | 2017-12-26 | 大唐软件技术股份有限公司 | 一种基于安卓系统的数据处理方法和装置 |
CN106991040A (zh) * | 2016-07-20 | 2017-07-28 | 平安科技(深圳)有限公司 | 数据接口测试方法和装置 |
CN106294138A (zh) * | 2016-07-29 | 2017-01-04 | 东软集团股份有限公司 | 测试用例生成方法和装置 |
CN108089972A (zh) * | 2016-11-22 | 2018-05-29 | 北京京东尚科信息技术有限公司 | 接口测试方法及装置 |
CN106993043A (zh) * | 2017-04-06 | 2017-07-28 | 上海木爷机器人技术有限公司 | 基于代理的数据通信系统和方法 |
Non-Patent Citations (1)
Title |
---|
商城研发POP平台: "《京东系统质量保障技术实战》", 31 October 2017 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094254A (zh) * | 2019-12-23 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 业务系统的测试方法和装置、存储介质及电子装置 |
CN113448689A (zh) * | 2021-07-09 | 2021-09-28 | 中国银行股份有限公司 | 运行期Dubbo协议转换装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109120473B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365770B (zh) | 移动终端软件测试系统及软件测试方法 | |
CN111159049B (zh) | 接口自动化测试方法及系统 | |
US20150074647A1 (en) | Testing system for an integrated software system | |
CN104636254B (zh) | 生成测试用例的方法和装置、测试方法和设备 | |
CN106776280B (zh) | 可配置性能测试装置 | |
CN106294094B (zh) | 游戏服务器的测试方法、客户端、服务器及系统 | |
CN110944048B (zh) | 业务逻辑配置方法及装置 | |
CN111124919A (zh) | 一种用户界面的测试方法、装置、设备及存储介质 | |
US20180322037A1 (en) | Impersonation in test automation | |
CN107704393B (zh) | 数据测试方法、装置及电子设备 | |
CN107239271A (zh) | 开发文档生成方法及装置 | |
CN108959068A (zh) | 软件界面测试方法、设备及存储介质 | |
WO2014088398A1 (en) | Automated test environment deployment with metric recommender for performance testing on iaas cloud | |
CN107145438A (zh) | 代码测试方法、代码测试装置及代码测试系统 | |
CN106293687B (zh) | 一种打包流程的控制方法,及装置 | |
CN117370203B (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
Grønli et al. | Meeting quality standards for mobile application development in businesses: A framework for cross-platform testing | |
Lei et al. | Performance and scalability testing strategy based on kubemark | |
CN109120473A (zh) | 接口请求框架实现方法、接口测试方法及其对应的装置 | |
CN109992509A (zh) | 测试用例的自动化执行方法、装置、电子设备 | |
CN105739481B (zh) | 工控软件的测试方法、装置及系统 | |
Marin et al. | Towards testing future web applications | |
CN109240923A (zh) | 接口测试脚本的生成方法及计算机可读存储介质 | |
US20050044136A1 (en) | System and methods for synchronizing software execution across data processing systems and platforms | |
CN103678485B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221123 Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: Building B-1, North District, Wanda Commercial Plaza, Wanbo business district, No. 79, Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd. |