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

接口自动化测试方法及其用例生成方法、设备及存储介质

文献发布时间:2023-06-19 10:24:22


接口自动化测试方法及其用例生成方法、设备及存储介质

技术领域

本申请涉及接口测试技术领域,特别是涉及一种接口自动化测试方法及其用例生成方法、设备及存储介质。

背景技术

在软件正式上线之前,一般都需要对软件的功能进行测试,软件自动化测试是通过代码实现一组测试用例,交给计算机在合适时间自动执行,完成对软件的测试。软件实现其功能时,往往需要调用多个接口,并且按照软件的业务逻辑一步一步执行,因此有必要对软件提供的接口进行测试,实现接口自动化测试。

为了实现接口自动化测试,则需要设计和编写接口测试所需的测试用例。通常,接口自动化所需的测试用例,由程序实现接口,由表格管理数据,可读性较差,而且需要用例设计人员具备一定的编码能力。例如,接口自动化测试所需的测试用例采用接口定义标准服务对外提供接口参考文件,从而从接口参考文件中拷贝实际测试时所需的信息,交给测试工具就可以完成接口自动化测试,但是这样一个接口一个接口地拷贝测试所需信息,将花费大量的时间。

发明内容

本申请主要解决的技术问题是提供一种接口自动化测试方法及其用例生成方法、设备及存储介质,能够节省人力,提高测试效率。

为了解决上述问题,本申请第一方面提供了一种接口自动化测试方法,包括:获取测试用例的思维导图,其中,所述思维导图表示所述测试用例的待测试接口的测试顺序以及对应的所述待测试接口的接口元素,所述接口元素为所述待测试接口在测试时所需的信息;解析所述测试用例的思维导图,得到所述待测试接口的测试顺序以及对应的所述接口元素;基于所述测试顺序和所述接口元素,对所述待测试接口进行测试,得到所述待测试接口的测试结果。

其中,所述接口元素包括以下至少一种:接口名称、接口类名、接口参数、接口执行标记和为所述待测试接口预设的期待返回结果,其中,所述接口执行标记用于表示是否执行所述待测试接口的测试。

其中,所述思维导图包括至少一个主题,每个所述主题对应一个所述待测试接口,所述主题之间的连接关系用于表示所述主题对应的所述待测试接口的测试顺序;所述主题的信息用于表示所述主题对应的所述待测试接口的接口元素。

其中,所述主题包括以下至少一个信息:主题名,用于记录所述待测试接口的接口名称;标签,用于记录所述待测试接口的接口类名;备注,用于记录所述待测试接口的接口参数和/或所述期待返回结果;图标,用作所述接口执行标记。

其中,所述基于所述测试顺序和所述接口元素,对所述待测试接口进行测试,得到所述待测试接口的测试结果,包括:利用所述接口参数对所述待测试接口按照所述测试顺序进行测试,得到所述待测试接口的实际返回结果;基于所述实际返回结果,得到所述待测试接口的测试结果。

其中,若所述接口元素包括所述接口名称、所述接口类名和所述接口参数,则所述利用所述接口参数对所述待测试接口按照所述测试顺序进行测试,得到所述待测试接口的实际返回结果,包括:实例化所述待测试接口的所述接口类名;在所述待测试接口的接口类名对应的类中,查找到与所述待测试接口的接口名称对应的测试方法;基于所述接口参数,调用所述测试方法,得到所述待测试接口的实际返回结果;和/或,若所述接口元素还包括所述接口执行标记,则在所述利用所述接口参数对所述待测试接口按照所述测试顺序进行测试,得到所述待测试接口的实际返回结果之前,所述方法还包括:若检测到当前的所述待测试接口不存在所述接口执行标记,则利用所述接口参数对当前的所述待测试接口进行测试,得到当前的所述待测试接口的实际返回结果;若检测到当前的所述待测试接口存在所述接口执行标记,则不对当前的所述待测试接口进行测试,或者不对所述测试顺序位于当前的所述待测试接口之后的待测试接口进行测试。

