接口测试方法、装置、存储介质和处理器与流程

文档序号:13804699阅读:196来源:国知局
接口测试方法、装置、存储介质和处理器与流程

本发明涉及计算机领域,具体而言,涉及一种接口测试方法、装置、存储介质和处理器。



背景技术:

在现在的软件研发领域,无论是开发电商、支付还是客户关系管理crm等系统,都避免不了对外提供接口服务,其中,接口的定义、开发和测试都是研发流程中不可缺少的环节。开发人员和测试人员需要针对不同的接口的类型,编写不同的接口测试代码

但是,随着业务深入和需求变更,产品在持续迭代,接口也在不断地被重新定义、开发和测试;随之而来的问题就是接口数量开始膨胀,需要维护的接口测试代码也在膨胀,开发人员和测试人员需要安排大量的时间在维护接口的测试代码上。

针对上述通过人工编写测试代码而造成维护测试代码效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种接口测试方法、装置、存储介质和处理器,以至少解决通过人工编写测试代码而造成维护测试代码效率低的技术问题。

根据本发明实施例的一个方面,提供了一种接口测试方法,包括:获取预定格式文件,其中,所述预定格式文件包括预定接口的接口参数;根据所述预定接口的接口类型,确定用于生成接口测试代码的测试模型,其中,所述接口测试代码用于对所述预定接口进行测试;根据所述测试模型和所述接口参数生成所述接口测试代码。

进一步地,获取所述预定格式文件包括:将所述预定接口的接口参数转换为可扩展标记语言xml文本;获取所述可扩展标记语言xml文本生成的所述预定格式文件。

进一步地,在获取所述预定格式文件前,所述方法还包括:更新所述预定格式文件中的所述接口参数。

进一步地,所述接口参数包括:接口名称、版本号、请求路径和请求方式、请求报文结构和响应报文结构、参数名称、参数类型、参数长度、参数约束。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。

根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。

根据本发明实施例的另一方面,还提供了一种接口测试装置,包括:获取单元,用于获取预定格式文件,其中,所述预定格式文件包括预定接口的接口参数;确定单元,用于根据所述预定接口的接口类型,确定用于生成接口测试代码的测试模型,其中,所述接口测试代码用于对所述预定接口进行测试;生成单元,用于根据所述测试模型和所述接口参数生成所述接口测试代码。

进一步地,所述获取单元包括:转换模块,用于将所述预定接口的接口参数转换为可扩展标记语言xml文本;获取模块,用于获取所述可扩展标记语言xml文本生成的所述预定格式文件。

进一步地,所述装置还包括:更新单元,用于在获取所述预定格式文件前,更新所述预定格式文件中的所述接口参数。

进一步地,所述接口参数包括:接口名称、版本号、请求路径和请求方式、请求报文结构和响应报文结构、参数名称、参数类型、参数长度、参数约束。

在本发明实施例中,预定格式文件中包括预定接口的接口参数,在进行接口测试的过程中,根据预定接口的接口类型确定用于生成接口测试代码的测试模型,该测试模型根据获取的预定格式文件中的接口参数,生成用于对预定接口进行测试的接口测试代码,进而可以使测试模型根据预定格式文件,自动生成用于对预定接口进行测试的代码,从而在对接口进行测试的过程中,无需人工针对不同的接口编写测试代码,解决通过人工编写测试代码而造成维护测试代码效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的接口测试方法的流程图;

图2是根据本发明实施例的一种可选的生成接口测试代码的示意图;

图3是根据本发明实施例的一种可选的接口测试装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

xml,为可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言,

maven,项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

根据本发明实施例,提供了一种接口测试方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的接口测试方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取预定格式文件,其中,预定格式文件包括预定接口的接口参数;

步骤s104,根据预定接口的接口类型,确定用于生成接口测试代码的测试模型,其中,接口测试代码用于对预定接口进行测试;

步骤s106,根据测试模型和接口参数生成接口测试代码。

