CN116795668A - 一种测试方法、装置、终端及云平台 - Google Patents
一种测试方法、装置、终端及云平台 Download PDFInfo
- Publication number
- CN116795668A CN116795668A CN202210253121.1A CN202210253121A CN116795668A CN 116795668 A CN116795668 A CN 116795668A CN 202210253121 A CN202210253121 A CN 202210253121A CN 116795668 A CN116795668 A CN 116795668A
- Authority
- CN
- China
- Prior art keywords
- contract
- terminal
- file
- cloud platform
- expected response
- 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
- 238000010998 test method Methods 0.000 title claims description 14
- 238000004088 simulation Methods 0.000 claims abstract description 110
- 238000012360 testing method Methods 0.000 claims abstract description 106
- 230000004044 response Effects 0.000 claims abstract description 91
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000006399 behavior Effects 0.000 claims description 49
- 238000012795 verification Methods 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
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
本发明提供一种测试方法、装置、终端及云平台,涉及通信技术领域。该方法包括:获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。本发明的方案,解决了现有的契约测试框架不能满足端云通信场景的测试需求的问题。
Description
技术领域
本发明涉及通信技术领域,特别是指一种测试方法、装置、终端及云平台。
背景技术
随着物联网技术的发展,物联网设备数量呈指数级增加,大量的终端设备通过各种协议组件接入到设备网关,进而接入到物联网云平台。在实际的物联网产品研发过程中,需要先对终端设备、物联网云平台分别进行开发、测试;然后进行端到端的联调、集成测试,来保障终端能正常接入云平台和数据交互。通常情况下,终端和云平台都是由不同的团队开发维护的,一方更改了接口或交互方式,需要及时通知到对方。
当对云平台进行变更的时候,需要配套终端设备,覆盖所有相关的协议,进行端到端的测试,来确保终端和云平台的通信。这种方式需要很多人力成本和技术支持来完成版本配套测试和跨产品问题的定位排查。由于每个产品都是独立于其它产品的,接口的更改无法被编译器检测到,而现有契约测试框架主要运行在资源丰富的计算机上,不支持在嵌入式终端侧生成契约文件,即使将其移植到嵌入式设备,计算资源通常也不满足要求,导致产品间的不兼容很可能会发生且很难被检测,兼容性很容易被破环。
发明内容
本发明的目的是提供一种测试方法、装置、终端及云平台,解决了现有的契约测试框架不支持在嵌入式终端侧生成契约文件,不能满足端云通信场景下的测试需求的问题。
为达到上述目的,本发明的实施例提供一种测试方法,应用于终端,包括:
获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
可选地,所述生成契约文件之后,所述方法还包括:
将所述契约文件存储在契约仓库中,以使所述云平台校验所述契约文件。
可选地,所述获取测试脚本包括:
基于JSON((JavaScript Object Notation,JS对象简谱))格式定义所述行为描述文件;
通过文件解析器对所述行为描述文件进行词法分析和语法分析,生成JSON对象;
根据所述JSON对象,通过脚本生成器生成可在所述终端运行的所述测试脚本。
可选地,上述测试方法还包括:
通过消费组件初始化所述终端的名称、版本号和代码标签,并挂载到契约组件;
通过所述契约组件启用契约服务,建立所述终端与所述模拟服务器之间的通道,并启动监听器对所述通道进行监听;
在每次交互完成后,通过所述监听器回调校验组件对所述模拟服务器的响应结果进行确认。
为达到上述目的,本发明的实施例提供一种测试方法,应用于云平台,包括:
通过模拟客户端,获取终端生成的契约文件;
基于所述契约文件,通过所述模拟客户端,进行契约校验;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
可选地,所述获取终端生成的契约文件,包括:
通过所述模拟客户端,从契约仓库中获取所述契约文件。
可选地,所述基于所述契约文件,通过所述模拟客户端,进行契约校验,包括:
接收所述模拟客户端发送的请求;
根据所述请求,向所述模拟客户端发送响应消息;其中,所述模拟客户端基于所述契约文件对所述响应消息进行契约校验。
为达到上述目的,本发明的实施例提供一种测试装置,应用于终端,包括:
第一获取模块,用于获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
测试模块,用于在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
为达到上述目的,本发明的实施例提供一种测试装置,应用于云平台,包括:
第二获取模块,用于通过模拟客户端,获取终端生成的契约文件;
校验模块,用于基于所述契约文件,通过所述模拟客户端,进行契约校验;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
为达到上述目的,本发明的实施例提供一种终端,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所程序或指令时实现如上应用于终端侧的测试方法。
为达到上述目的,本发明的实施例提供一种云平台,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所程序或指令时实现如上应用于云平台侧的测试方法。
为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的测试方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例的方法,终端通过获取测试脚本,该测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;进一步在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。如此,实现了通过预定义行为描述文件,生成测试脚本,终端在执行测试脚本时,所有的交互记录到契约文件中,从而解决了终端侧无法生成契约文件的问题。
附图说明
图1为本发明实施例的测试方法的流程图;
图2为本发明实施例的系统架构示意图;
图3为另一实施例的测试方法的流程图;
图4为本发明实施例的测试装置的结构图;
图5为本发明另一实施例的测试装置的结构图;
图6为本发明实施例的终端的结构图;
图7为本发明实施例的云平台的结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
如图1所示,本发明实施例的一种测试方法,应用于终端,包括:
步骤101,获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
该步骤中,行为描述文件预定义了终端与云平台的交互行为,即不同请求内容与期望响应的对应关系。测试脚本通过串口发送至终端,终端在接收到AT指令后触发执行测试脚本。AT即Attention,每个AT命令行中只能包含一条AT指令。
步骤102,在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,契约文件定义了云平台和终端必须遵守的约定。具体的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
该步骤中,模拟服务器独立与终端部署。通过模拟服务器读取预定义的行为描述文件,终端发送请求到模拟服务器时,模拟服务器根据接收的请求内容,返回预定义的期望响应。其中,在行为描述文件中定义的请求均得到正确的期望响应的情况下,生成契约文件;否则,表明代码有误,需要对代码进行修复。
上述实施例中,能够实现在终端执行测试脚本的过程中,完成契约文件的生成,同时完成对终端的测试,解决了终端侧无法生成契约文件的问题。而且,现有契约测试框架通常使用高级语言开发,模拟服务与测试框架耦合在一起,占用资源较多,主要运行在计算资源丰富的计算机,不适用于嵌入式终端,本申请将模拟服务与测试框架分离,基于嵌入式测试框架进行契约测试,有效降低了对终端侧的资源消耗。
在一实施例中,步骤102之后,上述方法还包括:
将所述契约文件存储在契约仓库中,以使所述云平台校验所述契约文件。
该实施例中,契约仓库用于对契约文件进行版本控制,云平台可以对目标特定版本的契约文件进行检验,终端设备和云平台可以共享仓库中的契约文件。
在一实施例中,步骤101包括:
基于JSON格式定义所述行为描述文件;
通过文件解析器对所述行为描述文件进行词法分析和语法分析,生成JSON对象;
根据所述JSON对象,通过脚本生成器生成可在所述终端运行的所述测试脚本。
该实施例中,行为描述文件为JSON文件,一个JSON文件可定义一次或多次交互,每次交互以字段“logic”标识。预定义的内容主要有动作,请求参数,响应结果。其中,动作是指端侧发起本次交互的接口函数名称,请求参数为传递给接口函数的实参,响应结果是期望平台侧返回的响应。
示例性地,JSON文件的格式如下:
在一实施例中,通过文件解析器对预定义的行为描述文件进行词法分析和语法分析,生成JSON对象,具体的解析方式包括:根据动作对应的值,在测试脚本中调用终端侧发起本次交互的函数,请求参数对应的值解析为函数的入参,对响应结果进行断言(即校验)。同时,文件解析器还将一些预期状态信息传递到云平台,云平台就可以发送符合端侧预期的响应。
进一步地,脚本生成器根据文件解析器的结果,生成可在终端运行的测试脚本,一个JSON文件对应一个测试脚本,然后自动通过串口将测试脚本下发到终端。
在一实施例中,上述方法还包括:
通过消费组件初始化所述终端的名称、版本号和代码标签,并挂载到契约组件;
通过所述契约组件启用契约服务,建立所述终端与所述模拟服务器之间的通道,并启动监听器对所述通道进行监听;
在每次交互完成后,通过所述监听器回调校验组件对所述模拟服务器的响应结果进行确认。
上述实施例中,为了支持在资源受限的嵌入式终端上运行契约测试脚本,生成契约文件,在现有的测试框架中增加消费组件(consumer)、契约组件(contract)和检验组件(virifier),以实现对模拟服务器返回的响应的监听和确认。其中,若响应符合预期,则返回成功,并将请求消息和响应消息转换为JSON格式,写入契约文件,同步推送到契约仓库中;若响应不符合预期,则返回失败。实现了在执行测试脚本时,所有的交互记录到契约文件中,从而解决了生成契约文件的问题。
如图3所示,本发明实施例的一种测试方法,应用于云平台,包括:
步骤201,通过模拟客户端,获取终端生成的契约文件;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
该步骤中,MOCK客户端配置有契约文件的获取路径、云平台的IP地址和端口号,这样,模拟客户端能够根据获取路径读取契约文件,并基于云平台的IP地址和端口号与云平台进行交互。
步骤202,基于所述契约文件,通过所述模拟客户端,进行契约校验;
该步骤中,模拟客户端支持解析契约文件,自动回放预期交互。在执行命令校验契约时,该模块会加载定义路径下的所有契约文件,并重放那些和当前云平台名字相符的契约,进一步基于模拟客户端与云平台的交互对契约文件进行校验。
上述实施例中,能够实现在云平台侧对契约文件进行校验,当契约文件校验失败时,则表明设备间的接口不能正常交互,进一步通过对比分析契约文件和预先定义的接口文档,排查接口实现是否与接口设计文档一致,便于提前发现和定位接口兼容性的问题,提升测试的有效性,解决了现有的测试技术无法及时识别跨设备的接口变动的问题。
在一实施例中,步骤201包括:
通过所述模拟客户端,从契约仓库中获取所述契约文件。
该实施例中,契约仓库用于对契约文件进行版本控制,云平台可以对目标特定版本的契约文件进行检验,终端设备和云平台可以共享仓库中的契约文件。
在一实施例中,步骤202包括:
接收所述模拟客户端发送的请求;
根据所述请求,向所述模拟客户端发送响应消息;其中,所述模拟客户端基于所述契约文件对所述响应消息进行契约校验。
该实施例中,模拟客户端执行契约校验命令“contract test”,读取契约文件并进行解析,生成请求消息和预期响应,将请求消息发送到云平台,云平台返回响应消息,模拟客户端调用契约校验模块对响应消息和预期响应进行校验,当所有的契约校验通过时,检验通过;否则,契约检验不通过。
参见图3所示,其示出的是云平台与终端的系统架构示意图。如图3中,基于行为描述文件、文件解析器和脚本生成器生成测试脚本并传至终端,终端在执行测试脚本的过程中,通过向MOCK服务器(模拟服务器)发送请求,获得模拟服务器反馈的响应消息。通过消费组件(consumer)、契约组件(contract)和检验组件(virifier)对响应消息进行监听和确认,并在确认全部请求均得到正确的期待响应的情况下,生成契约文件,将契约文件存入契约仓库,待云平台进行检验。云平台与MOCK客户端(模拟客户端)进行通信,完成对契约仓库中的目标契约文件的契约校验。需要说明的是,图3中的atest是一种测试框架的名字。
如图4所示,本发明实施例的一种测试装置400,应用于终端,包括:
第一获取模块401,用于获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
测试模块402,用于在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
可选地,装置400还包括:
第一处理模块,用于将所述契约文件存储在契约仓库中,以使所述云平台校验所述契约文件。
可选地,第一获取模块401包括:
定义模块,用于基于JSON格式定义所述行为描述文件;
解析模块,用于通过文件解析器对所述行为描述文件进行词法分析和语法分析,生成JSON对象;
生成模块,用于根据所述JSON对象,通过脚本生成器生成可在所述终端运行的所述测试脚本。
可选地,装置400还包括:
第二处理模块,用于通过消费组件初始化所述终端的名称、版本号和代码标签,并挂载到契约组件;
第三处理模块,用于通过所述契约组件启用契约服务,建立所述终端与所述模拟服务器之间的通道,并启动监听器对所述通道进行监听;
第四处理模块,用于在每次交互完成后,通过所述监听器回调校验组件对所述模拟服务器的响应结果进行确认。
本申请实施例提供的测试装置400能够实现上述应用于终端侧的方法实施例实现的各个过程,为避免重复,这里不再赘述。
如图5所示,本发明实施例的一种测试装置500,应用于云平台,包括:
第二获取模块501,用于通过模拟客户端,获取终端生成的契约文件;
校验模块502,用于基于所述契约文件,通过所述模拟客户端,进行契约校验;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
可选地,第二获取模块501包括:
第一获取子模块,用于通过所述模拟客户端,从契约仓库中获取所述契约文件。
可选地,校验模块502包括:
第一接收模块,用于接收所述模拟客户端发送的请求;
第一发送模块,用于根据所述请求,向所述模拟客户端发送响应消息;其中,所述模拟客户端基于所述契约文件对所述响应消息进行契约校验。
本申请实施例提供的测试装置500能够实现上述应用于云平台侧的方法实施例实现的各个过程,为避免重复,这里不再赘述。
本发明另一实施例的终端,如图6所示,包括收发器610、处理器600、存储器620及存储在所述存储器620上并可在所述处理器600上运行的程序或指令;所述处理器600执行所述程序或指令时实现如下步骤:
获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
所述收发器610,用于在处理器600的控制下接收和发送数据。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口630还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
可选地,所述处理器700执行所述程序或指令时还实现如下步骤:
将所述契约文件存储在契约仓库中,以使所述云平台校验所述契约文件。
可选地,所述处理器700执行所述程序或指令时还实现如下步骤:
基于JSON格式定义所述行为描述文件;
通过文件解析器对所述行为描述文件进行词法分析和语法分析,生成JSON对象;
根据所述JSON对象,通过脚本生成器生成可在所述终端运行的所述测试脚本。
可选地,所述处理器700执行所述程序或指令时还实现如下步骤:
通过消费组件初始化所述终端的名称、版本号和代码标签,并挂载到契约组件;
通过所述契约组件启用契约服务,建立所述终端与所述模拟服务器之间的通道,并启动监听器对所述通道进行监听;
在每次交互完成后,通过所述监听器回调校验组件对所述模拟服务器的响应结果进行确认。
该实施例中的终端,能够实现在执行测试脚本的过程中,完成契约文件的生成,同时完成对终端的测试,解决了终端侧无法生成契约文件的问题。而且,现有契约测试框架通常使用高级语言开发,模拟服务与测试框架耦合在一起,占用资源较多,主要运行在计算资源丰富的计算机,不适用于嵌入式终端,本申请将模拟服务与测试框架分离,基于嵌入式测试框架进行契约测试,有效降低了对终端侧的资源消耗。
本发明另一实施例的一种云平台,如图7所示,包括收发器710、处理器700、存储器720及存储在所述存储器720上并可在所述处理器700上运行的程序或指令;所述处理器700执行所述程序或指令时实现如下步骤:
通过模拟客户端,获取终端生成的契约文件;
基于所述契约文件,通过所述模拟客户端,进行契约校验;其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
所述收发器710,用于在处理器700的控制下接收和发送数据。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器700代表的一个或多个处理器和存储器720代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器710可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器700负责管理总线架构和通常的处理,存储器720可以存储处理器700在执行操作时所使用的数据。
可选地,所述处理器700执行所述程序或指令时还实现如下步骤:
通过所述模拟客户端,从契约仓库中获取所述契约文件。
可选地,所述处理器700执行所述程序或指令时还实现如下步骤:
接收所述模拟客户端发送的请求;
根据所述请求,向所述模拟客户端发送响应消息;其中,所述模拟客户端基于所述契约文件对所述响应消息进行契约校验。
该实施例中的云平台,能够实现对契约文件进行校验,当契约文件校验失败时,则表明设备间的接口不能正常交互,进一步通过对比分析契约文件和预先定义的接口文档,排查接口实现是否与接口设计文档一致,便于提前发现和定位接口兼容性的问题,提升测试的有效性,解决了现有的测试技术无法及时识别跨设备的接口变动的问题。
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的测试方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种测试方法,其特征在于,应用于终端,包括:
获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
2.根据权利要求1所述的测试方法,其特征在于,所述生成契约文件之后,所述方法还包括:
将所述契约文件存储在契约仓库中,以使所述云平台校验所述契约文件。
3.根据权利要求1所述的测试方法,其特征在于,所述获取测试脚本包括:
基于JSON格式定义所述行为描述文件;
通过文件解析器对所述行为描述文件进行词法分析和语法分析,生成JSON对象;
根据所述JSON对象,通过脚本生成器生成可在所述终端运行的所述测试脚本。
4.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:
通过消费组件初始化所述终端的名称、版本号和代码标签,并挂载到契约组件;
通过所述契约组件启用契约服务,建立所述终端与所述模拟服务器之间的通道,并启动监听器对所述通道进行监听;
在每次交互完成后,通过所述监听器回调校验组件对所述模拟服务器的响应结果进行确认。
5.一种测试方法,其特征在于,应用于云平台,包括:
通过模拟客户端,获取终端生成的契约文件;
基于所述契约文件,通过所述模拟客户端,进行契约校验;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
6.根据权利要求5所述的测试方法,其特征在于,所述获取终端生成的契约文件,包括:
通过所述模拟客户端,从契约仓库中获取所述契约文件。
7.根据权利要求5所述的测试方法,其特征在于,所述基于所述契约文件,通过所述模拟客户端,进行契约校验,包括:
接收所述模拟客户端发送的请求;
根据所述请求,向所述模拟客户端发送响应消息;其中,所述模拟客户端基于所述契约文件对所述响应消息进行契约校验。
8.一种测试装置,其特征在于,应用于终端,包括:
第一获取模块,用于获取测试脚本,所述测试脚本是根据行为描述文件生成的,且所述行为描述文件预定义有所述终端的请求内容和期待云平台反馈的期望响应;
测试模块,用于在执行测试脚本的过程中,向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下,生成契约文件;
其中,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于所述行为描述文件反馈的。
9.一种测试装置,其特征在于,应用于云平台,包括:
第二获取模块,用于通过模拟客户端,获取终端生成的契约文件;
校验模块,用于基于所述契约文件,通过所述模拟客户端,进行契约校验;
其中,所述契约文件是所述终端在执行测试脚本的过程中,通过向模拟服务器发送请求,并在确定所述模拟服务器返回正确的期待响应的情况下生成的,所述契约文件用于定义所述终端的请求内容和期待云平台反馈的期望响应;所述正确的期待响应是所述模拟服务器基于行为描述文件反馈的。
10.一种终端,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-4任一项所述的测试方法。
11.一种云平台,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求5-7任一项所述的测试方法。
12.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210253121.1A CN116795668A (zh) | 2022-03-15 | 2022-03-15 | 一种测试方法、装置、终端及云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210253121.1A CN116795668A (zh) | 2022-03-15 | 2022-03-15 | 一种测试方法、装置、终端及云平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795668A true CN116795668A (zh) | 2023-09-22 |
Family
ID=88035110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210253121.1A Pending CN116795668A (zh) | 2022-03-15 | 2022-03-15 | 一种测试方法、装置、终端及云平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795668A (zh) |
-
2022
- 2022-03-15 CN CN202210253121.1A patent/CN116795668A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133180B (zh) | 动态页面的测试方法、测试装置及存储介质 | |
US20110289484A1 (en) | Method and System for Script Processing for Web-Based Applications | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN111597110B (zh) | 页面测试方法、装置、电子设备及存储介质 | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN103023708A (zh) | 通信协议接口的测试方法及系统 | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN115065652B (zh) | 消息回复方法、装置、存储介质及计算机设备 | |
CN111522727A (zh) | 一种模拟对象测试方法、设备和系统 | |
CN101964923A (zh) | 交互式命令的配置系统及方法 | |
CN112416739A (zh) | 测试方法、装置以及电子设备 | |
CN107172013B (zh) | 一种数据传输方法及系统 | |
CN111782420B (zh) | 基于Java Web框架的信息处理方法、装置、设备和介质 | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN116795668A (zh) | 一种测试方法、装置、终端及云平台 | |
CN114500510B (zh) | 请求信息响应方法、装置、通信设备及存储介质 | |
CN112256564B (zh) | 应用程序的运行方法、装置及电子设备 | |
CN114880018A (zh) | 请求处理方法及装置、存储介质及电子设备 | |
CN114090435A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN113626330A (zh) | 混合模式移动应用调试方法及系统 | |
CN110011894B (zh) | 一种弹幕消息模拟方法及装置 | |
CN111082984A (zh) | 模拟登录网络设备进行命令行交互的方法和装置 | |
CN115473832B (zh) | 车联网端云通信测试方法、装置、服务器、客户端及系统 | |
CN112948269B (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 |