其中,所述接口参数包括所述期待返回结果,所述基于所述实际返回结果,得到所述接口测试结果,包括:比较所述待测试接口的所述实际返回结果和所述期待返回结果,并基于比较结果得到所述待测试接口的是否测试通过的测试结果。和/或,在所述基于所述实际返回结果,得到所述待测试接口的测试结果之后,所述方法还包括:将测试结果信息记录在所述思维导图的批注中,其中,所述测试结果信息包括以下至少一种:所述实际返回结果、所述实际返回结果的返回时间和所述接口测试结果。

其中,所述获取测试用例的思维导图,包括:接收接口定义标准服务的接口参考文件;解析所述接口参考文件,形成测试模板的思维导图;响应于用户指令,调整所述测试模板的思维导图中的所述测试顺序和/或所述接口元素,得到所述测试用例的思维导图。

其中,在所述测试模板的思维导图中,子主题表示对应模板用例,所述解析所述接口参考文件,形成测试模板的思维导图,包括:将所述接口参考文件中的项目名作为所述测试模板的思维导图的父主题;为所述接口参考文件的每个路径字段创建子主题,并按照所述路径字段之间的先后顺序,将对应的所述子主题与所述父主题进行连接;以及将所述路径字段中的所述接口名称、所述接口类名、所述接口参数对应记录在所述子主题的主题名、标签、备注中;所述调整所述测试模板的思维导图中的所述测试顺序和/或所述接口元素,包括以下至少一个步骤:删除和/或添加所述子主题;调整所述子主题之间的连接关系;修改所述备注中的所述接口参数。

为解决上述问题,本申请第二方面提供了一种接口测试用例的生成方法,所述方法包括:确定待测试接口的测试顺序以及对应的所述待测试接口接口元素;其中,所述接口元素为所述待测试接口在测试时所需的信息;将所述待测试接口的测试顺序以及对应的所述待测试接口接口元素绘制在思维导图中,得到测试用例的思维导图。

其中,所述接口元素包括以下至少一种:接口名称、接口类名、接口参数、接口执行标记和为所述待测试接口预设的期待返回结果,其中,所述接口执行标记用于表示是否执行所述待测试接口的测试;所述思维导图包括至少一个主题,每个所述主题对应一个所述待测试接口,所述主题之间的连接关系用于表示所述主题对应的所述待测试接口的测试顺序;所述主题的信息用于表示所述主题对应的所述待测试接口的接口元素;其中,所述主题包括以下至少一个信息:主题名,用于记录所述待测试接口的接口名称;标签,用于记录所述待测试接口的接口类名;备注,用于记录所述待测试接口的接口参数和/或所述期待返回结果;图标,用作所述接口执行标记。

为解决上述问题,本申请第三方面提供了一种电子设备,包括:相互耦接的存储器和处理器;处理器用于执行存储器存储的程序指令,以实现上述第一方面的接口自动化测试方法,或实现上述第二方面的接口测试用例的生成方法。

为解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有能够被处理器运行的程序指令,所述程序指令被处理器执行时实现上述第一方面的接口自动化测试方法,或实现上述第二方面的接口测试用例的生成方法。

通过上述方式,由于思维导图表示测试用例的待测试接口的测试顺序以及对应的所述待测试接口的接口元素,且接口元素为待测试接口在测试时所需的信息,因此获取测试用例的思维导图相当于获取到待测试接口的测试顺序以及所述待测试接口在测试时所需的信息,从而解析测试用例的思维导图,得到待测试接口的测试顺序以及对应的接口元素后,即可基于测试顺序和接口元素,对待测试接口进行测试,得到待测试接口的测试结果,仅测试用例的思维导图所包括的内容即可实现待测试接口的测试,无需人工编写程序代码来设计待测试接口测试时所需的信息,能够简化自动化测试过程,节省时间。

附图说明

图1是本申请接口自动化测试方法一实施例的流程示意图;

图2是本申请接口自动化测试方法一实施例步骤S11的流程示意图;

图3是本申请接口自动化测试方法一实施例步骤S13的流程示意图;

图4是本申请接口测试用例的生成方法一实施例的流程示意图;

图5是本申请接口自动化测试方法一应用实施例的思维导图测试用例的示意图;

图6是图5思维导图测试用例中查询黑名单的备注示意图;

图7是本申请电子设备一实施例的框架示意图;

图8是本申请计算机可读存储介质一实施例的框架示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。

请参阅图1,图1是本申请接口自动化测试方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:

