一种代码覆盖率检测方法、装置、设备及介质制造方法及图纸

技术编号:33288663 阅读:14 留言:0更新日期:2022-05-01 00:02
本发明专利技术公开了一种代码覆盖率检测方法、装置、设备及介质,所述方法应用于代码覆盖率平台,包括:基于用户在交互页面触发的测试指令;基于服务对应的覆盖率类型,分析对应的源代码中日志文件输出点的理论数量和位置信息;获取各个服务运行时实际输出的日志文件,基于每一个日志文件中所记载的对应日志文件输出点的位置信息确定实际输出日志文件的日志文件输出点的数量;基于各个源代码中日志文件输出点的理论数量和实际输出日志文件的日志文件输出点的数量得到各个服务的当前代码覆盖率。本发明专利技术中的代码覆盖率平台结合接口自动化代码工程和持续集成平台与各个应用程序的开发流程打通,去除冗余的工作,提升测试效率。提升测试效率。提升测试效率。

【技术实现步骤摘要】
一种代码覆盖率检测方法、装置、设备及介质


[0001]本专利技术涉及代码覆盖率测试
,特别涉及一种代码覆盖率检测方法、装置、设备及介质。

技术介绍

[0002]当前的产品测试无论采用手工还是自动化测试,都无法保证测试范围的完全覆盖。也无法定量精准评估测试用例设计和执行的充分程度,很容易遗漏覆盖一些业务场景。如果出现各个业务核心功能遗漏,或测试过程中涉及到业务有新代码提交而没有及时验证具体影响范围,从而导致线上问题,造成严重损失。
[0003]当一个公司涉及的业务线较多时,单纯的代码覆盖率小插件只能统计各自情况。无法和持续集成平台打通,无法做到自动化闭环。同时,繁琐的环境配置和维护工作也需要花费大量人力资源。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供一种代码覆盖率检测方法,所述方法应用于代码覆盖率平台,所述代码覆盖率平台包括预先设定的交互页面,所述交互页面中展示有各个测试应用程序的全部服务,所述测试应用程序是通过接口自动化代码和持续集成的方式创建的,每个所述测试应用程序包括多个服务,所述方法包括:
[0005]基于用户在所述交互页面触发的测试指令,所述测试指令包括指定的一个服务或多个存在于不同应用程序的服务、与所述服务对应的覆盖率类型;
[0006]基于所述测试指令获取各个服务对应的源代码;
[0007]基于所述服务对应的覆盖率类型,分析对应的所述源代码中日志文件输出点的理论数量和位置信息;
[0008]获取各个所述服务运行时实际输出的日志文件,基于每一个日志文件中所记载的对应日志文件输出点的位置信息确定实际输出日志文件的日志文件输出点的数量;
[0009]基于各个所述源代码中日志文件输出点的理论数量和实际输出日志文件的日志文件输出点的数量得到各个所述服务的当前代码覆盖率。
[0010]进一步地,所述基于所述测试指令获取各个服务对应的源代码,包括:
[0011]基于所述测试指令在预先设定的服务器中拉取所述各个服务对应的源代码,不同服务对应的源代码的IP地址不同。
[0012]进一步地,所述测试指令还包括各个服务对应的运行环境,所述运行环境包括:测试环境、预发环境和线上环境;
[0013]所述方法还包括:根据各个服务的运行环境,对各个服务的当前代码覆盖率添加对应的环境标签,所述环境标签包括:测试标签、预发标签和线上标签。
[0014]进一步地,所述方法还包括:获取各个服务的历史覆盖率;
[0015]将所述各个服务的当前代码覆盖率和所述各个服务的历史覆盖率进行比对,得到
各个服务的覆盖率比对结果;
[0016]展示所述覆盖率比对结果。
[0017]进一步地,所述方法还包括:根据所述各个服务的当前代码覆盖率和所述各个服务的历史覆盖率生成测试报告,所述测试报告可以是以下一种:文本、趋势图、表格。
[0018]进一步地,所述方法还包括:
[0019]将所述测试报告发送至所述各个服务对应维护人员。
[0020]另一方面,本专利技术提供一种代码覆盖率检测装置,所述装置应用于代码覆盖率平台,所述代码覆盖率平台包括预先设定的交互页面,所述交互页面中展示有各个测试应用程序的全部服务,所述测试应用程序是通过接口自动化代码和持续集成的方式创建的,每个所述测试应用程序包括多个服务,所述装置包括:
[0021]测试指令生成模块,用于基于用户在所述交互页面触发的测试指令,所述测试指令包括指定的一个服务或多个存在于不同应用程序的服务、与所述服务对应的覆盖率类型;
[0022]代码获取模块,用于基于所述测试指令获取各个服务对应的源代码;
[0023]第一覆盖率统计模块,用于基于所述服务对应的覆盖率类型,分析对应的所述源代码中日志文件输出点的理论数量和位置信息;
[0024]第二覆盖率统计模块,用于获取各个所述服务运行时实际输出的日志文件,基于每一个日志文件中所记载的对应日志文件输出点的位置信息确定实际输出日志文件的日志文件输出点的数量;
[0025]计算模块,用于基于各个所述源代码中日志文件输出点的理论数量和实际输出日志文件的日志文件输出点的数量得到各个所述服务的当前代码覆盖率。
[0026]进一步地,所述装置还包括:
[0027]历史数据获取模块,用于获取各个服务的历史覆盖率;
[0028]比对模块,用于将所述各个服务的当前代码覆盖率和所述各个服务的历史覆盖率进行比对,得到各个服务的覆盖率比对结果;
[0029]展示模块,用于展示所述覆盖率比对结果。
[0030]再一方面,本专利技术提供一种电子设备,包括:
[0031]处理器;
[0032]用于存储所述处理器可执行指令的存储器;
[0033]其中,所述处理器被配置为执行所述指令,以实现如上述所述代码覆盖率检测方法。
[0034]再一方面,本专利技术提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由日程创建装置/电子设备的处理器执行时,使得所述日程创建装置/电子设备能够执行如上述所述代码覆盖率检测方法。
[0035]本专利技术提供的一种代码覆盖率检测方法、装置、设备及介质,具有如下有益效果:本专利技术中的代码覆盖率平台结合接口自动化代码工程和持续集成平台与各个应用程序的开发流程打通,去除冗余的工作,提升测试工作效率,做到真正的自动化,在进行代码覆盖率测试时,可以选定一个或多个不同应用程序中的服务进行测试,提高测试的精准性以及指向性,能避免各个应用程序核心的服务未被检测或遗漏问题。此外,本方案的扩展能力
强,后续有新增的业务需要,可以简单配置直接接入并进行测试,节约人力。同时,代码覆盖率平台代替了通过进入测试机手工配置和手工触发执行代码覆盖统计的,实现一键自动化执行,更加简单高效完成操作。
附图说明
[0036]为了更清楚地说明本专利技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0037]图1是根据本申请实施例示出的一种代码覆盖率检测方法的实施环境架构图;
[0038]图2是本申请实施例提供的一种代码覆盖率检测方法的流程示意图;
[0039]图3是本申请实施例提供的另一种代码覆盖率检测方法的流程示意图;
[0040]图4是本专利技术实施例提供的一种代码覆盖率检测装置的结构示意图;
[0041]图5是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0042]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码覆盖率检测方法,其特征在于,所述方法应用于代码覆盖率平台,所述代码覆盖率平台包括预先设定的交互页面,所述交互页面中展示有各个测试应用程序的全部服务,所述测试应用程序是通过接口自动化代码和持续集成的方式创建的,每个所述测试应用程序包括多个服务,所述方法包括:基于用户在所述交互页面触发的测试指令,所述测试指令包括指定的一个服务或多个存在于不同应用程序的服务、与所述服务对应的覆盖率类型;基于所述测试指令获取各个服务对应的源代码;基于所述服务对应的覆盖率类型,分析对应的所述源代码中日志文件输出点的理论数量和位置信息;获取各个所述服务运行时实际输出的日志文件,基于每一个日志文件中所记载的对应日志文件输出点的位置信息确定实际输出日志文件的日志文件输出点的数量;基于各个所述源代码中日志文件输出点的理论数量和实际输出日志文件的日志文件输出点的数量得到各个所述服务的当前代码覆盖率。2.根据权利要求1所述代码覆盖率检测方法,其特征在于,所述基于所述测试指令获取各个服务对应的源代码,包括:基于所述测试指令在预先设定的服务器中拉取所述各个服务对应的源代码,不同服务对应的源代码的IP地址不同。3.根据权利要求2所述代码覆盖率检测方法,其特征在于,所述测试指令还包括各个服务对应的运行环境,所述运行环境包括:测试环境、预发环境和线上环境;所述方法还包括:根据各个服务的运行环境,对各个服务的当前代码覆盖率添加对应的环境标签,所述环境标签包括:测试标签、预发标签和线上标签。4.根据权利要求3所述代码覆盖率检测方法,其特征在于,所述方法还包括:获取各个服务的历史覆盖率;将所述各个服务的当前代码覆盖率和所述各个服务的历史覆盖率进行比对,得到各个服务的覆盖率比对结果;展示所述覆盖率比对结果。5.根据权利要求4所述代码覆盖率检测方法,其特征在于,所述方法还包括:根据所述各个服务的当前代码覆盖率和所述各个服务的历史覆盖率生成测试报告,所述测试报告可以是以下一种:文本、趋势图、表...

【专利技术属性】
技术研发人员:姜子慧周娇杨晓波李海勇
申请(专利权)人:杭州优行科技有限公司
类型:发明
国别省市:

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

1