一种代码覆盖率的统计方法及装置制造方法及图纸

技术编号:31381953 阅读:19 留言:0更新日期:2021-12-15 11:31
本发明专利技术提供一种代码覆盖率的统计方法及装置,该方法包括:在待执行文件中配置代码插入工具;在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每行代码中插入代码覆盖率统计代码;执行所述待执行文件,并获取用户在所述待执行文件执行过程中的用户操作;获取所述代码覆盖率统计代码根据所述用户操作计算得到的代码覆盖率;将所述代码覆盖率发送至数据汇总服务器。本发明专利技术中,实现了测试人员在测试时也可以同步关注代码覆盖率的情况,提高了代码的可靠性。提高了代码的可靠性。提高了代码的可靠性。

【技术实现步骤摘要】
一种代码覆盖率的统计方法及装置


[0001]本专利技术涉及前端开发领域,尤其涉及一种代码覆盖率的统计方法及装置。

技术介绍

[0002]在前端的开发中,测试是必不可少的一环,测试是开发内容质量的重要保障;现有的代码覆盖率统计主要通过执行提前写好的单元测试用例,来实现整体测试覆盖率的统计,而测试用例,仅用于对需求中要求的功能的实现情况进行统计,不会直接对实际的代码执行情况进行覆盖率的统计,测试人员在测试时也不会关注前端代码的覆盖率情况;可能存在不准确、取巧的情况,不能作为代码覆盖率通过的判定标准。

技术实现思路

[0003]本专利技术提供了一种代码覆盖率的统计方法及装置,用于解决现有技术中需要开发人员在开发阶段编写单元测试用例,去执行实现统计,导致测试结果不准确的问题。
[0004]为了解决上述问题,本专利技术是这样实现的:第一方面,本专利技术提供一种代码覆盖率的统计方法,应用于终端,包括:在待执行文件中配置代码插入工具;在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每行代码中插入代码覆盖率统计代码;执行所述待执行文件,并获取用户在所述待执行文件执行过程中的用户操作;获取所述代码覆盖率统计代码根据所述用户操作计算得到的代码覆盖率;将所述代码覆盖率发送至数据汇总服务器。
[0005]可选的,所述代码插入工具为babel

plugin

istanbul。
[0006]可选的,所述代码覆盖率包括:代码行覆盖率、代码功能覆盖率和代码分支覆盖率。
[0007]第二方面,本专利技术提供一种代码覆盖率的统计方法,应用于数据汇总服务器,包括:接收终端发送的代码覆盖率;其中,所述代码覆盖率通过在待执行文件的每行代码中插入代码覆盖率统计代码计算得到;根据所述代码覆盖率生成代码覆盖率数据报告。
[0008]可选的,还包括:对所述代码覆盖率进行数据存储、数据汇总和汇总数据展示。
[0009]第三方面,本专利技术提供一种代码覆盖率的统计装置,包括:配置模块,用于在待执行文件中配置代码插入工具;第一处理模块,用于在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每行代码中插入代码覆盖率统计代码;第二处理模块,用于执行所述待执行文件,并获取用户在所述待执行文件执行过程中的用户操作;
获取模块,用于获取所述代码覆盖率统计代码根据所述用户操作计算得到的代码覆盖率;发送模块,用于将所述代码覆盖率发送至数据汇总服务器。
[0010]可选的,所述代码插入工具为babel

plugin