步骤S11:获取测试用例的思维导图。

软件实现其功能时,往往需要调用多个接口,并且按照软件的业务逻辑一步一步执行,因此,接口自动化测试是按照业务逻辑对软件实现其功能时需要调用的接口所进行的测试。测试用例的思维导图表示测试用例的待测试接口的测试顺序以及对应的待测试接口的接口元素,因此待测试接口之间的调度关系更加清晰,方便展示和理解,提高可读性。思维导图中包括测试用例中的若干个待测试接口,且思维导图不仅可以表示若干个待测试接口的测试顺序,还可以表示测试用例中每个待测试接口的接口元素,从而思维导图可以包括测试用例中待测试接口在测试时所需的所有信息。

测试用例的思维导图中的测试顺序可以反映接口之间的业务逻辑顺序;而接口元素为待测试接口在测试时所需的信息。接口元素包括以下至少一种:接口名称、接口类名、接口参数、接口执行标记和为待测试接口预设的期待返回结果。接口名称例如为查询黑名单、删除黑名单、暂停数秒、新增黑名单等可以自定义的名称。接口类名例如为RISKFACECMP、TOOL等。接口参数用于提供给待测试接口,以使待测试接口基于接口参数调用查找到与待测试接口对应的测试方法。接口执行标记用于表示是否执行待测试接口的测试。

思维导图可以包括主题,该主题可以为父主题,也可以为子主题,因此,在测试用例的思维导图中,每个主题对应一个待测试接口,主题之间的连接关系用于表示主题对应的待测试接口的测试顺序;主题的信息用于表示主题对应的待测试接口的接口元素。思维导图的每个主题对应一个待测试接口,该主题的信息表示对应的待测试接口的接口元素。在一实施例中,思维导图的每个主题可以包括主题名、标签、备注、图标、批注等功能工具,因此,可以利用功能工具记录接口元素,非常便利地体现待测试接口在测试时所需的信息,并且可以自定义各功能工具所记录的接口元素,能够记录待测试接口在测试时所需的信息即可。在一实施例中,主题的主题名用于记录待测试接口的接口名称;标签,用于记录待测试接口的接口类名;备注,用于记录待测试接口的接口参数和/或期待返回结果;图标,用作接口执行标记。

如果一个测试用例包含多个待测试接口,需要将每个待测试接口的在测试时所需的信息都定义出来,并用连接线指明待测试接口之间的调用关系,表明待测试接口的测试顺序,因此一实施例中,可以利用XMind等思维导图设计软件绘制测试用例的思维导图,使得待测试接口之间的测试顺序清晰,方便展示和理解。

本申请的测试用例的思维导图可以是执行接口自动化测试方法的设备自己生成的,也可以是从其他设备获取的,在此不作具体限定。为了更清楚的说明执行接口自动化测试方法的设备如何自己生成测试用例的思维导图,请参阅图2,图2是本申请接口自动化测试方法一实施例步骤S11的流程示意图。本实施例中,步骤S11获取测试用例的思维导图可以通过如下步骤进行实施:

步骤S111:接收接口定义标准服务的接口参考文件。

接口定义标准服务可以提供接口参考文件,且接口参考文件用于提供测试顺序和接口元素。接口定义标准服务包括但不限于是Swagger接口服务,而接口定义标准服务的接口参考文件为Swagger接口服务提供的Json接口数据。

步骤S112:解析接口参考文件,形成测试模板的思维导图。

解析接口参考文件,得到测试顺序和接口元素,基于测试顺序和接口元素,形成测试模板的思维导图,从而将接口定义标准服务的接口参考文件转换为测试模板的思维导图时,可以转化一个项目的所有测试时所需的信息以及测试顺序到测试模板的思维导图中。例如,利用Json接口数据转换为XMind测试模板,并可以利用XMind测试模板快速生成测试用例的思维导图。

在一实施例中,在测试模板的思维导图中,可以用父主题表示项目名,子主题表示对应模板用例。在解析接口参考文件,形成测试模板的思维导图时,将接口参考文件中的项目名作为测试模板的思维导图的父主题;为接口参考文件的每个路径字段创建子主题,并按照路径字段之间的先后顺序,将对应的子主题与父主题进行连接,从而得到测试模板的思维导图中的测试顺序;以及将路径字段中的接口名称、接口类名、接口参数对应记录在子主题的主题名、标签、备注中,从而得到测试模板的思维导图中的接口元素。

