掌桥专利:专业的专利平台
掌桥专利
首页

接口测试方法、装置、终端设备以及存储介质

文献发布时间:2023-06-19 16:11:11



技术领域

本申请涉及软件测试技术领域,尤其涉及一种接口测试方法、装置、终端设备以及存储介质。

背景技术

接口测试是测试系统组件间接口的一种测试,主要用于验证被测系统的各个组件功能性和稳定性,包括系统内部及外部之间的功能执行情况。接口测试作为软件生命周期的一个关键阶段,对保证软件质量具有重要意义,近年来接口测试技术也越来越受到软件开发和项目管理人员的重视,逐渐成为研究热点。

通常在研发过程中由开发工程师提供接口说明文档,测试工程师基于接口说明文档设计测试用例,然后进行接口测试,测试工程师的工作很大程度上依赖于研发工程师提供的接口说明文档。但在实际工作中,研发工程师经常因研发周期局限性和工作疏忽等原因,导致提供的接口说明文档出现错误或者遗漏。另外,接口测试通常是面向用例进行管理的,测试工程师难以基于接口的视角对用例进行维护,导致接口测试覆盖不全。

因此,有必要提出一种新的接口测试解决方案。

发明内容

本发明的主要目的在于提供一种接口测试方法、装置、终端设备以及存储介质,旨在以输出报告的形式揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

为实现上述目的,本发明提供一种接口测试方法,所述接口测试方法包括:

获取生产环境接口访问记录、接口变更历史;

运行接口测试程序生成接口测试覆盖记录;

将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;

将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

可选地,所述方法还包括:

所述获取生产环境接口访问记录、接口变更历史的步骤包括:

运行预设的对比程序获取所述生产环境接口访问记录、所述接口变更历史;

所述将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告的步骤包括:

运行所述预设的对比程序将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;

所述将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告的步骤包括:

运行所述预设的对比程序将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

可选地,所述运行预设的对比程序获取所述生产环境接口访问记录、所述接口变更历史的步骤包括:

运行所述预设的对比程序从已上线项目运维数据库中获取所述生产环境接口访问记录;

运行所述预设的对比程序从接口管理模块中获取所述接口变更历史。

可选地,所述运行接口测试程序生成接口测试覆盖记录的步骤包括:

通过配置管理模块获取配置变量;

通过所述接口管理模块获取接口信息;

通过用例管理模块获取自动化用例;

通过用例调度模块获取测试任务信息并引用所述配置变量,根据测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,生成执行历史及结果;

通过测试报告模块根据所述执行历史及结果生成所述接口测试覆盖记录。

可选地,所述方法还包括:

所述配置变量包括环境变量、全局变量中的一种或多种;

所述接口信息包括接口功能说明、接口路径、参数、参数类型、取值范围、返回值说明、所述接口变更历史中的一种或多种;

所述自动化用例包括用例功能说明、输入参数、测试套件、脚本、返回值断言中的一种或多种;

所述测试任务信息包括任务名、任务周期、所述测试套件、测试配置中的一种或多种。

本申请实施例还提出一种接口测试装置,所述接口测试装置包括:

获取模块,用于获取生产环境接口访问记录和接口变更历史;

接口测试模块,用于运行接口测试程序生成接口测试覆盖记录;

对比模块,用于将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告,将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

可选地,所述接口测试装置还包括:配置管理模块、接口管理模块、用例管理模块、用例调度模块、测试报告模块;

所述接口测试模块,还用于通过所述配置管理模块获取配置变量,通过所述接口管理模块获取接口信息、通过所述用例管理模块获取自动化用例,通过所述用例调度模块获取测试任务信息并引用所述配置变量,根据测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,生成执行历史及结果,通过测试报告模块根据所述执行历史及结果生成所述接口测试覆盖记录。

可选地,所述配置变量包括环境变量、全局变量中的一种或多种;

所述接口信息包括接口功能说明、接口路径、参数、参数类型、取值范围、返回值说明、所述接口变更历史中的一种或多种;

所述自动化用例包括用例功能说明、输入参数、测试套件、脚本、返回值断言中的一种或多种;

所述测试任务信息包括任务名、任务周期、所述测试套件、测试配置中的一种或多种。