istanbul。
[0011]可选的,所述代码覆盖率包括:代码行覆盖率、代码功能覆盖率和代码分支覆盖率。
[0012]第四方面,本专利技术提供一种数据汇总服务器,包括:接收模块,用于接收终端发送的代码覆盖率;其中,所述代码覆盖率通过在待执行文件的每行代码中插入代码覆盖率统计代码计算得到;报告生成模块,用于根据所述代码覆盖率生成代码覆盖率数据报告。
[0013]可选的,还包括:对所述代码覆盖率进行数据存储、数据汇总和汇总数据展示。
[0014]第五方面,本专利技术提供一种用于代码覆盖率的统计方法的终端,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面中任一项所述的代码覆盖率的统计方法的步骤。
[0015]第六方面,本专利技术提供一种数据汇总服务器,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第二方面中任一项所述的代码覆盖率的统计方法的步骤。
[0016]第七方面,本专利技术提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面中任一项所述的代码覆盖率的统计方法,或实现如第二方面中任一项所述的代码覆盖率的统计方法的步骤。
[0017]本专利技术中,通过插入代码覆盖率统计代码,监听并记录用户在前端页面的操作,用户操作数据会映射到具体的代码行,反应代码的执行情况,并上报到数据汇总服务器,使得测试人员在测试时也可以同步关注代码覆盖率的情况,减少了隐藏漏洞的情况,完善了测试的内容,提高了代码的可靠性。
附图说明
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例提供的一种代码覆盖率的统计方法的流程示意图;图2为本专利技术实施例提供的一种代码覆盖率的统计方法数据总览示意图;图3为本专利技术实施例提供的一种代码覆盖率的统计方法总体流程示意图;图4为本专利技术实施例提供的一种代码覆盖率的统计方法应用于数据汇总服务器的流程示意图;图5为本专利技术实施例提供的一种代码覆盖率的统计方法框架结构示意图;图6为本专利技术实施例提供的一种代码覆盖率的统计装置应用于终端结构示意图;图7为本专利技术实施例提供的一种代码覆盖率的统计装置应用于数据汇总服务器结构示意图;图8为本专利技术实施例提供的一种用于代码覆盖率的统计方法的终端的结构示意
图;图9为本专利技术实施例提供的一种数据汇总服务器的结构示意图。
具体实施方式
[0019]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]请参考图1,本专利技术实施例提供了一种代码覆盖率的统计方法,应用于终端,包括:步骤11:在待执行文件中配置代码插入工具;步骤12:在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每行代码中插入代码覆盖率统计代码;步骤13:执行所述待执行文件,并获取用户在所述待执行文件执行过程中的用户操作;步骤14:获取所述代码覆盖率统计代码根据所述用户操作计算得到的代码覆盖率;步骤15:将所述代码覆盖率发送至数据汇总服务器。
[0021]本专利技术实施例中,在步骤11中,所述代码插入工具为babel

plugin

istanbul,也可以使用其他可以实现代码插入功能的工具;在待执行文件中除了配置插入统计代码的工具,也配置了发送代码覆盖率数据的代码;在步骤12中,在所述待执行文件启动后编译时,配置的工具会自动在所述待执行文件的代码中插入对应的代码;插入代码覆盖率统计代码后的所述待执行文件的代码中多出了很多用于计算的内容,如带“++”符号的内容;在编译过程中,插入代码覆盖率统计代码的同时,会把所述待执行文件中全部的代码覆盖率数据记录在全局变量上,如“window._coverage_”;在步骤13中,获取用户在所述待执行文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码覆盖率的统计方法,其特征在于,应用于终端,包括:在待执行文件中配置代码插入工具;在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每行代码中插入代码覆盖率统计代码;执行所述待执行文件,并获取用户在所述待执行文件执行过程中的用户操作;获取所述代码覆盖率统计代码根据所述用户操作计算得到的代码覆盖率;将所述代码覆盖率发送至数据汇总服务器。2.根据权利要求1所述的代码覆盖率的统计方法,其特征在于,所述代码插入工具为babel

plugin

istanbul。3.根据权利要求1所述的代码覆盖率的统计方法,其特征在于,所述代码覆盖率包括:代码行覆盖率、代码功能覆盖率和代码分支覆盖率。4.一种代码覆盖率的统计方法,其特征在于,应用于数据汇总服务器,包括:接收终端发送的代码覆盖率;其中,所述代码覆盖率通过在待执行文件的每行代码中插入代码覆盖率统计代码计算得到;根据所述代码覆盖率生成代码覆盖率数据报告。5.根据权利要求4所述的代码覆盖率的统计方法,其特征在于,还包括:对所述代码覆盖率进行数据存储、数据汇总和汇总数据展示。6.一种代码覆盖率的统计装置,其特征在于,包括:配置模块,用于在待执行文件中配置代码插入工具;第一处理模块,用于在需要执行所述待执行文件时,通过所述代码插入工具在所述待执行文件的每...

【专利技术属性】
技术研发人员:刘斌邹永强杨晖
申请(专利权)人:云账户技术天津有限公司
类型:发明
国别省市:

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

1