一种应用程序编程接口的测试方法及装置制造方法及图纸

技术编号:19176976 阅读:32 留言:0更新日期:2018-10-17 00:18
本申请公开了一种API的测试方法及装置,用以解决现有技术中存在的接口对接测试准确性较低的问题。方法包括:根据第一API的元数据,生成第一API与第二API间的测试用例和模拟测试桩,第一API和第二API为生产环境包含的多个API中任意两个不同的API,第一API的元数据用于表征第一API的接口信息;调用模拟测试桩在生产环境中执行测试用例;若测试用例执行通过,则确定第一API与第二API间的接口对接测试成功。

A test method and device for application programming interface

This application discloses an API test method and device to solve the problem of low accuracy of interface docking test in the prior art. Methods include: according to the metadata of the first API, test cases and simulation test piles between the first API and the second API are generated; the first API and the second API are any two different APIs in the multiple APIs contained in the production environment; the metadata of the first API is used to represent the interface information of the first API; and the simulation test piles are invoked in the production environment. Row test cases; if test case execution passes, determine that the interface docking test between the first API and the second API is successful.

【技术实现步骤摘要】
一种应用程序编程接口的测试方法及装置
本申请涉及计算机
,尤其涉及一种应用程序编程接口(ApplicationProgrammingInterface,API)的测试方法及装置。
技术介绍
在通信
,尤其是在复杂的信息技术/通信技术(InformationTechonology/CommunicationTechonology,IT/CT)系统中,常常涉及多个API之间的集成对接。在对系统中的API进行接口对接测试时,通常采用如下方法:调研人员对系统中的API进行调研,形成API的调研文档;然后经研发人员与调研人员反复确定调研文档的技术细节;调研文档交由测试人员后,由测试人员根据调研文档搭建测试环境,然后在搭建的测试环境中对每两个API进行接口对接测试。上述API的接口对接测试方法存在如下缺陷:API的接口对接测试是基于测试人员搭建的测试环境进行的,实现时难以保证测试环境与真实的生产环境的一致性,从而影响接口对接测试的准确性。综上,现有技术中提供的方案中,存在接口对接测试的准确性较低的问题。
技术实现思路
本申请提供一种API的测试方法及装置,用以解决现有技术中存在的接口对接测试准确性较低的问题。第一方面,本申请实施例提供一种API的测试方法。该方法包括如下步骤:根据第一API的元数据,生成第一API与第二API间的测试用例和模拟测试桩;调用模拟测试桩在生产环境中执行测试用例;若测试用例执行通过,则确定第一API与第二API间的接口对接测试成功。其中,第一API和第二API为生产环境包含的多个API中任意两个不同的API,第一API的元数据用于表征第一API的接口信息。在第一方面提供的API的测试方法中,根据第一API的元数据,生成第一API与第二API间的测试用例和模拟测试桩,然后通过调用模拟测试桩在生产环境中执行测试用例,在测试用例执行通过时确定第一API与第二API间的接口对接测试成功。由于第一方面提供的方法是在生产环境中,通过调用模拟测试桩来执行测试用例实现的,因此采用第一方面提供的方法对API进行接口对接测试,测试的准确性更高。基于第一方面,在一种可能的实现方式中,在调用模拟测试桩在生产环境中执行测试用例之后,还包括:若测试用例未执行通过,则修正第一API的元数据;然后,根据修正后的第一API的元数据,更新第一API与第二API间的测试用例和模拟测试桩;调用更新后的模拟测试桩在生产环境中执行更新后的测试用例,直至更新后的测试用例执行通过。由于第一API的元数据可能存在错误,因此,当第一API与第二API的测试用例未执行通过时,即可认为第一API的元数据中存在错误,此时需要对第一API的元数据进行修正。通过对第一API的元数据进行修正,可以提高第一API的元数据的准确性,使得第一API的元数据能更真实地表征第一API的接口信息,从而提高接口对接测试的准确性。在第一方面提供的方法中,测试用例未执行通过的原因有多种。针对不同原因,对第一API的元数据进行修正的方式也不同。下面仅列举其中三种情况:第一种情况若确定测试用例未执行通过的原因为第一API的元数据缺失可选字段,则在第一API的元数据中增加可选字段。第二种情况若确定测试用例未执行通过的原因为第一API中未携带第一API的元数据中定义的必选字段,则将第一API的元数据中定义的必选字段修正为可选字段。第三种情况若确定测试用例未执行通过的原因为传输数据的数据类型与第一API的元数据中定义的数据类型不一致,则将测试用例未执行通过的信息记录入第一API对应的接口日志中,并根据录入了上述信息的接口日志修正第一API的元数据。比如,若第一API的元数据中定义的数据类型为数字类型,而传输数据的数据类型为字符串类型,那么测试用例则会执行不通过。此时可将测试用例未执行通过的信息记录在第一API对应的接口日志中,后续即可根据第一API对应的接口日志修正第一API的元数据。基于第一方面,在一种可能的实现方式中,在确定第一API与第二API间的接口对接测试成功之后,还包括:录制第一API与第二API间的调测环境信息,调测环境信息包含第一API与第二API间的接口契约、第一API对应的接口日志和测试用例,调测环境信息用于在开发环境中生成模拟生产环境的联调环境。在开发环境中导入多个API中任意两个不同的API生成的多个调测环境信息,即可生成模拟生产环境的联调环境。生成模拟生产环境的联调环境后,即可在联调环境中对系统中的多个接口进行接口对接测试,而不必再在生产环境中进行接口对接测试。从而避免系统中的API在研发阶段进行不断修改时,需要频繁在生产环境中进行接口对接测试的问题。基于第一方面,在一种可能的实现方式中,在生成模拟生产环境的联调环境之后,还可调用预先编译的第一API的实际测试桩在联调环境中执行测试用例,若测试用例执行通过,则确定该实际测试桩无误;若测试用例未执行通过,则调用修改后的所述实际测试桩在联调环境中执行所述测试用例,直至测试用例执行通过。需要说明的是,在联调环境中调用实际测试桩执行测试用例的过程,与在生产环境中调用模拟测试桩执行测试用例的过程略有不同:在生产环境中执行测试用例时,第一API的请求消息或应答消息是模拟测试桩发送的,第二API的应答消息或请求消息是该第二API实体发送的;而在联调环境中执行测试用例时,第一API的请求消息或应答消息是通过调用研发人员编写的程序代码实现的,第二API的应答消息或请求消息是联调环境模拟发送的。因此,调用实际测试桩在联调环境中执行测试用例时,若测试用例未执行通过,说明研发人员编写的程序代码中存在错误,从而帮助研发人员改进程序代码,指导开发过程。基于第一方面,在一种可能的实现方式中,若第一API处于客户端中,第二API处于服务端中,则预设的第一API与第二API间的接口契约包含第一API的接口信息、第二API的接口信息、第一API向第二API的请求信息、第二API向第一API的应答信息、以及第一API与第二API间的交互上下文信息;若第一API处于服务端中,第二API处于客户端中,则预设的第一API与第二API间的接口契约包含第一API的接口信息、第二API的接口信息、第一API向第二API的应答信息、第二API向第一API的请求信息、以及第一API与第二API间的交互上下文信息。第二方面,本申请提供一种API的测试装置,该装置包括第一生成模块、调用模块和第一确定模块。第一生成模块用于根据第一API的元数据,生成第一API与第二API间的测试用例和模拟测试桩;调用模块用于调用模拟测试桩在生产环境中执行测试用例;第一确定模块用于在测试用例执行通过时,确定第一API与第二API间的接口对接测试成功。其中,第一API和第二API为生产环境包含的多个API中任意两个不同的API,第一API的元数据用于表征第一API的接口信息。在第二方面提供的API的测试装置中,第一生成模块根据第一API的元数据,生成第一API与第二API间的测试用例和模拟测试桩,然后调用模块通过调用模拟测试桩在生产环境中执行测试用例,第一确定模块在测试用例执行通过时确定第一API与第二API间的接口对接测试成功。由于采用第二方面提供的API的本文档来自技高网...