本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序、对比程序,所述接口测试程序、对比程序被所述处理器执行时实现如上所述的接口测试方法的步骤。

本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口测试程序、对比程序,所述接口测试程序、对比程序被处理器执行时实现如上所述的接口测试方法的步骤。

本申请实施例提出的接口测试方法、装置、终端设备以及存储介质,通过获取生产环境接口访问记录、接口变更历史;运行接口测试程序生成接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。通过所述接口测试程序产生所述接口测试覆盖记录,并通过对比程序将所述接口测试覆盖记录和获取的所述生产环境接口访问记录、所述接口变更历史分别进行对比,生成A报告和B报告,以输出报告的形式揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

附图说明

图1为本申请接口测试装置所属终端设备的功能模块示意图;

图2为本申请接口测试方法一示例性实施例的流程示意图;

图3为本申请接口测试方法另一示例性实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:获取生产环境接口访问记录、接口变更历史;运行接口测试程序生成接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。基于本申请方案,从重要数据收集对比的基础上,为开发和测试两端分别输出了对改进接口测试工作有重要参考价值的报告,揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

具体地,参照图1,图1为本申请接口测试装置所属终端设备的功能模块示意图。该接口测试装置可以为独立于终端设备的、能够进行接口测试、对比的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。

在本实施例中,该接口测试装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。

存储器130中存储有操作系统以及接口测试程序,接口测试装置可以将获取的生产环境接口访问记录、接口变更历史;运行接口测试程序生成的接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成的A报告;以及将所述接口变更历史和所述接口测试覆盖记录进行对比,生成的B报告等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。

其中,存储器130中的接口测试程序、对比程序被处理器执行时实现以下步骤:

获取生产环境接口访问记录、接口变更历史;

运行接口测试程序生成接口测试覆盖记录;

将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;

将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:

运行预设的对比程序获取所述生产环境接口访问记录、所述接口变更历史;

运行所述预设的对比程序将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;

运行所述预设的对比程序将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:

运行所述预设的对比程序从已上线项目运维数据库中获取所述生产环境接口访问记录;

运行所述预设的对比程序从接口管理模块中获取所述接口变更历史。

进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:

通过配置管理模块获取配置变量;

通过所述接口管理模块获取接口信息;

通过用例管理模块获取自动化用例;

通过用例调度模块获取测试任务信息并引用所述配置变量,根据测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,生成执行历史及结果;

通过测试报告模块根据所述执行历史及结果生成所述接口测试覆盖记录。

进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:

所述配置变量包括环境变量、全局变量中的一种或多种;

所述接口信息包括接口功能说明、接口路径、参数、参数类型、取值范围、返回值说明、所述接口变更历史中的一种或多种;

所述自动化用例包括用例功能说明、输入参数、测试套件、脚本、返回值断言中的一种或多种;

所述测试任务信息包括任务名、任务周期、所述测试套件、测试配置中的一种或多种。

本实施例通过上述方案,具体通过获取生产环境接口访问记录、接口变更历史;运行接口测试程序生成接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。通过所述接口测试程序产生所述接口测试覆盖记录,并通过对比程序将所述接口测试覆盖记录和获取的所述生产环境接口访问记录、所述接口变更历史分别进行对比,生成A报告和B报告,以输出报告的形式揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

基于上述终端设备架构但不限于上述架构,提出本申请方法实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本实施例方法的执行主体可以是一种接口测试装置,也可以是一种接口测试终端设备或服务器,本实施例以接口测试装置进行举例,该接口测试装置可以集成在具有数据处理功能的桌面电脑、笔记本电脑等终端设备上。

参照图2,本发明接口测试方法第一实施例提供一种流程示意图,所述接口测试方法包括:

步骤S10,获取生产环境接口访问记录、接口变更历史;

具体地,终端设备向服务器发送获取所述生产环境接口访问记录的请求,所述服务器接收到请求后进行权限验证,若通过权限验证,则调取所述生产环境接口访问记录并返回给所述终端设备。其中,所述服务器为已上线软件项目提供计算资源管理,具有数据处理及数据储存功能。所述生产环境接口访问记录一般是用户通过各类终端访问软件接口的记录,所述服务器在响应用户请求的同时也将该接口访问痕迹储存下来,所述生产环境接口访问记录反映了一定时间内生产环境中各个接口的访问频率以及异常信息。

