EGL编程语言的代码覆盖率确定方法及装置制造方法及图纸

技术编号:26342302 阅读:18 留言:0更新日期:2020-11-13 20:32
本发明专利技术提供了一种EGL编程语言的代码覆盖率确定方法及装置,方法包括:从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;根据覆盖率统计维度配置信息对EGL代码进行遍历处理,确定匹配覆盖率统计维度配置信息的桩位信息;运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率。实现对EGL编程语言的代码覆盖率统计,支持用户自定义的特殊覆盖统计维度,以便基于EGL编程语言的软件工程更好的了解测试覆盖情况,发现测试死角、冗余代码、历史废弃代码,度量自动化用例等,帮助提升软件工程质量。本发明专利技术用于金融领域或其他领域,用于金融领域的EGL编程语言的代码覆盖率确定。

Method and device for determining code coverage of EGL programming language

【技术实现步骤摘要】
EGL编程语言的代码覆盖率确定方法及装置
本专利技术涉及软件技术,具体的讲是一种EGL编程语言的代码覆盖率确定方法及装置。
技术介绍
目前,随着信息技术的飞速发展和广泛运用,软件工程质量显得更加重要。度量软件工程质量的手段中,软件工程的代码覆盖率是其中一项重要指标。针对目前广泛使用的Java编程语言,业界早已出现一些针对性的代码测试覆盖率统计工具,如JaCoCo、Emma等。EGL(EnterpriseGenerationLanguage)是IBM致力推广的业务编程语言,但针对EGL编程语言,目前却没有相关代码覆盖率统计的工具、系统或方法。
技术实现思路
为解决现有技术中,针对EGL编程语言,没有相关代码覆盖率统计的工具或方法,本专利技术提供了一种EGL编程语言的代码覆盖率确定方法,包括:从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息;根据所述桩位信息对EGL代码进行插桩处理;运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率。本专利技术实施例中,所述的预先建立的覆盖率统计维度配置文件为覆盖率统计维度配置表;配置表选项包括:覆盖率统计维度、统计目标描述、基于Java的正则表达式及是否启用。本专利技术实施例中,所述的根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息包括:对EGL代码进行去注释处理;循环访问所述覆盖率统计维度配置信息利用正则表达式对去注释的EGL代码进行遍历确定匹配到的桩位信息。本专利技术实施例中,所述的桩位信息包括:覆盖率统计维度、统计目标描述、桩位位置下标及代码行号。本专利技术实施例中,所述的根据所述桩位信息对EGL代码进行插桩处理包括:根据所述的桩位信息按覆盖率统计维度进行数据统计确定统计的桩位信息数组;其中,统计的桩位信息数组包括:覆盖率统计维度、统计目标描述及桩位数量需信息;根据所述的桩位信息按桩位下标进行排序确定排序的桩位信息数组;其中,排序的桩位信息数组包括:覆盖率统计维度、统计目标描述、桩位位置下标、代码行号信息;对所述统计的桩位信息数组、排序的桩位信息数组及去注释的EGL代码进行对照读处理,生成插桩处理后的EGL代码。本专利技术实施例中,所述的运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率包括:根据排序的桩位信息数组确定运行的EGL代码中的桩位明细信息;根据统计的桩位信息数组确定运行的EGL代码中的桩位统计信息;根据运行的EGL代码中的桩位明细信息、桩位统计信息确定代码覆盖率。同时,本专利技术还提供一种EGL编程语言的代码覆盖率确定装置,所述的装置包括:维度配置模块,用于从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;桩位信息确定模块,用于根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息;插桩模块,用于根据所述桩位信息对EGL代码进行插桩处理;覆盖率确定模块,用于运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率。本专利技术实施例中,所述的桩位信息确定模块包括:去注释单元,用于对EGL代码进行去注释处理;遍历匹配单元,用于循环访问所述覆盖率统计维度配置信息利用正则表达式对去注释的EGL代码进行遍历确定匹配到的桩位信息。本专利技术实施例中,所述的桩位信息包括:覆盖率统计维度、统计目标描述、桩位位置下标及代码行号。本专利技术实施例中,所述的插桩模块包括:统计单元,用于根据所述的桩位信息按覆盖率统计维度进行数据统计确定统计的桩位信息数组;其中,统计的桩位信息数组包括:覆盖率统计维度、统计目标描述及桩位数量需信息;排序单元,用于根据所述的桩位信息按桩位下标进行排序确定排序的桩位信息数组;其中,排序的桩位信息数组包括:覆盖率统计维度、统计目标描述、桩位位置下标、代码行号信息;照读插桩单元,用于对所述统计的桩位信息数组、排序的桩位信息数组及去注释的EGL代码进行对照读处理,生成插桩处理后的EGL代码。本专利技术实施例中,所述的覆盖率确定模块包括:桩位明细信息确定单元,用于根据排序的桩位信息数组确定运行的EGL代码中的桩位明细信息;桩位统计信息确定单元,用于根据统计的桩位信息数组确定运行的EGL代码中的桩位统计信息;覆盖率确定单元,用于根据运行的EGL代码中的桩位明细信息、桩位统计信息确定代码覆盖率。同时,本专利技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。同时,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。本专利技术提供一种针对EGL编程语言的代码覆盖率统计方法及装置,提供基本的语句覆盖、判定覆盖、条件覆盖等统计维度方案,特别的提供了支持用户自定义的特殊覆盖统计维度,以便基于EGL编程语言的软件工程更好的了解测试覆盖情况,发现测试死角、冗余代码、历史废弃代码,度量自动化用例等,帮助提升软件工程质量。为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的EGL编程语言的代码覆盖率确定方法流程图;图2为本实施例中提供的实现EGL编程语言的代码覆盖率确定方法的系统示意图;图3为本实施例中的异步表处理构件逻辑示意图;图4为本实施例中EGL源代码加工处理流程图;图5为本专利技术提供的EGL编程语言的代码覆盖率确定装置的框图;图6为本实施例中提供的电子设备实施例的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本实施例提供的EGL编程语言的代码覆盖率确定方法,其包括:步骤S101,从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;步骤S102,根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息;<本文档来自技高网...