根据本发明上述实施例,预定格式文件中包括预定接口的接口参数,在进行接口测试的过程中,根据预定接口的接口类型确定用于生成接口测试代码的测试模型,该测试模型根据获取的预定格式文件中的接口参数,生成用于对预定接口进行测试的接口测试代码,进而可以使测试模型根据预定格式文件,自动生成用于对预定接口进行测试的代码,从而在对接口进行测试的过程中,无需人工针对不同的接口编写测试代码,解决通过人工编写测试代码而造成维护测试代码效率低的技术问题。

可选地,接口包括多种类型,其中,预定接口表示用于进行测试的接口类型。

可选地,测试模型还可以根据测试类型确定,例如,在对预定接口做自动化测试的情况下,可以确定该测试模型为与自动化测试系统对应的自动化测试模型;在对预定接口做冒烟测试的情况下,可以确定该测试模型为与冒烟测试系统对应的冒烟测试模型;在对预定接口做性能测试的情况下,可以确定该测试模型为与性能测试系统对应的性能测试模型。

作为一种可选的实施例,获取预定格式文件可以包括:将预定接口的接口参数转换为可扩展标记语言xml文本;获取可扩展标记语言xml文本生成的预定格式文件。

采用本发明上述实施例,通过将预定接口的接口参数转换为可扩展标记语言文本,并根据可扩展标记语言文本生成预定格式的文件,从而使预定格式文件中可以包括预定接口的接口参数,便于后续根据该预定格式文件生成与预定接口对应的测试代码。

作为一种可选的实施例,在获取预定格式文件前,该实施例还可以包括:更新预定格式文件中的接口参数。

采用本发明上述实施例,可以在获取预定格式文件之前,可以先对该预定格式文件中的接口参数进行更新,进而可以根据更新后的预定格式文件生成符合预定接口使用需求的测试代码。

根据本发明上述实施了,技术人员在对预定接口的测试代码进行维护的过程中,仅需对预定格式文件中的接口参数进行更新即可,从而技术人员可以准确、快速地对预定接口的测试代码进行维护,加大对预定接口的测试代码的维护效率。

作为一种可选的实施例,接口参数包括:接口名称、版本号、请求路径和请求方式、请求报文结构和响应报文结构、参数名称、参数类型、参数长度、参数约束。

采用本发明上述实施,在接口参数中包括接口名称、版本号、请求路径和请求方法、请求报文结构和响应报文结构、参数名称、参数类型、参数长度、参数约束,从而可以使预定接口的测试模型能够准确生成符合预定接口实际使用需求的测试代码。

本发明还提供了一种优选实施例,该优选实施例提供了一种接口测试代码自动化生成方法。

本发明提供的接口测试代码自动化生成方法,可以使用xml格式文件对接口进行维护,其中,xml格式文件包括接口名称、版本号、请求路径和请求方法、请求报文结构和响应报文结构,并在请求报文结构和响应报文结构中包含:如参数名称、参数类型、参数长度、参数约束等参数。

需要说明的是,接口测试代码的逻辑一般都可以分为:请求报文组装、请求报文处理、报文传输、响应报文处理、响应报文解析五个环节,其中,请求报文处理、报文传输、响应报文处理都是统一机制,一般针对同一个系统,所有接口测试代码中以上机制均可以通用。

但是,请求报文组装和响应报文解析,却会因为具体接口机构的不同而有显著差别,所以编写接口测试代码的工作量其实是落在具体的请求报文组装和响应报文解析环节。

图2是根据本发明实施例的一种可选的生成接口测试代码的示意图,如图2所示,该方法包括如下步骤:

步骤s1:xml格式文件中包括具体接口名称、版本号、请求路径和请求方法、请求报文结构和响应报文结构,其中,请求报文结构和响应报文结构中包含参数名称、参数类型、参数长度、参数约束等参数。

步骤s2:建立接口测试工程,其中,接口测试工程可以是标准的maven工程。

步骤s3:编写抽象接口访问类,其中,该抽象接口访问类需要封装请求报文处理、报文传输、响应报文处理机制。

步骤s4:维护xml格式文件。

步骤s5:在接口测试工程目录下,执行生成命令“mvncleanpackage–pnocheck”,生成接口测试代码。