另外,所述终端设备向接口管理模块发送获取所述接口变更历史的请求,所述接口管理模块根据请求信息调取所述接口变更历史并返回给所述终端设备,其中,所述接口管理模块主要用于储存和管理所述接口信息,对所述接口信息的具体操作如增加、删除、修改都会留下操作痕迹并反映在所述接口变更历史中。

步骤S20,运行接口测试程序生成接口测试覆盖记录;

具体地,所述接口测试程序包括配置管理模块、所述接口管理模块、所述用例管理模块、用例调度模块、测试报告模块。

先通过所述配置管理模块获取配置变量,所述配置变量储存于所述配置管理模块中,并对所述配置变量的类型做出定义,以此限定所述配置变量的作用函数范围,在相应范围内的函数可以直接调用所述配置变量。

然后,通过所述接口管理模块获取接口信息,此处需要由人工将所述接口信息输入至所述接口管理模块并储存,例如对所述接口管理模块中所含接口信息数据库的数据表进行增加、删除、修改等操作,同时,每次数据操作都会产生相应的所述接口变更历史储存于所述接口管理模块中。

然后,通过所述用例管理模块获取自动化用例,此处同样需要由人工将预先编写完成的所述自动化用例输入至所述用例管理模块并储存,所述自动化用例在所述用例管理模块中依据测试功能的不同被分类管理,等待下一步的执行指令。

在上述过程完成之后,下一步的测试任务是通过所述用例调度模块获取测试任务信息并引用所述配置变量,根据所述测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,所述自动化用例中的脚本自动将数据输入所述待测接口,所述用例调度模块取得所述待测接口的返回数据并生成执行历史及结果。

最后,通过所述测试报告模块根据所述执行历史及结果进行提取、分类、类型转换等数据处理,生成所述接口测试覆盖记录。

步骤S30,将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;

当所述生产环境接口访问记录和所述接口测试覆盖记录已存在于终端设备时,运行所述对比程序以所述生产环境接口访问记录和所述接口测试覆盖记录作为输入,将上述两组数据进行对比,以检查数据一致性和对差异部分作警示标识等处理方法,生成所述A报告。其中,所述生产环境接口访问记录和所述接口测试覆盖记录在数据组成上可能会有所差异,为此,运用对比分析的时候所述对比程序会将两项数据来源中名称或者类型相同的数据进行匹配,没有获得匹配项的数据会被添加标识以表明该数据存在异常情况。A报告作为数据对比的输出结果清晰显示了生产环境和测试环境中接口使用情况的区别,开发工程师可以通过阅读所述A报告上的信息,及时发现接口说明文档错误和遗漏的问题,从而针对上述问题对接口说明文档进行更新。

步骤S40,将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

当所述接口变更历史和所述接口测试覆盖记录已存在于终端设备时,运行所述对比程序以所述接口变更历史和所述接口测试覆盖记录作为输入,将上述两组数据进行对比,以检查数据一致性和对差异部分作警示标识等处理方法,生成所述B报告。其中,所述接口变更历史和所述接口测试覆盖记录在数据组成上可能会有所差异,为此,运用对比分析的时候所述对比程序会将两项数据来源中名称或者类型相同的数据进行匹配,没有获得匹配项的数据会被添加标识以表明该数据存在异常情况。B报告作为数据对比的输出结果清晰显示了接口信息的实时状况是否与接口测试任务需求同步,测试工程师可以通过阅读所述B报告上的信息,及时发现测试覆盖不全的问题,从而针对上述问题增加测试覆盖。

本实施例通过上述方案,具体通过获取生产环境接口访问记录、接口变更历史;运行接口测试程序生成接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。本实施例收集利用了生产环境接口访问记录、接口变更历史两项关键数据,分别与接口测试程序产生的接口覆盖记录进行对比,通过检查数据一致性和对差异部分作警示标识等处理方法,提炼出有益于改良接口测试的信息,并以报告的形式输出,揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

