一种接口覆盖率报告准确定位和展示的方法技术

技术编号:27975200 阅读:29 留言:0更新日期:2021-04-06 14:09
本发明专利技术涉及一种接口覆盖率报告准确定位和展示的方法,包括以下步骤:S1、获取当前版本和基线版本的源代码,进行代码比对得到变动代码行;S2、根据语法分析树解析变动代码行,得到对外服务接口;S3、通过JaCoCo工具获取待测系统的执行数据,生成覆盖率报告;S4、建立对外服务接口和报告子页面的关联关系,记录锚点;S5、解析引用函数,查找定位对应的报告子页面并标记,同时回写至原引用函数行;S6、收集覆盖率报告中各维度的百分比统计结果,生成覆盖率趋势图和完成度报表,并发送实时监控告警和消息通知;S7、展示覆盖率报告,并生成对外服务接口列表。与现有技术相比,本发明专利技术具有提高覆盖率报告查阅效率、简化报告切换的复杂操作等优点。

【技术实现步骤摘要】
一种接口覆盖率报告准确定位和展示的方法
本专利技术涉及计算机
,尤其是涉及一种接口覆盖率报告准确定位和展示的方法。
技术介绍
精准化测试是一种依托于对当前版本和基线版本代码比对分析的差异代码行信息,通过设计、编写、执行针对性的接口测试用例,实现对当前版本所有新增、变动代码进行白盒测试的代码测试方法。JaCoCo(JavaCodeCoverage)是一种分析单元测试覆盖率的工具,运行单元测试生成相应的测试覆盖率报告后,可以查看代码中哪些部分被单元测试测到,哪些部分没有没测到,并且给出整个项目不同维度覆盖率百分比统计结果。但是查看覆盖率报告是需要逐级打开,从包名到类名到方法名到代码行需要依次点击才能找到对应的代码行,操作繁琐且低效。不仅不能快速搜索具体的方法行,同时也无法快速定位业务属性的对外服务接口,也不能快速切换报告中代码的引用函数。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的操作繁琐且低效的缺陷而提供一种接口覆盖率报告准确定位和展示的方法。本专利技术的目的可以通过以下技术方案来实现:一种接口覆盖率报告准确定位和展示的方法,具体包括以下步骤:S1、获取当前版本和基线版本的源代码,通过对当前版本和基线版本的源代码进行代码比对得到变动代码行;S2、根据语法分析树解析所述变动代码行,得到变动代码行关联的对外服务接口;S3、通过JaCoCo工具获取待测系统的执行数据,根据所述执行数据生成基于变动代码行的覆盖率报告,所述覆盖率报告包括多个报告子页面;S4、根据匹配规则建立对外服务接口和报告子页面的关联关系,记录报告子页面的锚点;S5、解析报告子页面的所有引用函数,查找定位引用函数对应的报告子页面并标记,同时将所述标记回写至原引用函数行;S6、收集覆盖率报告中各维度的百分比统计结果,通过数据比对生成覆盖率趋势图和完成度报表,并发送实时监控告警和消息通知;S7、根据所述覆盖率报告中各维度的百分比统计结果、覆盖率趋势图和完成度报表生成覆盖率报告的展示模块进行展示,并生成对外服务接口列表展示所有变动代码行的关联接口。所述步骤S2中还包括将变动代码行和对外服务接口存入数据库。所述步骤S4中的匹配规则包括根据类名、方法名和代码行进行匹配。所述步骤S4中还包括将对外服务接口、报告子页面和锚点存入数据库。所述步骤S5中通过将所述标记回写至原引用函数行,实现在覆盖率报告子页面的引用函数间的快读跳转。所述步骤S6中生成覆盖率趋势图的过程具体为获取历史覆盖率报告,通过纵向比对所述历史覆盖率报告生成覆盖率趋势图。所述步骤S6中生成完成度报表的具体过程为获取项目管理预设的期望值,通过横向比对所述项目管理预设的期望值生成完成度报表。所述步骤S7中覆盖率报告的展示模块设有多级展示页面。进一步地,所述覆盖率报告的展示模块的一级页面仅展示覆盖率报告的各维度覆盖率统计数据、趋势图、完成度、项目信息和操作按钮。进一步地,所述项目信息包括被测系统信息、执行时间、执行环境、执行人、当前版本、基准版本和项目负责人,所述操作按钮包括查看报告详情按钮、查看对外服务接口列表按钮、查看系统报告数据趋势图按钮、修改项目期望值按钮和重新获取报告按钮。所述步骤S7中所有变动代码行的关联接口的接口信息包括多个元信息,所述元信息的类型包括请求类型、请求地址、请求参数和响应结果。所述对外服务接口列表中设有报告跳转按钮和引用函数跳转按钮,通过点击报告跳转按钮可直接打开相应的覆盖率报告子页面并定位至准确的锚点,通过点击引用函数跳转按钮可快速跳转至引用函数所在的报告子页面。与现有技术相比,本专利技术具有以下有益效果:1.本专利技术在现有JaCoCo覆盖率报告中新增了变动代码行和对外服务接口关联关系映射,从而提高了覆盖率报告查阅效率,即便没有任何代码基础的人,也能通过最多两次点击操作(在报告展示一级页面点击查看对外服务接口列表,在对外服务接口列表点击跳转)打开并准确定位到接口代码行。2.本专利技术在覆盖率报告中引用函数解析、标记、快速跳转,极大的简化了多个类和方法之间报告切换的复杂操作,有效的提高了覆盖率报告分析效率。附图说明图1为本专利技术的流程示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。如图1所示,一种接口覆盖率报告准确定位和展示的方法,具体包括以下步骤:S1、获取当前版本和基线版本的源代码,通过对当前版本和基线版本的源代码进行代码比对得到变动代码行;S2、根据语法分析树解析变动代码行,得到变动代码行关联的对外服务接口;S3、通过JaCoCo工具获取待测系统的执行数据,根据执行数据生成基于变动代码行的覆盖率报告,覆盖率报告包括多个报告子页面;S4、根据匹配规则建立对外服务接口和报告子页面的关联关系,记录报告子页面的锚点;S5、解析报告子页面的所有引用函数,查找定位引用函数对应的报告子页面并标记,同时将标记回写至原引用函数行;S6、收集覆盖率报告中各维度的百分比统计结果,通过数据比对生成覆盖率趋势图和完成度报表,并发送实时监控告警和消息通知;S7、根据覆盖率报告中各维度的百分比统计结果、覆盖率趋势图和完成度报表生成覆盖率报告的展示模块进行展示,并生成对外服务接口列表展示所有变动代码行的关联接口。步骤S2中还包括将变动代码行和对外服务接口存入数据库。步骤S4中的匹配规则包括根据类名、方法名和代码行进行匹配。步骤S4中还包括将对外服务接口、报告子页面和锚点存入数据库。步骤S5中通过将标记回写至原引用函数行,实现在覆盖率报告子页面的引用函数间的快读跳转。步骤S6中生成覆盖率趋势图的过程具体为获取历史覆盖率报告,通过纵向比对历史覆盖率报告生成覆盖率趋势图。步骤S6中生成完成度报表的具体过程为获取项目管理预设的期望值,通过横向比对项目管理预设的期望值生成完成度报表。步骤S7中覆盖率报告的展示模块设有多级展示页面。覆盖率报告的展示模块的一级页面仅展示覆盖率报告的各维度覆盖率统计数据、趋势图、完成度、项目信息和操作按钮。项目信息包括被测系统信息、执行时间、执行环境、执行人、当前版本、基准版本和项目负责人,操作按钮包括查看报告详情按钮、查看对外服务接口列表按钮、查看系统报告数据趋势图按钮、修改项目期望值按钮和重新获取报告按钮。步骤S7中所有变动代码行的关联接口的接口信息包括多个元信息,元信息的类型包括请求类型、请求地址、请求参数和响应结果。对外服务接口列表中设有报告跳转按钮和引用函数跳转按钮,通过点击报告跳转按钮可直接打开相应的覆盖率报告子页面并定位至准确的锚点,通过点击引用函数跳转按钮可快速跳转至引用函数本文档来自技高网...

