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

基于MAVEN生命周期的自动化测试报告生成方法

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


基于MAVEN生命周期的自动化测试报告生成方法

技术领域

本发明涉及接口测试的技术领域,具体为一种基于MAVEN生命周期的自动化测试报告生成方法。

背景技术

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的项目管理工具软件。而Maven生命周期是指对项目所有构建过程进行的抽象表达,其包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等阶段。

在业务接口的开发过程中,在正式使用前,需对业务接口进行测试,上传测试数据,基于测试数据对代码进行调试。但是实际使用过程中,需要手动控制测试系统的打开和关闭,常常出现测试后,未及时关闭的情况,因此在代码调试阶段也会上传数据,而此时上传的数据为调试数据,将调试数据作为统计数据对业务接口进行评价,难以保障统计数据的真实性,导致评价结果与实际结果存在偏差。

发明内容

本发明意在提供一种基于MAVEN生命周期的自动化测试报告生成方法,能够仅在测试阶段自动接入报告生成流程实现测试数据的上报,避免在其他阶段中上报调试数据,影响数据统计结果。

本发明提供如下基础方案:

基于MAVEN生命周期的自动化测试报告生成方法,包括以下步骤:

S1:判断test命令是否被触发,当test命令被触发时,接入报告生成流程;

S2:当接入报告生成流程后,判断接口测试是否执行完成,当接口测试执行完成时,将执行结果组装成列表对象;

S3:组装列表对象后,读取配置,判断是否需要上传执行结果,当需要上传时,上传列表对象;

S4:上传列表对象后或者当不需要上传执行结果时,读取配置,判断是否需要生成测试报告,当需要生成测试报告时,根据列表对象生成测试报告。

基础方案的有益效果:在MAVEN生命周期中,进入每一阶段都具有相应的指令或命令,基于MAVEN生命周期中的test命令,自动触发报告生成流程,实现将报告生成流程集成MAVEN生命周期的测试阶段,减去编写触发代码的开发成本。

当自动触发报告生成流程后,在完成接口测试时获取执行结果,执行结果即为测试业务接口的执行结果,将执行结果组装成列表对象,列表对象为设定的便于使用的数据种类和格式。同时将列表对象的生成和列表对象的上传,以及测试报告的生成的逻辑分离,在后续补充新的功能逻辑时,只需横向拓展新的功能逻辑,无需对现有功能逻辑进行修改,缩短开发周期。

读取配置,根据配置决定是否需上传执行结果以及是否生成执行报告。采用本方案仅在测试阶段自动接入报告生成流程实现测试数据的上报,避免在其他阶段中上报调试数据,影响数据统计结果。

进一步,S2中将执行结果组装成列表对象,包括以下步骤:

列表对象包括测试类名称、测试方法名称、实际测试数据、测试执行时间、测试结果和测试报错信息中的多种,根据列表对象从执行结果中提取对应数据进行填充。

有益效果:基于列表对象从执行结果中提取数据进行填充,从而实现对列表对象的组装。

进一步,还包括以下步骤:

对接口测试项目进行配置。

有益效果:通过对接口测试项目进行配置,实现相应功能的开启和关闭,例如是否上传列表对象。

进一步,对接口测试项目进行配置,包括以下步骤:

获取接口测试项目的pom.xml文件,通过pom.xml文件进行配置。

有益效果:基于需求对pom.xml文件进行编写,通过pom.xml文件对接口测试项目的maven工程进行配置,从而判断是否上传列表对象和是否生成测试报告。

进一步,S3中上传列表对象时,通过REST接口将列表对象发送至第三方平台。

进一步,S4中根据列表对象生成测试报告,包括以下步骤:

调用预设的报告模版,根据列表对象对报告模版进行组合渲染生成测试报告。

有益效果:基于用户所需的数据提前对报告模版进行配置,根据报告模版生成相应内容的测试报告,一是去除不必要的数据,二是更符合用户的需求。

进一步,报告模版为HTML静态模版。

有益效果:模版采用HTML静态模版,不含任何与平台和程序相关的信息,可以被任何文本编辑器读取,更便于传输和读取。

进一步,还包括以下步骤:

对报告模版进行自定义。

有益效果:报告模版支持自定义,根据需求对报告模版的指标进行扩展,从而在测试报告中对相应指标进行展示。

进一步,还包括以下步骤:

S5:当生成测试报告时,调用同一接口测试项目的历史测试报告,筛选时间最近的历史测试报告与当前生成的测试报告进行对比,当对比结果为两者不一致时,生成提示信息。

