[发明专利]一种代码覆盖率的生成方法及系统在审
申请号: | 202211173321.2 | 申请日: | 2022-09-26 |
公开(公告)号: | CN115658473A | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 黄勇;雷望;李颖;李欣悦;李剑 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 唐邦英 |
地址: | 610000 四川省成都市中国(四川)自由*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 覆盖率 生成 方法 系统 | ||
1.一种代码覆盖率的生成方法,其特征在于,方法步骤包括:
获取覆盖率信息数据组与源代码信息数据组;
将所述覆盖率信息数据组中的每个覆盖率信息解析为类classID以及第一文本信息,并将解析后的所有类classID以及对应的第一文本信息进行合并,获得覆盖率信息表;
将所述源代码信息数据组中的每个源代码信息解析为类classID以及第二文本信息,并将解析后的所有类classID以及对应的第二文本信息进行合并,获得源代码信息表;
将类classID相同的所述覆盖率信息表与所述源代码信息表进行关联,并将lineIndex相同的数据整合为合并覆盖率信息表;
基于所述合并覆盖率信息表,获取在一段时间下的合并覆盖率信息以及源代码信息表中的源代码信息,将合并覆盖率信息以及源代码信息进行匹配,获得代码覆盖率报告。
2.根据权利要求1所述的一种代码覆盖率的测试方法,其特征在于,所述获取的覆盖率信息数据组包括若干覆盖率信息数据,且每个覆盖率信息数据包括覆盖率信息以及获取该覆盖率信息对应的时间点。
3.根据权利要求2所述的一种代码覆盖率的测试方法,其特征在于,所述源代码信息数据组包括若干源代码信息数据,且每个所述源代码信息数据包括源代码、该源代码对应的代码版本信息以及该源代码获取的时间点。
4.根据权利要求3所述的一种代码覆盖率的测试方法,其特征在于,所述覆盖率信息表获得的具体子步骤包括:
在所述覆盖率信息数据组中,选择任意一个覆盖率信息,并基于该覆盖率信息的系统名以及获取的时间点生成覆盖率文件,遍历所有的覆盖率信息,获得覆盖率文件包;
在所述覆盖率文件包中,枚举出每一个覆盖率文件,并将每个覆盖率文件解析为类classID以及第一文本信息,并将解析后的所有类classID以及对应的第一文本信息进行合并,获得覆盖率信息表。
5.根据权利要求4所述的一种代码覆盖率的测试方法,其特征在于,在获得所述覆盖率文件时,若生成的覆盖率信息的系统名以及获取的时间点,与之前生成的覆盖率文件相重合,则将两个覆盖率信息合并为一个覆盖率文件。
6.根据权利要求3所述的一种代码覆盖率的测试方法,其特征在于,所述源代码信息表获得的具体子步骤包括:
在所述源代码信息数据组中,选择任意一个源代码信息数据,并对该源代码信息数据进行解析,获得类classID以及第二文本信息;
采用className+methodName+lineTxt+methodOffset合并为一个字符串,并计算该源代码信息数据的MD5值;
遍历源代码信息数据组,将获得的所有类classID、第二文本信息以及MD5值进行合并,获得源代码信息表。
7.根据权利要求4所述的一种代码覆盖率的测试方法,其特征在于,所述第一文本信息包括类名、类方法名、行序号以及行是否覆盖信息。
8.根据权利要求6所述的一种代码覆盖率的测试方法,其特征在于,所述第二文本信息包括类方法名、行序号、行文本信息、行所在方法以及行相对方法位置偏移量。
9.根据权利要求8所述的一种代码覆盖率的测试方法,其特征在于,所述代码覆盖率报告生成的具体子步骤包括:
设置待生成代码覆盖率报告的时间T;
从所述合并覆盖率信息表中获取在时间T内的合并覆盖率信息;
从源代码信息表中获取在时间T内的源代码信息;
将所述源代码信息的MD5值与所述合并覆盖率信息中的MD5值进行匹配,若相同,则将该信息整合生成代码覆盖率报告。
10.一种代码覆盖率的生成系统,其特征在于,包括数据获取模块、第一解析模块、第二解析模块、关联模块以及整合模块;
所述数据获取模块,用于获取覆盖率信息数据组与源代码信息数据组;
所述第一解析模块,用于将所述覆盖率信息数据组中的每个覆盖率信息解析为类classID以及第一文本信息,并将解析后的所有类classID以及对应的第一文本信息进行合并,获得覆盖率信息表;
所述第二解析模块,用于将所述源代码信息数据组中的每个源代码信息解析为类classID以及第二文本信息,并将解析后的所有类classID以及对应的第二文本信息进行合并,获得源代码信息表;
所述关联模块,用于将类classID相同的所述覆盖率信息表与所述源代码信息表进行关联,并将lineIndex相同的数据整合为合并覆盖率信息表;
所述整合模块,用于将源代码版本以及获取源代码信息数据组的时间段,与所述合并覆盖率信息表进行整合,获得代码覆盖率报告。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211173321.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:抗拉型防碰撞低损耗电缆耐力分析系统
- 下一篇:获取齿轮箱输出端转速的方法