发明内容
本发明针对现有技术的缺点,提供了一种接口自动化测试方法、装置、计算机设备和存储介质,本发明实施例能够适应当前快速迭代版本的自动化测试,在涉及到紧急版本,尤其是底层代码改造或升级需要发布新版本时,能够快速准确地调用现有的查询接口来实现业务主流程的迅速覆盖。
本发明根据第一方面提供了一种接口自动化测试方法,在一个实施例中,该方法用于测试一个待测接口或同时测试多个待测接口;该方法包括:
从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;
执行接口测试脚本,以调用所有待测接口;
获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
在一个实施例中,从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本的步骤,包括:
从指定数据库中获取每个待测接口相关的输入参数信息;
根据每个待测接口相关的输入参数信息生成与每个待测接口对应的多条请求报文;
根据所有待测接口对应的多条请求报文生成接口测试脚本。
在一个实施例中,每个待测接口相关的输入参数信息包括多组入参信息,每组入参信息包括多个接口字段对应的入参值;一组入参信息用于生成一条请求报文;
根据任一个待测接口相关的输入参数信息所包括的一组入参信息,生成一条与该待测接口对应的请求报文的步骤,包括:
将任一个待测接口的一组入参信息包括的各个接口字段所对应的入参值,添加到各个接口字段对应的接口字段信息中进行报文组装,组装得到一条与该待测接口对应的请求报文。
在一个实施例中,根据所有待测接口对应的多条请求报文生成接口测试脚本的步骤,包括:
获取各个待测接口对应的预置测试类信息;
根据所有待测接口对应的多条请求报文和预置测试类信息生成一份接口测试脚本。
在一个实施例中,执行接口测试脚本,以调用所有待测接口的步骤,包括:
执行接口测试脚本,以通过每个待测接口将与其对应的多条请求报文发送给与其关联的被调用方;任一个待测接口关联的被调用方在接收到任一条与该待测接口对应的请求报文后生成一条相应的返回报文并将其返回。
在一个实施例中,获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有所述待测接口的测试结果的步骤,包括:
获取每个待测接口关联的被调用方返回的多条返回报文;
分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果。
在一个实施例中,分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果的步骤,包括:
获取每个待测接口相关的预指定的基线版本测试结果集,每个待测接口相关的基线版本测试结果集包括测试基线版本的该待测接口所获得的多条历史返回报文;
分别将每个待测接口关联的被调用方返回的多条返回报文作为与该待测接口相关的当前版本测试结果集,使用预置对比工具将与该待测接口相关的当前版本测试结果集与基线版本测试结果集进行二进制比对,根据与该待测接口相关的当前版本测试结果集与基线版本测试结果集之间的对比结果进行测试结果分析,获得该待测接口的测试结果。
本发明根据第二方面提供了一种接口自动化测试装置,在一个实施例中,该装置用于测试一个待测接口或同时测试多个待测接口;该装置包括:
接口测试脚本生成模块,用于从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;
接口测试脚本执行模块,用于执行接口测试脚本,以调用所有待测接口;
测试结果分析模块,用于获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,在测试时,从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;执行接口测试脚本,以调用所有待测接口;获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。本发明实施例能够适应当前快速迭代版本的自动化测试,在涉及到紧急版本,尤其是底层代码改造或升级需要发布新版本时,能够快速准确地调用现有的查询接口来实现业务主流程的迅速覆盖,将原本SAT自动化的执行时间从十几个小时直接缩短为几分钟,大大提升了测试人员的工作效率,节省了时间成本。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
新版本可能增加新的业务,若新的业务涉及到对现有查询接口的调用,比如,在订单查询场景中,新版本中新增的业务需要调用用于查询新业务订单的分布式远程调用服务(具体可以通过调用远程服务平台的订单查询接口来实现调用该分布式远程调用服务,实现调用的前置条件是调用方和被调用方都在远程服务平台注册过所调用的***和接口信息),那么在新版本正式发布前要对该新业务的所有主流程接口进行测试,以分析新版本的改动对现有的订单查询接口的影响,如果涉及到紧急版本,尤其是底层代码改造或升级需要发布新版本时,那么需要测试中能够实现更加快速准确地覆盖需要调用的接口。
然而,目前的接口测试方式较为复杂,共用的文件较多,冲突较多,使得测试人员维护的成本相对较高,并且该链路比较长,每条测试用例执行的时间较长,无法适应当前快速迭代版本的自动化测试,在涉及到紧急版本,尤其是底层代码改造或升级需要发布新版本时,更无法满足快速准确地调用现有的查询接口来实现业务主流程的迅速覆盖的需求。以测试订单查询接口为例,如图1所示,在以往的测试方式中,首先需要测试人员在excel文档中手动组装新增业务的各个字段(正常来说一个新增类型的订单字段有300个字段左右),再通过SAT自动化工具读取本地的excel 文件,读取的过程耗时较为严重且每个步骤之间都要设置等待时间,后续订单的增量信息接收(比如订单的支付、退款等增量信息)同样需要在 excel中手动输入,SAT自动化工具读取过程中还需要处理字段冲突、读取失败等问题,等订单数据造好之后,才调用需要实现的自动化接口进行订单查询调试,查询的请求报文采用的依然是读取本地excel的方式进行组装的方式,当组装好请求报文之后再继续用测试工具读取请求报文并将其发送给远程服务平台的被测试的接口。
针对上述实现方式存在的不足,本发明提供了一种接口自动化测试方法。在一个实施例中,该接口自动化测试方法包括如图2所示的步骤:
S110:从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本。
S120:执行接口测试脚本,以调用所有待测接口。
S130:获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
本实施例可以应用于普通的测试设备(比如,智能手机、平板电脑、笔记本电脑、台式电脑、服务器等),在测试时,测试人员通过测试设备从指定数据库中获取所有待测接口(本实施例在一个测试中可以只测一个待测接口,也可以同时测多个待测接口,因此本实施例所指的所有待测接口是指一次测试中要测的所有待测接口,所有待测接口的数量可以是一个,也可以是多个)相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本,然后执行生成的该接口测试脚本以调用所有待测接口,其中,接口测试脚本能够实现只测试一个待测接口或者同时测试多个待测接口,任何一个待测接口被调用时,该待测接口对应的被调用方(可以是被调用的***)会向待测设备返回相应的返回报文,待测设备在获取到调用所有待测接口后接收到的所有返回报文后,根据接收到的所有返回报文进行测试结果分析从而获得所有待测接口的测试结果。
其中,待测接口是指新版本中新增的业务所调用的接口,在不同应用场景中,待测接口可以是不同的具体接口,比如在订单查询场景中,待测接口是订单查询接口,用户信息查询场景中,待测接口是用户信息查询接口。指定数据库是指预先指定的用于存储所有待测接口的输入参数信息的数据库,可以使用MySQL数据库来实现,本实施例对数据库的实现方式不进行限制。待测接口相关的输入参数信息是实现待测接口所需的参数值,比如,在某一订单查询场景中需要获取订单相关的订单编号、会员号、调用***等信息,获取待测接口相关的输入参数信息可以是参照各被调用***接口文档的说明(每个接口的输入参数都是接口文档上定义的,比如接口文档定义需要输入订单的单号和会员号,那么就要到指定数据库中查该订单的单号和会员号),再用业务特定的业务编码到指定数据库获取输入参数信息。
更具体地,每个待测接口相关的输入参数信息包括多组入参信息,每组入参信息包括多个接口字段对应的入参值;一组入参信息用于生成一条请求报文。
返回报文是指待测接口对应的被调用方在待测接口被调用之后,根据其接收到的请求报文来生成并返回给测试设备的报文,一条请求报文会对应一条返回报文。在不同的应用场景中,返回报文所包括的返回字段不同,比如,在订单查询场景中,返回报文可以包含被查询订单的详情信息,如订单价格、图片、收货人信息等信息,当然,每个待测接口对应的返回报文中的返回字段不一样,返回字段要以接口文档的定义为准。
本发明实施例舍弃了以往通过excel造数据的方式,改进为从指定的数据库中直接获取与待测接口的相关数据(比如,在订单查询业务场景中,在新版本的功能测试达到稳定之后,新业务的订单已经入库,因而可以直接从数据库中获取订单数据),而调用查询接口的入参改进为通过执行接口测试脚本来调用,该方式是同步调用本地代码将请求报文发送到远程服务平台,通过接口测试脚本来调用待测接口,测试人员在测试时就只需要从现有的测试环境中获取输入参数信息,然后基于输入参数信息来组装接口测试脚本,组装接口测试脚本的操作简单,并且测试人员编写脚本需要关注的点也较少(比如,在订单查询业务场景中,只需要关注待测接口的接口编码、入参报文、返回报文的文件名等),相比以往读取本地excel 的方式,能够显著地缩短接口自动化测试的时间,将原本SAT自动化的执行时间从十几个小时直接缩短为几分钟,大大提升了测试人员的工作效率,节省了时间成本,从而本发明实施例提供的接口自动化测试方法能够适应当前快速迭代版本的自动化测试,在涉及到紧急版本,尤其是底层代码改造或升级需要发布新版本时,能够更加快速准确地调用现有的查询接口来实现业务主流程的迅速覆盖。
基于上述实施例,在一个实施例中,从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本的步骤,如图3所示包括:
S111:从指定数据库中获取每个待测接口相关的输入参数信息;
S112:根据每个待测接口相关的输入参数信息生成与每个待测接口对应的多条请求报文;
S113:根据所有待测接口对应的多条请求报文生成接口测试脚本。
在本实施例中,通过接口测试脚本能够实现同时测试一个待测接口或者多个待测接口,测试设备在生成接口测试脚本时,对于任何一个待测接口,测试设备从指定数据库中获取该待测接口相关的输入参数信息,然后根据该待测接口相关的输入参数信息生成与该待测接口对应的多条请求报文,当测试设备为所有待测接口生成其对应的多条请求报文之后,就根据所有待测接口对应的多条请求报文生成接口测试脚本。
需要说明的是,新业务所调用的接口通常是多个,对于任何一个待测接口,在测试时都需要向其发送多条请求报文(可理解的,不同请求报文的具体的报文参数可能不同),而在以往的接口自动化测试中,SAT自动化工具每次测试只能测试一个待测接口,并且每次向待测接口发送报文时只能发送一条。本实施例通过接口测试脚本能够实现一次向待测接口发送多条请求报文,从而提高对待测接口的测试效率。
在一个实施方式中,测试设备根据任一个待测接口相关的输入参数信息所包括的一组入参信息,生成一条与该待测接口对应的请求报文的步骤,包括:将任一个待测接口的一组入参信息包括的各个接口字段所对应的入参值,添加到各个接口字段对应的接口字段信息中进行报文组装,组装得到一条与该待测接口对应的请求报文。
在另一个实施方式中,根据所有待测接口对应的多条请求报文生成接口测试脚本的步骤,包括:获取各个待测接口对应的预置测试类信息;根据所有待测接口对应的多条请求报文和预置测试类信息生成一份接口测试脚本。
具体地,测试人员通过测试设备将生成的请求报文放入测试类(即上述测试类信息)中组装成接口测试脚本,然后由测试人员选择对应的测试环境配置,比如zkService(zookeeperService)、appCode、scmService 等,执行该接口测试脚本即可将生成的请求报文发送到远程服务平台,如苏宁远程服务平台(RSF平台) 。
在一个实施例中,执行接口测试脚本,以调用所有待测接口的步骤,包括:执行接口测试脚本,以通过每个待测接口将与其对应的多条请求报文发送给与其关联的被调用方。其中,任一个待测接口关联的被调用方在接收到任一条与该待测接口对应的请求报文后生成一条相应的返回报文并将其返回给测试设备。
在一个实施例中,获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有所述待测接口的测试结果的步骤,如图4所示,包括:
S131:获取每个待测接口关联的被调用方返回的多条返回报文;
S132:分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果。
具体地,任何一个待测接口关联的被调用方在接收到该待测接口对应的请求报文后,会生成相应的返回报文并将生成的返回报文返回给待测设备,当待测设备接收到所有待测设备关联的被调用方返回的返回报文之后,分别根据每个待测接口对应的返回报文(即该待测接口关联的被调用方返回的多条返回报文)进行测试结果分析从而获得该待测接口在本次测试中的测试结果。
更具体地,在一个实施例中,分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果的步骤,如图5所示,包括:
S1321:获取每个待测接口相关的预指定的基线版本测试结果集,每个待测接口相关的基线版本测试结果集包括测试基线版本的该待测接口所获得的多条历史返回报文;
S1322:分别将每个待测接口关联的被调用方返回的多条返回报文作为与该待测接口相关的当前版本测试结果集,使用预置对比工具将与该待测接口相关的当前版本测试结果集与基线版本测试结果集进行二进制比对,根据与该待测接口相关的当前版本测试结果集与基线版本测试结果集之间的对比结果进行测试结果分析,获得该待测接口的测试结果。
在本实施例中,测试设备在接收到返回报文后会将其进行保存。具体地,每个待测接口在本地有对应的返回报文保存路径(比如可以是某个文件夹),测试设备接收到一条返回报文后,确定其对应的待测接口,然后将其保存到该待测接口对应的返回报文保存路径中,更具体地,一条返回报文会被保存为一个返回报文文件(比如txt文件等),由于一个待测接口会对应多条返回报文,因此,一条返回报文保存路径会关联多个返回报文文件(即一个文件夹中包含多个返回报文文件)。对每个新版本进行接口自动化测试所得到的每个待测接口对应的测试结果集(指一个测试中待测接口对应的所有返回报文保存后得到的返回报文文件)在测试之后仍然继续保存,从而在版本再次更新后所进行的新一次测试中,可以将最新版本测试中相关待测接口的当前版本测试结果集(指该待测接口在当前版本测试中得到的测试结果集)与该待测接口的基线版本测试结果集(基线版本可以是指上一版本,若有多个版本,也可以是预先指定的任一个过往版本)进行对比。
其中,测试人员可以使用开发工具打开本地的对比工具(比如可以是 BeyondCompare、WinMerge等),通过该对比工具来对每个待测接口的基线版本测试结果集和当前版本测试结果集进行二进制对比,对比工具会将当前版本测试结果集与该基线版本测试结果集不一致的地方进行差异显示 (比如将对比不一致的返回报文文件的文件名进行高亮、标红和/或加粗等处理以使得与对比一致的返回报文文件区分开),之后可以由测试人员打开经过差异处理的返回报文文件来比对结果,两个测试结果集中经过差异处理的返回报文报文里的不一致的字段也会被对比工具进行差异处理,测试人员可以基于经过差异处理的返回报文文件来分析产生不一致的原因,从而得到每个待测接口在本次测试中的测试结果。
具体地,如果两个测试结果集对比后确定全部一致,那么可以认定为新版本的改动没有影响到业务,待测接口的自动化测试结果为通过,后续保存好新版本的测试结果集即可。如果两个测试结果集对比后不全部一致,不一致的原因可能是1、代码BUG导致、2、升级组件导致(例如MySQL数据库版本升级)、3、新版本有新增字段等,这需要由测试人员进行处理。在实际测试中,测试人员用开发工具执行编辑好的接口测试脚本,选择测试环境,在接口测试脚本执行完毕后,查看指定目录(预指定的返回报文保存路径),发现通过接口测试脚本执行20条测试用例执行总时长约16 秒左右,而普通自动化任务执行20条测试用例需要2小时左右。在完成相同的测试任务的场景下,效率提升了400多倍,节约了大量的时间。
其中,需要由测试人员介入来分析测试结果的原因在于,目前业内的自动化测试中,由于已经具体定位到场景的报文了,后续的步骤更多的是和对应开发人员的口头交涉,人工分析起来,可靠性安全性会相对较高,而且实际测试工作中,测试不通过的场景是少数,如果是大面积的场景,说明该需求还不适合实现自动化。
基于相同的发明构思,本发明还提供了一种接口自动化测试装置。该装置可以用于测试一个待测接口或同时测试多个待测接口。在一个实施例中,如图6所示,该接口自动化测试装置包括以下模块:
接口测试脚本生成模块110,用于从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;
接口测试脚本执行模块120,用于执行接口测试脚本,以调用所有待测接口;
测试结果分析模块130,用于获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
在一个实施例中,接口测试脚本生成模块,包括:
输入参数获取子模块,用于从指定数据库中获取每个待测接口相关的输入参数信息;
请求报文生成子模块,用于根据每个待测接口相关的输入参数信息生成与每个待测接口对应的多条请求报文;
接口测试脚本生成子模块,用于根据所有待测接口对应的多条请求报文生成接口测试脚本。
在一个实施例中,每个待测接口相关的输入参数信息包括多组入参信息,每组入参信息包括多个接口字段对应的入参值;一组入参信息用于生成一条请求报文。
请求报文生成子模块,还用于根据任一个待测接口相关的输入参数信息所包括的一组入参信息,生成一条与该待测接口对应的请求报文。更具体地,请求报文生成子模块,还用于将任一个待测接口的一组入参信息包括的各个接口字段所对应的入参值,添加到各个接口字段对应的接口字段信息中进行报文组装,组装得到一条与该待测接口对应的请求报文。
在一个实施例中,接口测试脚本生成子模块,包括:
测试类获取单元,用于获取各个待测接口对应的预置测试类信息;
接口测试脚本生成单元,用于根据所有待测接口对应的多条请求报文和预置测试类信息生成一份接口测试脚本。
在一个实施例中,接口测试脚本执行模块,具体用于执行接口测试脚本,以通过每个待测接口将与其对应的多条请求报文发送给与其关联的被调用方。其中,任一个待测接口关联的被调用方在接收到任一条与该待测接口对应的请求报文后生成一条相应的返回报文并将其返回。
在一个实施例中,测试结果分析模块,包括:
返回报文获取子模块,用于获取每个待测接口关联的被调用方返回的多条返回报文;
测试结果分析子模块,用于分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果。
在一个实施例中,测试结果分析子模块,包括:
基线结果集获取单元,用于获取每个待测接口相关的预指定的基线版本测试结果集,每个待测接口相关的基线版本测试结果集包括测试基线版本的该待测接口所获得的多条历史返回报文;
测试结果分析单元,用于分别将每个待测接口关联的被调用方返回的多条返回报文作为与该待测接口相关的当前版本测试结果集,使用预置对比工具将与该待测接口相关的当前版本测试结果集与基线版本测试结果集进行二进制比对,根据与该待测接口相关的当前版本测试结果集与基线版本测试结果集之间的对比结果进行测试结果分析,获得该待测接口的测试结果。
关于接口自动化测试装置的具体限定可以参见上文中对于接口自动化测试方法的限定,在此不再赘述。上述接口自动化测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图7 所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储待测接口的输入参数信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口自动化测试方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;执行接口测试脚本,以调用所有待测接口;获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
在一个实施例中,处理器执行计算机程序,实现从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本时,还实现以下步骤:
从指定数据库中获取每个待测接口相关的输入参数信息;根据每个待测接口相关的输入参数信息生成与每个待测接口对应的多条请求报文;根据所有待测接口对应的多条请求报文生成接口测试脚本。
在一个实施例中,每个待测接口相关的输入参数信息包括多组入参信息,每组入参信息包括多个接口字段对应的入参值;一组入参信息用于生成一条请求报文。
在一个实施例中,处理器执行计算机程序,实现根据任一个待测接口相关的输入参数信息所包括的一组入参信息,生成一条与该待测接口对应的请求报文时,还实现以下步骤:
将任一个待测接口的一组入参信息包括的各个接口字段所对应的入参值,添加到各个接口字段对应的接口字段信息中进行报文组装,组装得到一条与该待测接口对应的请求报文。
在一个实施例中,处理器执行计算机程序,实现根据所有待测接口对应的多条请求报文生成接口测试脚本时,还实现以下步骤:
获取各个待测接口对应的预置测试类信息;根据所有待测接口对应的多条请求报文和预置测试类信息生成一份接口测试脚本。
在一个实施例中,处理器执行计算机程序,实现执行接口测试脚本,以调用所有待测接口时,还实现以下步骤:
执行接口测试脚本,以通过每个待测接口将与其对应的多条请求报文发送给与其关联的被调用方;任一个待测接口关联的被调用方在接收到任一条与该待测接口对应的请求报文后生成一条相应的返回报文并将其返回。
在一个实施例中,处理器执行计算机程序,实现获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有所述待测接口的测试结果时,还实现以下步骤:
获取每个待测接口关联的被调用方返回的多条返回报文;分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果。
在一个实施例中,处理器执行计算机程序时,实现分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果时,还实现以下步骤:
获取每个待测接口相关的预指定的基线版本测试结果集,每个待测接口相关的基线版本测试结果集包括测试基线版本的该待测接口所获得的多条历史返回报文;分别将每个待测接口关联的被调用方返回的多条返回报文作为与该待测接口相关的当前版本测试结果集,使用预置对比工具将与该待测接口相关的当前版本测试结果集与基线版本测试结果集进行二进制比对,根据与该待测接口相关的当前版本测试结果集与基线版本测试结果集之间的对比结果进行测试结果分析,获得该待测接口的测试结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本;执行接口测试脚本,以调用所有待测接口;获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有待测接口的测试结果。
在一个实施例中,计算机程序被处理器执行,从指定数据库中获取所有待测接口相关的输入参数信息,根据所有待测接口相关的输入参数信息生成接口测试脚本时,还实现以下步骤:
从指定数据库中获取每个待测接口相关的输入参数信息;根据每个待测接口相关的输入参数信息生成与每个待测接口对应的多条请求报文;根据所有待测接口对应的多条请求报文生成接口测试脚本。
在一个实施例中,每个待测接口相关的输入参数信息包括多组入参信息,每组入参信息包括多个接口字段对应的入参值;一组入参信息用于生成一条请求报文。
在一个实施例中,计算机程序被处理器执行,根据任一个待测接口相关的输入参数信息所包括的一组入参信息,生成一条与该待测接口对应的请求报文时,还实现以下步骤:
将任一个待测接口的一组入参信息包括的各个接口字段所对应的入参值,添加到各个接口字段对应的接口字段信息中进行报文组装,组装得到一条与该待测接口对应的请求报文。
在一个实施例中,计算机程序被处理器执行,根据所有待测接口对应的多条请求报文生成接口测试脚本时,还实现以下步骤:
获取各个待测接口对应的预置测试类信息;根据所有待测接口对应的多条请求报文和预置测试类信息生成一份接口测试脚本。
在一个实施例中,计算机程序被处理器执行,执行接口测试脚本,以调用所有待测接口时,还实现以下步骤:
执行接口测试脚本,以通过每个待测接口将与其对应的多条请求报文发送给与其关联的被调用方;任一个待测接口关联的被调用方在接收到任一条与该待测接口对应的请求报文后生成一条相应的返回报文并将其返回。
在一个实施例中,计算机程序被处理器执行,获取调用所有待测接口后接收到的所有返回报文,根据接收到的所有返回报文进行测试结果分析,获得所有所述待测接口的测试结果时,还实现以下步骤:
获取每个待测接口关联的被调用方返回的多条返回报文;分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果。
在一个实施例中,计算机程序被处理器执行时,分别根据每个待测接口关联的被调用方返回的多条返回报文进行测试结果分析,获得每个待测接口的测试结果时,还实现以下步骤:
获取每个待测接口相关的预指定的基线版本测试结果集,每个待测接口相关的基线版本测试结果集包括测试基线版本的该待测接口所获得的多条历史返回报文;分别将每个待测接口关联的被调用方返回的多条返回报文作为与该待测接口相关的当前版本测试结果集,使用预置对比工具将与该待测接口相关的当前版本测试结果集与基线版本测试结果集进行二进制比对,根据与该待测接口相关的当前版本测试结果集与基线版本测试结果集之间的对比结果进行测试结果分析,获得该待测接口的测试结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM) 或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。