步骤S113:响应于用户指令,调整测试模板的思维导图中的测试顺序和/或接口元素,得到测试用例的思维导图。

用户可以为测试用例设计人员、测试用例编写人员等任何人,在此不作具体限定。调整测试模板的思维导图中的测试顺序和/或接口元素,得到测试用例的思维导图时,可以删除和/或添加子主题;可以调整子主题之间的连接关系;可以修改备注中的接口参数,因此可以快速编辑测试顺序和接口元素。由于子主题表示对应模板用例,接口名称、接口类名、接口参数对应记录在子主题的主题名、标签、备注中,因此可以快速对接口元素进行删除和/或添加等调整。在一应用场景中,响应于用户指令,删除和/或添加子主题时,用户可以直接在测试模板的思维导图中删除和/或添加各接口对应的子主题,接口关联的接口元素将被整体删除和/或添加,从而快速生成测试用例的思维导图。在另一应用场景中,在形成测试模板的思维导图后,响应于用户的指令,新建思维导图,从测试模板的思维导图中拷贝部分或全部测试顺序和/或接口元素至新建思维导图中,将新建思维导图作为测试用例的思维导图。

综上,由于在测试用例的思维导图中,测试用例的思维导图包括主题,每个主题对应一个待测试接口,利用主题之间的连接关系表示主题对应的待测试接口的测试顺序,每个主题记录有待测试接口在测试时所需的信息,使得测试用例的思维导图同时包括待测试接口的定义和逻辑连接关系,因此利用测试用例的思维导图对接口进行自动化测试能够节省人力、时间或硬件资源,提高测试效率。

相较于现有测试用例,需要测试用例设计人员、测试用例编写人员等用户具备一定程度的编码能力才可以编写测试用例,本文的测试用例的思维导图能够表示测试用例的待测试接口的测试顺序以及接口元素,无需用户过多编写操作即可实现待测试接口的测试,能够简化自动化测试过程,节省时间。相较于测试用例由程序实现接口,由表格管理待测试接口在测试时所需的信息,测试用例的思维导图技术需求和维护成本较低。思维导图包括测试顺序和接口元素,由于思维导图的主题之间的连接关系本身能够直观地体现待测试接口的测试顺序,并且思维导图本身能够直观显示接口元素,因此,即使不具有专业的代码编写能力的人员也可以根据思维导图了解到测试用例的测试顺序和接口元素,并且方便人员调整测试用例的测试顺序和接口元素。

步骤S12:解析测试用例的思维导图,得到待测试接口的测试顺序以及对应的接口元素。

获取测试用例的思维导图后,解析测试用例的思维导图,即可得到待测试接口的测试顺序以及接口元素。在一实施例中,利用XMind应用程序绘制测试用例的思维导图后,可以利用XMind应用程序接口解析测试用例的思维导图。

步骤S13:基于测试顺序和接口元素,对待测试接口进行测试,得到待测试接口的测试结果。