【技术保护点】
1.一种EGL编程语言的代码覆盖率确定方法,其特征在于,所述的方法包括:/n从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;/n根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息;/n根据所述桩位信息对EGL代码进行插桩处理;/n运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率。/n

【技术特征摘要】
1.一种EGL编程语言的代码覆盖率确定方法,其特征在于,所述的方法包括:
从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;
根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息;
根据所述桩位信息对EGL代码进行插桩处理;
运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率。


2.如权利要求1所述的EGL编程语言的代码覆盖率确定方法,其特征在于,
所述的预先建立的覆盖率统计维度配置文件为覆盖率统计维度配置表;配置表选项包括:覆盖率统计维度、统计目标描述、基于Java的正则表达式及是否启用。


3.如权利要求1所述的EGL编程语言的代码覆盖率确定方法,其特征在于,所述的根据所述覆盖率统计维度配置信息对EGL代码进行遍历处理确定匹配所述覆盖率统计维度配置信息的桩位信息包括:
对EGL代码进行去注释处理;
循环访问所述覆盖率统计维度配置信息利用正则表达式对去注释的EGL代码进行遍历确定匹配到的桩位信息。


4.如权利要求3所述的EGL编程语言的代码覆盖率确定方法,其特征在于,所述的桩位信息包括:覆盖率统计维度、统计目标描述、桩位位置下标及代码行号。


5.如权利要求4所述的EGL编程语言的代码覆盖率确定方法,其特征在于,所述的根据所述桩位信息对EGL代码进行插桩处理包括:
根据所述的桩位信息按覆盖率统计维度进行数据统计确定统计的桩位信息数组;其中,统计的桩位信息数组包括:覆盖率统计维度、统计目标描述及桩位数量需信息;
根据所述的桩位信息按桩位下标进行排序确定排序的桩位信息数组;其中,排序的桩位信息数组包括:覆盖率统计维度、统计目标描述、桩位位置下标、代码行号信息;
对所述统计的桩位信息数组、排序的桩位信息数组及去注释的EGL代码进行对照读处理,生成插桩处理后的EGL代码。


6.如权利要求5所述的EGL编程语言的代码覆盖率确定方法,其特征在于,所述的运行插桩处理后的EGL代码,根据EGL代码中的桩位信息确定代码覆盖率包括:
根据排序的桩位信息数组确定运行的EGL代码中的桩位明细信息;
根据统计的桩位信息数组确定运行的EGL代码中的桩位统计信息;
根据运行的EGL代码中的桩位明细信息、桩位统计信息确定代码覆盖率。


7.一种EGL编程语言的代码覆盖率确定装置,其特征在于,所述的装置包括:
维度配置模块,用于从预先建立的覆盖率统计维度配置文件中获取用户定义的覆盖率统计维度配置信息;
桩位信息...

【专利技术属性】
技术研发人员:李逶黄少波温泽泉陆贻铭
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1