有益效果:为保证业务接口的稳定性,业务接口在多次测试下其测试结果应保持一致,自动对测试报告进行比对,当测试报告不一致时,代表需要进一步改进,因此通过提示信息对开发人员进行提醒。

进一步,S5还包括以下步骤:

当对比结果为两者不一致时,根据历史测试报告和测试报告进行自动分析,标记异常项。

有益效果:在相邻两次测试中测试报告不一致时,通过自动分析,对存在差异的数据作为异常项进行标记,通过标记异常项的方式,便于开发人员进行及时发现问题,解决问题,提高开发效率。

附图说明

图1为本发明基于MAVEN生命周期的自动化测试报告生成方法实施例一的流程图;

图2为本发明基于MAVEN生命周期的自动化测试报告生成方法实施例一列表对象示意图;

图3为本发明基于MAVEN生命周期的自动化测试报告生成方法实施例一测试报告示意图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

基于MAVEN生命周期的自动化测试报告生成方法,其特征在于:如附图1所示,包括以下步骤:

S1:判断test命令是否被触发,当test命令被触发时,接入报告生成流程。基于MAVEN生命周期中的test命令,自动触发报告生成流程,减去编写触发代码的开发成本,将报告生成流程集成MAVEN生命周期的测试阶段。

具体的,与通用的ci/cd框架(如:Jenkins)结合,通过ci/cd工具来自动触发test命令的执行,比如在检测到业务接口代码更新部署后触发业务接口自动化测试代码执行,以实现对接口业务的持续集成和部署。

S2:当接入报告生成流程后,判断接口测试是否执行完成,当接口测试执行完成时,将执行结果组装成列表对象,如附图2所示。列表对象包括测试类名称、测试方法名称、实际测试数据、测试执行时间、测试结果和测试报错信息中的多种,在本实施例中,列表对象包括测试类名称、测试方法名称、实际测试数据、测试执行时间、测试结果和测试报错信息。将执行结果组装成列表对象,包括以下步骤:根据列表对象从执行结果中提取对应数据进行填充。

S3:组装列表对象后,读取配置,判断是否需要上传执行结果,当需要上传时,上传列表对象。上传列表对象时,通过REST接口将列表对象发送至第三方平台,第三方平台为自动化执行统计平台,通过自动化执行统计平台对列表对象进行存储,即对接口测试项目的执行结果进行存储。

在其他实施例中,还包括以下步骤:对接口测试项目进行配置,其包括以下步骤:获取接口测试项目的pom.xml文件,通过pom.xml文件进行配置。通过pom.xml文件对接口测试项目的maven工程进行配置,从而判断是否上传列表对象和是否生成测试报告。

S4:上传列表对象后或者当不需要上传执行结果时,读取配置,判断是否需要生成测试报告,当需要生成测试报告时,根据列表对象生成测试报告,如附图3所示。根据列表对象生成测试报告,包括以下步骤:调用预设的报告模版,根据列表对象对报告模版进行组合渲染生成测试报告。报告模版为HTML静态模版。模版采用HTML静态模版,不含任何与平台和程序相关的信息,可以被任何文本编辑器读取,更便于传输和读取。

在其他实施例中,还包括以下步骤:对报告模版进行自定义,报告模版支持自定义,根据需求对报告模版的指标进行扩展,从而在测试报告中对相应指标进行展示。

实施例二

本实施例与实施例一的不同之处在于:还包括步骤S5。

S4还包括以下步骤:上报测试报告,将测试报告作为历史测试报告进行存储。

S5:当生成测试报告时,调用同一接口测试项目的历史测试报告,筛选时间最近的历史测试报告与当前生成的测试报告进行对比,当对比结果为两者不一致时,生成提示信息。并根据历史测试报告和测试报告进行自动分析,标记异常项。

为保证业务接口的稳定性,业务接口在多次测试下其测试结果应保持一致,自动对测试报告进行比对,当测试报告不一致时,代表需要进一步改进,通过自动分析,对存在差异的数据作为异常项进行标记,通过标记异常项的方式,给予开发人员后续改进或调整的方向,同时通过提示信息对开发人员进行提醒,便于开发人员进行及时发现问题,解决问题,提高开发效率。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

相关技术
  • 基于MAVEN生命周期的自动化测试报告生成方法
  • 测试报告自动化生成方法、装置、计算机设备及存储介质
技术分类

06120112859854