按照测试顺序分别利用待测试接口对应的接口元素对待测试接口进行测试,即可得到待测试接口的测试结果。待测试接口包括多个时,基于测试顺序和接口元素,对多个待测试接口进行测试,得到多个待测试接口的测试结果,则可以基于多个待测试接口的测试结果得到接口自动化测试结果。基于测试顺序和接口元素,可以对待测试接口进行测试,得到该待测试接口的测试结果,继续对该待测试接口后面的待测试接口进行测试,得到与之对应的测试结果。在一个实施场景中,上述步骤S12和步骤S13可以先执行步骤S12,后执行步骤S13,也即是先解析测试用例的思维导图,得到所有待测试接口的测试顺序以及接口元素后,再基于测试顺序和接口元素,对待测试接口进行测试,得到待测试接口的测试结果,基于测试顺序和接口元素,对测试用例的所有待测试接口进行测试后,得到所有待测试接口的测试结果,基于所有待测试接口的测试结果,形成接口自动化测试结果,其中,接口自动化测试结果包括测试通过或测试不通过。在另一个实施场景中,上述步骤S12和步骤S13还可以同时执行,也即是解析测试用例的思维导图的过程中,即可基于测试顺序和接口元素,对待测试接口进行测试,得到待测试接口的测试结果,具体可以根据实际应用进行设置,在此不做限定。按照测试顺序,依序对待测试接口进行测试,得到待测试接口的测试结果,若所有待测试接口的测试结果均为测试通过,则形成表示测试通过的接口自动化测试结果,若存在待测试接口的测试结果为测试不通过,则形成表示测试不通过的接口自动化测试结果。在一实施例中,可以不用等到所有待测试接口都测试完成后才形成接口自动化测试结果,而是可以在对待测试接口进行测试过程中,形成接口自动化测试结果,例如,按照测试顺序,将待测试接口作为待测试接口,若待测试接口的测试结果为测试不通过,则形成表示测试不通过的接口自动化测试结果,若待测试接口的测试结果为测试通过,则按照测试顺序将下一个待测试接口作为待测试接口进行测试,从而在测试过程中,只要出现待测试接口的测试结果为测试不通过,则形成表示测试不通过的接口自动化测试结果,否则继续对后续待测试接口进行测试。

为了更清楚的说明如何利用测试顺序和接口元素对待测试接口进行测试,得到接口测试结果。请参阅图3,图3是本申请接口自动化测试方法一实施例步骤S13的流程示意图,本实施例中,步骤S13可以通过如下步骤进行实施:

本实施例中,接口元素还包括接口执行标记;在步骤S131利用接口参数对待测试接口进行测试,得到待测试接口的实际返回结果之前,可以检测接口执行标记,以根据检测到的接口执行标记确定是否对待测试接口进行测试。若检测到当前的待测试接口不存在接口执行标记,则执行步骤S132利用接口参数对当前的待测试接口进行测试,得到当前的待测试接口的实际返回结果;若检测到当前的待测试接口存在接口执行标记,则不对当前的待测试接口进行测试,或者不对测试顺序位于当前的待测试接口之后的待测试接口进行测试。在另一实施例中,也可以检测到当前的待测试接口存在接口执行标记,则执行步骤S132;而检测到当前的待测试接口不存在接口执行标记,则不对当前的待测试接口进行测试,或者不对测试顺序位于当前的待测试接口之后的待测试接口进行测试。接口执行标记还可以用作其他自定义功能,在此不作具体限定。

步骤S131:利用接口参数对待测试接口按照测试顺序进行测试,得到待测试接口的实际返回结果。

本实施例中,接口元素包括接口名称、接口类名和接口参数,从而在利用接口参数对待测试接口进行测试,得到待测试接口的实际返回结果时,实例化待测试接口的接口类名;在待测试接口的接口类名对应的类中,查找到与待测试接口的接口名称对应的测试方法;基于接口参数,调用测试方法,得到待测试接口的实际返回结果。实例化待测试接口的接口类名后,可以确定执行测试的对象。若检测到待测试接口的接口类名发生变化,则基于接口类名重新实例化待测试接口的接口类名;若检测到待测试接口的接口类名未发生变化,也即是待测试接口的接口类名与其邻近的已完成测试的待测试接口的接口类名相同,则不用实例化待测试接口的接口类名。待测试接口的备注中的接口参数可以通过任意解析方法获取,在此不作具体限定。例如,可以利用python按行解析备注,得到接口参数。

步骤S132:基于实际返回结果,得到待测试接口的测试结果。

本实施例中,接口参数还可以包括期待返回结果,从而在基于实际返回结果,得到待测试接口的测试结果时,比较待测试接口的实际返回结果和期待返回结果,并基于比较结果得到待测试接口的是否测试通过的测试结果。可以理解的,可以先利用接口参数对所有待测试接口作为待测试接口进行测试,得到所有待测试接口的实际返回结果后,再分别比较每个待测试接口的实际返回结果与期望返回结果,基于比较结果得到每个待测试接口的是否测试通过的测试结果;也可以利用接口参数对待测试接口进行测试,得到待测试接口的实际返回结果后,立即比较待测试接口的实际返回结果和期待返回结果,然后基于比较结果得到待测试接口的是否测试通过的测试结果,或者继续将待测试接口的下一个待测试接口作为新的待测试接口,执行利用接口参数对待测试接口进行测试,得到待测试接口的实际返回结果及其后续步骤。

