接口测试方法、系统、设备及存储介质技术方案

技术编号:24573609 阅读:21 留言:0更新日期:2020-06-21 00:04
本发明专利技术提供了一种接口测试方法、系统、设备及存储介质,该方法包括:获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;分析所述schema文件,获取各个字段的合法值;根据所述schema文件和各个字段的合法值生成测试用例;执行所述测试用例,对所述待测试接口进行测试。本发明专利技术结合接口定义schema,实现细粒度控制,减少了软件工程师在接口测试上的精力,可以提高研发人员交付给测试的代码质量,减少测试人员在不合法参数上的用例执行,提高整体项目质量。

Interface test method, system, equipment and storage medium

【技术实现步骤摘要】
接口测试方法、系统、设备及存储介质
本专利技术涉及软件测试
,尤其涉及一种接口测试方法、系统、设备及存储介质。
技术介绍
在完整的项目流程中,软件工程师在测试过程中会花费大量的精力在HTTP接口的测试上,包含了合法、不合法参数的测试。然而现有技术中的接口测试方法无法进行细粒度控制,无法贴近业务应用。此外,目前公开的模糊测试方案都比较粗暴,运行起来很大概率会被后端Spring框架直接拒绝并返回400(BADREQUEST),在公司业务应用场景上可落地性并不强,相似的方案包括Python实现的PyFuzzy。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供一种接口测试方法、系统、设备及存储介质,方便软件工程师进行接口测试,减少不合法参数上的用例执行。本专利技术实施例提供一种接口测试方法,包括如下步骤:获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;分析所述schema文件,获取各个字段的合法值;根据所述schema文件和各个字段的合法值生成测试用例;执行所述测试用例,对所述待测试接口进行测试。可选地,所述获取待测试接口的schema文件,包括如下步骤:从YApi组件获取待测试接口的schema文件。可选地,所述获取各个字段的合法值,包括如下步骤:从所述各个字段的描述信息中查找预设的合法值标识,将标识的值作为对应的合法值。可选地,所述合法值标记为DTD标识。可选地,所述生成测试用例,包括采用mockjs组件生成模糊测试用例。可选地,所述生成测试用例,包括调用预设的测试用例模板,根据所述schema文件和各个字段的合法值生成测试用例。可选地,所述调用预设的测试用例模板,还包括如下步骤:分析所述schema文件,获取测试目标的IP地址;判断所述测试目标的IP地址为本地环境IP地址还是开发环境IP地址;如果所述测试目标的IP地址为本地环境IP地址,则调用预设的客户端测试用例模板;如果所述测试目标的IP地址为开发环境IP地址,则调用预设的服务端测试用例模板。可选地,所述执行所述测试用例,对所述待测试接口进行测试之后,还包括如下步骤:根据测试用例执行结果,调用预设的测试报告模板,生成测试报告。本专利技术实施例还提供一种接口测试系统,应用于所述的接口测试方法,所述系统包括:测试文件接收模块,用于获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;合法值获取模块,用于分析所述schema文件,获取各个字段的合法值;测试用例生成模块,用于根据所述schema文件和各个字段的合法值生成测试用例;测试用例执行模块,用于执行所述测试用例,对所述待测试接口进行测试。本专利技术实施例还提供一种接口测试设备,包括:处理器;存储器,其中存在所述处理器的可进行指令;其中,所述处理器配置为经由进行所述可进行指令来进行所述的接口测试方法的步骤。本专利技术实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的接口测试方法的步骤。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。本专利技术所提供的接口测试方法、系统、设备及存储介质具有下列优点:本专利技术解决了现有技术的技术问题,结合接口定义schema,实现细粒度控制,减少了软件工程师在接口测试上的精力,可以提高研发人员交付给测试的代码质量,减少测试人员在不合法参数上的用例执行,提高整体项目质量。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1是本专利技术一实施例的接口测试方法的流程图;图2是本专利技术一实施例的定义接口schema文件的示意图;图3是本专利技术一实施例的生成测试报告的示意图;图4是本专利技术一实施例的接口测试系统的结构框图;图5是本专利技术一实施例的接口测试设备的示意图;图6是本专利技术一实施例的计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。如图1所示,为了解决现有技术中的技术问题,本专利技术提供了一种接口测试方法,所述接口测试方法包括如下步骤:S100:获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;具体地,所述schema文件包括请求参数和返回参数,所述请求参数中字段的描述信息包括名称、类型、是否必填和注释,所述返回参数中字段的描述信息包括名称、类型、是否必填和注释。进一步地,每个字段还标识有对应的合法值。S200:分析所述schema文件,获取各个字段的合法值;S300:根据所述schema文件和各个字段的合法值生成测试用例;S400:执行所述测试用例,对所述待测试接口进行测试。因此,本专利技术的接口测试方法通过研发人员在schema文件中定义合法值,通过步骤S100获取定义有各个字段的合法值的schema文件,通过步骤S200和S300结合合法值自动生成测试用例,结合接口定义schema,程序在一开始就知道接口的合法值,再根据合法值设计非法值,来对HTTP接口进行模糊测试,实现细粒度控制,减少了软件工程师在接口测试上的精力,可以提高研发人员交付给测试的代码质量,减少测试人员在不合法参数上的用例执行,可以更好地贴近业务应用。在该实施例中,所述步骤S100获取待测试接口的schema文件,包括如下步骤:从YApi组件获取待测试接口的schema文件。YApi是一个开源的、可本地部署的、打通前后端及运维的、可视化的接口管理平台。如图2所示,示出了在YApi组件上定义schema文件的页面示意图。其中,对接口测试的schema文件的内容进行了定义。在该实施例中,所述获取各个字段的合法值,包括如下步骤:从所述各个字段的描述信息中查找本文档来自技高网...

【技术保护点】
1.一种接口测试方法,其特征在于,包括如下步骤:/n获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;/n分析所述schema文件,获取各个字段的合法值;/n根据所述schema文件和各个字段的合法值生成测试用例;/n执行所述测试用例,对所述待测试接口进行测试。/n

【技术特征摘要】
1.一种接口测试方法,其特征在于,包括如下步骤:
获取待测试接口的schema文件,所述schema文件包括所述待测试接口的各个字段的描述信息,且所述schema文件中各个字段标识有合法值;
分析所述schema文件,获取各个字段的合法值;
根据所述schema文件和各个字段的合法值生成测试用例;
执行所述测试用例,对所述待测试接口进行测试。


2.根据权利要求1所述的接口测试方法,其特征在于,所述获取待测试接口的schema文件,包括如下步骤:
从YApi组件获取待测试接口的schema文件。


3.根据权利要求1所述的接口测试方法,其特征在于,所述获取各个字段的合法值,包括如下步骤:
从所述各个字段的描述信息中查找预设的合法值标识,将标识的值作为对应的合法值。


4.根据权利要求3所述的接口测试方法,其特征在于,所述合法值标记为DTD标识。


5.根据权利要求1所述的接口测试方法,其特征在于,所述生成测试用例,包括采用mockjs组件生成模糊测试用例。


6.根据权利要求1所述的接口测试方法,其特征在于,所述生成测试用例,包括调用预设的测试用例模板,根据所述schema文件和各个字段的合法值生成测试用例。


7.根据权利要求6所述的接口测试方法,其特征在于,所述调用预设的测试用例模板,还包括如下步骤:
分析所述schema文件,获取测试目标的IP地址;
判断所...

【专利技术属性】
技术研发人员:何凯
申请(专利权)人:江苏满运软件科技有限公司
类型:发明
国别省市:江苏;32

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

1