进一步的,参照图3,本发明接口测试方法第二实施例提供一种流程示意图,基于上述图2所示的实施例,所述运行接口测试程序得到接口测试覆盖记录还包括:

在本实施例中,步骤S201,通过配置管理模块获取配置变量,其中,所述配置变量包括环境变量、全局变量中的一种或多种,环境变量可以在一定的范围被有需要的函数调用,全局变量可以在全局范围内被任何函数调用。配置变量在各个函数中建立起直接传递通道,从外部为各函数提供可调用的变量;

步骤S202,通过所述接口管理模块获取接口信息,所述接口信息包括接口功能说明、接口路径、参数、参数类型、取值范围、返回值说明、所述接口变更历史中的一种或多种。所述接口信息是对接口的描述而并非接口本身,其包含了关键的所述接口路径和所述参数类型等信息,在执行测试任务时用例可以通过接口信息准确地被输入到相应的待测接口中,接口信息在整个接口测试任务中起到引导的作用;

步骤S203,通过用例管理模块获取自动化用例,所述自动化用例包括用例功能说明、输入参数、测试套件、脚本、返回值断言中的一种或多种,其中,实现接口测试自动化的关键文件是脚本,脚本一般由测试工程师依据测序任务的需求事先编写完成,具有动作自动执行的功能,按照用例步骤将参数持续输入至待测接口;

步骤S204,通过用例调度模块获取测试任务信息并引用所述配置变量,根据测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,生成执行历史及结果。所述测试任务信息包括任务名、任务周期、所述测试套件、测试配置中的一种或多种。

步骤S205,通过测试报告模块根据所述执行历史及结果生成所述接口测试覆盖记录,接口测试覆盖记录是对接口测试结果最直观的反映,可以有效暴露接口存在的问题。

本实施例通过上述方案,具体通过配置管理模块获取配置变量;通过所述接口管理模块获取接口信息;通过用例管理模块获取自动化用例;通过用例调度模块获取测试任务信息并引用所述配置变量,根据测试任务信息执行所述自动化用例,根据所述接口信息调用待测接口进行测试,生成执行历史及结果;通过测试报告模块根据所述执行历史及结果生成所述接口测试覆盖记录。本实施例对接口测试程序的内部功能以模块的形式作了区分,每个模块完成一个特定的子功能,测试工程师只需要对特定的功能模块进行更新维护,即可满足不同测试任务的需求,起到了模块间业务解耦的作用,提高模块功能的复用性。运行接口测试程序最终产出接口测试覆盖记录,所述接口测试覆盖记录直接反映接口测试的结果,可以有效暴露接口存在的问题,并为下一步的对比报告输出准备了必要材料。

此外,本申请实施例还提出一种接口测试装置,所述接口测试装置包括:

获取模块,用于获取生产环境接口访问记录和接口变更历史;

接口测试模块,用于运行接口测试程序生成接口测试覆盖记录;

对比模块,用于将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告,将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。

本实施例实现接口测试的原理及实施过程,请参照上述各实施例,在此不再赘述。

此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序、对比程序,所述接口测试程序、对比程序被所述处理器执行时实现如上所述的接口测试方法的步骤。

由于本接口测试程序、对比程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口测试程序、对比程序,所述接口测试程序、对比程序被处理器执行时实现如上所述的接口测试方法的步骤。

由于本接口测试程序、对比程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。

相比现有技术,本申请实施例提出的接口测试方法、装置、终端设备以及存储介质,通过获取生产环境接口访问记录、接口变更历史;运行接口测试程序生成接口测试覆盖记录;将所述生产环境接口访问记录和所述接口测试覆盖记录进行对比,生成A报告;将所述接口变更历史和所述接口测试覆盖记录进行对比,生成B报告。通过所述接口测试程序产生所述接口测试覆盖记录,并通过对比程序将所述接口测试覆盖记录和获取的所述生产环境接口访问记录、所述接口变更历史分别进行对比,生成A报告和B报告,以输出报告的形式揭示接口说明文档错误和遗漏以及测试覆盖不全的问题,方便开发工程师更新接口说明文档以及测试工程师增加测试覆盖,提升接口测试的效果。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120114738299