在一应用场景中,检测到待测试接口的实际返回结果与期待返回结果相同或者在预设误差范围内,则表示该待测试接口测试通过,否则表示该待测试接口测试未通过。检测到每个待测试接口均测试通过后,则得到测试通过的接口自动化测试结果;检测到存在待测试接口测试未通过,则得到测试不通过的接口自动化测试结果,或者检测到存在待测试接口测试未通过达预设次数,则得到测试不通过的接口自动化测试结果。由于是按照测试顺序将每个待测试接口作为待测试接口进行测试的,因此可以检测到待测试接口测试未通过后,则停止按照测试顺序,将待测试接口作为待测试接口。

在另一实施例中,在基于实际返回结果,得到接口测试结果之后,还可以将测试结果信息记录在测试用例的思维导图的批注中。为了提高测试结果的精准度,还可以将记录测试结果信息的测试用例的思维导图作为本申请步骤S11中获取的测试用例的思维导图,从而多次对测试用例的思维导图进行测试,基于多次的待测试接口的测试结果作为最终的待测试接口的测试结果,形成接口自动化测试结果。其中,测试结果信息包括以下至少一种:实际返回结果、实际返回结果的返回时间和接口测试结果。测试结果信息还可以包括其他反映待测试接口的测试结果的信息,在此不作具体限定。

通过上述方式,由于思维导图表示测试用例的待测试接口的测试顺序以及接口元素,且接口元素为待测试接口在测试时所需的信息,因此获取测试用例的思维导图相当于获取到待测试接口的测试顺序以及待测试接口在测试时所需的信息,从而解析测试用例的思维导图,得到待测试接口的测试顺序以及接口元素后,即可基于测试顺序和接口元素,对待测试接口进行测试,得到待测试接口的测试结果,仅根据测试用例的思维导图所包括的内容即可实现待测试接口的测试,能够简化自动化测试过程,节省时间。

上述测试用例的思维导图可以由接口测试用例的生成方法生成。请参阅图4,图4是本申请接口测试用例的生成方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:

步骤S41:确定待测试接口的测试顺序以及对应的待测试接口的接口元素。

接口元素为待测试接口在测试时所需的信息。接口元素包括以下至少一种:接口名称、接口类名、接口参数、接口执行标记和为待测试接口预设的期待返回结果,其中,接口参数用于提供给待测试接口,以使待测试接口基于接口参数调用查找到与待测试接口对应的测试方法。接口执行标记用于表示是否执行待测试接口的测试。

步骤S42:将待测试接口的测试顺序以及对应的待测试接口的接口元素绘制在思维导图中,得到测试用例的思维导图。

在测试用例的思维导图中,思维导图包括主题,每个主题对应一个待测试接口,主题之间的连接关系用于表示主题对应的待测试接口的测试顺序;主题的信息用于表示主题对应的待测试接口的接口元素。主题包括以下信息:主题名,用于记录待测试接口的接口名称;标签,用于记录待测试接口的接口类名;备注,用于记录待测试接口的接口参数和/或期待返回结果;图标,用作接口执行标记。

通过上述方式,由于接口元素为待测试接口在测试时所需的信息,因此,确定待测试接口的测试顺序以及接口元素后,只需将待测试接口的测试顺序以及接口元素绘制在思维导图中,即可得到测试用例的思维导图,使得测试用例的思维导图同时包括测试顺序和待测试接口在测试时所需的信息,测试用例的思维导图中待测试接口的测试顺序较清晰,接口元素也方便展示和应用。

为了便于理解本申请方案,下面结合一具体例子进行说明:

请参阅图5,图5是本申请接口自动化测试方法一应用实施例的测试用例的思维导图的示意图。图6为图5测试用例的思维导图中查询黑名单的备注示意图。