【技术保护点】
1.一种接口覆盖率报告准确定位和展示的方法,其特征在于,具体包括以下步骤:/nS1、获取当前版本和基线版本的源代码,通过对当前版本和基线版本的源代码进行代码比对得到变动代码行;/nS2、根据语法分析树解析所述变动代码行,得到变动代码行关联的对外服务接口;/nS3、通过JaCoCo工具获取待测系统的执行数据,根据所述执行数据生成基于变动代码行的覆盖率报告,所述覆盖率报告包括多个报告子页面;/nS4、根据匹配规则建立对外服务接口和报告子页面的关联关系,记录报告子页面的锚点;/nS5、解析报告子页面的所有引用函数,查找定位引用函数对应的报告子页面并标记,同时将所述标记回写至原引用函数行;/nS6、收集覆盖率报告中各维度的百分比统计结果,通过数据比对生成覆盖率趋势图和完成度报表,并发送实时监控告警和消息通知;/nS7、根据所述覆盖率报告中各维度的百分比统计结果、覆盖率趋势图和完成度报表生成覆盖率报告的展示模块进行展示,并生成对外服务接口列表展示所有变动代码行的关联接口。/n

【技术特征摘要】
1.一种接口覆盖率报告准确定位和展示的方法,其特征在于,具体包括以下步骤:
S1、获取当前版本和基线版本的源代码,通过对当前版本和基线版本的源代码进行代码比对得到变动代码行;
S2、根据语法分析树解析所述变动代码行,得到变动代码行关联的对外服务接口;
S3、通过JaCoCo工具获取待测系统的执行数据,根据所述执行数据生成基于变动代码行的覆盖率报告,所述覆盖率报告包括多个报告子页面;
S4、根据匹配规则建立对外服务接口和报告子页面的关联关系,记录报告子页面的锚点;
S5、解析报告子页面的所有引用函数,查找定位引用函数对应的报告子页面并标记,同时将所述标记回写至原引用函数行;
S6、收集覆盖率报告中各维度的百分比统计结果,通过数据比对生成覆盖率趋势图和完成度报表,并发送实时监控告警和消息通知;
S7、根据所述覆盖率报告中各维度的百分比统计结果、覆盖率趋势图和完成度报表生成覆盖率报告的展示模块进行展示,并生成对外服务接口列表展示所有变动代码行的关联接口。


2.根据权利要求1所述的一种接口覆盖率报告准确定位和展示的方法,其特征在于,所述步骤S2中还包括将变动代码行和对外服务接口存入数据库。


3.根据权利要求1所述的一种接口覆盖率报告准确定位和展示的方法,其特征在于,所述步骤S4中的匹配规则包括根据类名、方法名和代码行进行匹配。


4.根据权利要求1所述的一种接口覆盖率报告准确定位和展示的方法,其特征在于,所述步骤S4中还包括将对外服务接口、...

【专利技术属性】
技术研发人员:李琰
申请(专利权)人:上海高顿教育科技有限公司
类型:发明
国别省市:上海;31

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

1