步骤s6:准备测试数据,根据生成的接口测试代码进行测试活动。

需要说明的是,在软件开发的每次迭代过程中,一旦接口变化,以上步骤s4至步骤s6的过程将会循环执行。

可选地,技术人员可以在维护接口定义文件xml之后,通过简单配置参数,便可全力处理业务逻辑开发,极大地提高了开发效率。

采用本发明上述实施例,无论接口报文结构如何变化,开发工程师只需要利用本发明直接生成接口测试代码即可;

根据本发明上述实施例,可以通过maven插件解析上述xml格式文件,自动生成接口测试代码。

本发明提供的接口测试代码自动化生成方法,既适用于接口开发,也适用于接入其他第三方接口,负责接口开发和第三方接口接入的java工程师,只需维护xml格式文件,即可自动生成接口测试代码,进而后续通过配置环境参数,准备测试数据就可以迅速对接口进行单元测试或者联调工作,提高开发效率。

通过本发明生成的测试代码可以直接作用于测试活动。熟悉java语言的测试工程师可以基于该代码直接进行自动化测试、冒烟测试和简单的性能测试,大幅节省了脚本单独开发和维护的时间。

本发明提供的上述技术方案,在项目生命周期内,测试代码可以在开发、测试两个阶段的重用,对改进研发流程具备一定实践价值。

本发明通过将接口的接口参数转换为xml格式文件,对接口的结构、交互进行了约束,并通过maven插件生成接口测试代码,既有利于提高开发效率,也有利于规范接口开发工作。

本发明生成的接口测试代码都是标准的基于testng测试用例代码,可以直接拿来在各类ide,如eclipse中使用,基本不用做修改。

本发明提供的接口测试代码自动化生成的方法,具有稳定、可持续、可扩展等优点,技术人员利用本发明可以基于接口定义文件自动生成测试代码,迅速完成相关测试工作,提高测试效率。

根据本发明的另一方面,本发明实施例还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的接口测试方法。

根据本发明的另一方面,本发明实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的接口测试方法。

根据本发明实施例,还提供了一种接口测试装置实施例,需要说明的是,该接口测试装置可以用于执行本发明实施例中的接口测试方法,本发明实施例中的接口测试方法可以在该接口测试装置中执行。

图3是根据本发明实施例的一种可选的接口测试装置的示意图,如图3所示,该装置可以包括:获取单元31,用于获取预定格式文件,其中,预定格式文件包括预定接口的接口参数;确定单元33,用于根据预定接口的接口类型,确定用于生成接口测试代码的测试模型,其中,接口测试代码用于对预定接口进行测试;生成单元35,用于根据测试模型和接口参数生成接口测试代码。

需要说明的是,该实施例中的获取单元31可以用于执行本申请实施例中的步骤s102,该实施例中的确定单元33可以用于执行本申请实施例中的步骤s104,该实施例中的生成单元35可以用于执行本申请实施例中的步骤s106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。

根据本发明上述实施例,预定格式文件中包括预定接口的接口参数,在进行接口测试的过程中,根据预定接口的接口类型确定用于生成接口测试代码的测试模型,该测试模型根据获取的预定格式文件中的接口参数,生成用于对预定接口进行测试的接口测试代码,进而可以使测试模型根据预定格式文件,自动生成用于对预定接口进行测试的代码,从而在对接口进行测试的过程中,无需人工针对不同的接口编写测试代码,解决通过人工编写测试代码而造成维护测试代码效率低的技术问题。

作为一种可选的实施例,获取单元包括:转换模块,用于将预定接口的接口参数转换为可扩展标记语言xml文本;获取模块,用于获取可扩展标记语言xml文本生成的预定格式文件。

作为一种可选的实施例,装置还包括:更新单元,用于在获取预定格式文件前,更新预定格式文件中的接口参数。

作为一种可选的实施例,接口参数包括:接口名称、版本号、请求路径和请求方式、请求报文结构和响应报文结构、参数名称、参数类型、参数长度、参数约束。

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

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1