本应用实施例中,如图5所示,测试用例的思维导图为利用XMind应用程序绘制的XMind测试用例。以“查询黑名单”这个待测试接口为例,“查询黑名单”这个待测试接口与一个主题对应,该主题包括主题名51、标签52、备注53、图标54、批注55。其中,主题名51用于记录待测试接口的接口名称;标签52用于记录待测试接口的接口类名;备注53用于记录待测试接口的接口参数和/或期待返回结果;图标54用作接口执行标记;批注55用于将测试结果信息记录在测试用例的思维导图中。本应用实施例中,按照测试顺序待测试接口的接口名称依次为“查询黑名单”、“删除黑名单”、“暂停数秒”、“新增黑名单”、“timesleep(5)”、“黑名单比对v1”或“黑名单比对v2”。如图5所示,以“查询黑名单”为例,主题名51记录“查询黑名单”的接口名称为“查询黑名单”;标签52记录“查询黑名单”的接口类名为RISKFACECMP;图标54用作接口执行标记,以便若检测到“查询黑名单”存在接口执行标记,则不对“查询黑名单”进行测试,或者不对测试顺序位于“查询黑名单”之后的待测试接口进行测试;批注55可以将“查询黑名单”的测试结果信息记录在测试用例的思维导图中。结合图5和图6,图5中的备注53记录“查询黑名单”的接口参数和期待返回结果,图6以“查询黑名单”为例,接口参数包括cacheId=get_list;serviceId=None;serviceKey=None,期待返回结果为expection=None。以“黑名单比对v2”主题为例,其包括接口执行标记,因此在基于测试顺序和接口元素,依序对待测试接口进行测试,得到接口测试结果时,检测到黑名单比对v2存在接口执行标记,则不对黑名单比对v2进行测试。可以理解的,本应用实施例中的测试用例的思维导图可以是通过如图2所示的流程步骤获取得到,也可以通过如图4所示的接口测试用例的生成方法得到。

获取到测试用例的思维导图后,解析测试用例的思维导图,得到待测试接口的测试顺序为“查询黑名单”、“删除黑名单”、“暂停数秒”、“新增黑名单”、“timesleep(5)”、“黑名单比对v1”,并得到每个待测试接口的接口名称、接口类名、接口参数、接口执行标记和为待测试接口预设的期待返回结果等接口元素,然后基于测试顺序和接口元素,对待测试接口进行测试,得到测试通过或测试不通过的待测试接口的测试结果。

具体地的测试过程如下:将“查询黑名单”作为待测试接口,实例化“查询黑名单”的接口类名为RISKFACECMP1;在“查询黑名单”的接口类名RISKFACECMP1对应的类中,查找到与“查询黑名单”对应的测试方法,例如通过Swagger查找与“查询黑名单”的对应的实际程序所需的测试方法;基于“查询黑名单”的接口参数(cacheId=get_list;serviceId=None;serviceKey=None),调用测试方法,得到待测试接口的实际返回结果;比较“查询黑名单”的实际返回结果和期待返回结果(expection=None),并基于比较结果得到测试是否通过的待测试接口的测试结果。在“查询黑名单”之后,与测试“查询黑名单”类似,依序将“删除黑名单”、“暂停数秒”、“新增黑名单”、“timesleep(5)”、“黑名单比对v1”作为待测试接口即可,在此不再赘述。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

请参阅图7,图7是本申请电子设备70一实施例的框架示意图。电子设备70包括相互耦接的存储器71和处理器72,处理器72用于执行存储器71中存储的程序指令,以实现上述任一接口自动化测试方法实施例的步骤,或实现上述任一接口测试用例的生成方法实施例中的步骤。在一个具体的实施场景中,电子设备70可以包括但不限于:微型计算机、服务器,此外,电子设备70还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器72用于控制其自身以及存储器71以实现上述任一接口自动化测试方法实施例的步骤,或实现上述任一接口测试用例的生成方法实施例中的步骤。处理器72还可以称为CPU(Central Processing Unit,中央处理单元)。处理器72可能是一种集成电路芯片,具有信号的处理能力。处理器72还可以是通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器72可以由集成电路芯片共同实现。

请参阅图8,图8为本申请计算机可读存储介质80一实施例的框架示意图。计算机可读存储介质80存储有能够被处理器运行的程序指令801,程序指令801用于实现上述任一接口自动化测试方法实施例的步骤,或实现上述任一接口测试用例的生成方法实施例中的步骤。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 接口自动化测试方法及其用例生成方法、设备及存储介质
  • 接口自动化测试用例生成方法及相关设备
技术分类

06120112533457