【技术保护点】
1.一种应用程序编程接口API的测试方法,其特征在于,包括:根据第一API的元数据,生成所述第一API与第二API间的测试用例和模拟测试桩,所述第一API和所述第二API为生产环境包含的多个API中任意两个不同的API,所述第一API的元数据用于表征所述第一API的接口信息;调用所述模拟测试桩在所述生产环境中执行所述测试用例;若所述测试用例执行通过,则确定所述第一API与所述第二API间的接口对接测试成功。

【技术特征摘要】
1.一种应用程序编程接口API的测试方法,其特征在于,包括:根据第一API的元数据,生成所述第一API与第二API间的测试用例和模拟测试桩,所述第一API和所述第二API为生产环境包含的多个API中任意两个不同的API,所述第一API的元数据用于表征所述第一API的接口信息;调用所述模拟测试桩在所述生产环境中执行所述测试用例;若所述测试用例执行通过,则确定所述第一API与所述第二API间的接口对接测试成功。2.如权利要求1所述的方法,其特征在于,在调用所述模拟测试桩在所述生产环境中执行所述测试用例之后,还包括:若所述测试用例未执行通过,则修正所述第一API的元数据;根据修正后的第一API的元数据,更新所述第一API与第二API间的测试用例和模拟测试桩;调用更新后的所述模拟测试桩在所述生产环境中执行更新后的所述测试用例,直至更新后的所述测试用例执行通过。3.如权利要求2所述的方法,其特征在于,修正所述第一API的元数据,包括:若确定所述测试用例未执行通过的原因为所述第一API的元数据缺失可选字段,则在所述第一API的元数据中增加所述可选字段;若确定所述测试用例未执行通过的原因为所述第一API中未携带所述第一API的元数据中定义的必选字段,则将所述第一API的元数据中定义的所述必选字段修正为可选字段;若确定所述测试用例未执行通过的原因为传输数据的数据类型与所述第一API的元数据中定义的数据类型不一致,则将所述测试用例未执行通过的信息记录入所述第一API对应的接口日志中,并根据录入了所述信息的接口日志修正所述第一API的元数据。4.如权利要求1~3任一项所述的方法,其特征在于,在确定所述第一API与所述第二API间的接口对接测试成功之后,还包括:录制所述第一API与所述第二API间的调测环境信息,所述调测环境信息包含所述第一API与所述第二API间的接口契约、所述第一API对应的接口日志和所述测试用例,所述调测环境信息用于在开发环境中生成模拟所述生产环境的联调环境。5.如权利要求4所述的方法,其特征在于,还包括:在所述开发环境中导入多个API中任意两个不同的API生成的多个调测环境信息,生成模拟所述生产环境的联调环境。6.如权利要求5所述的方法,其特征在于,在生成模拟所述生产环境的联调环境之后,还包括:调用预先编译的所述第一API的实际测试桩在所述联调环境中执行所述测试用例;若所述测试用例执行通过,则确定所述实际测试桩无误;若所述测试用例未执行通过,则调用修改后的所述实际测试桩在所述联调环境中执行所述测试用例,直至所述测试用例执行通过。7.如权利要求4~6任一项所述的方法,其特征在于,若所述第一API处于客户端中,所述第二API处于服务端中,则预设的所述第一API与所述第二API间的接口契约包含所述第一API的接口信息、所述第二API的接口信息、所述第一API向所述第二API的请求信息、所述第二API向所述第一API的应答信息、以及所述第一API与所述第二API间的交互上下文信息;若所述第一API处于服务端中,所述第二API处于客户端中,则预设的所述第一API与所述第二API间的接口契约包含所述第一API的接口信息、所述第二API的接口信息、所述第一API向所述第二API的应答信息、所述第二API向所述第一API的请求信息、以及所述第一API与所述第二API间的交互上下文信息。8.一种应用程序编程接口API的测试装置,其特征在于,包括:第一生成模块,用于根据第一API的元数据,生成所述第一API与第二API间...

【专利技术属性】
技术研发人员:李林锋苗彩霞丁伟峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1