代码覆盖率信息处理方法、装置、电子设备及介质.pdf
《代码覆盖率信息处理方法、装置、电子设备及介质.pdf》由会员分享,可在线阅读,更多相关《代码覆盖率信息处理方法、装置、电子设备及介质.pdf(15页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911150361.3 (22)申请日 2019.11.21 (71)申请人 望海康信 (北京) 科技股份公司 地址 100176 北京市大兴区北京经济技术 开发区荣华中路22号院3号楼8层801- 2 (72)发明人 史先澳 (74)专利代理机构 北京市立方律师事务所 11330 代理人 张筱宁 (51)Int.Cl. G06F 11/36(2006.01) (54)发明名称 代码覆盖率信息处理方法、 装置、 电子设备 及介质 (57)摘要 本申请实施例提供了一种代码覆盖。
2、率信息 处理方法、 装置、 电子设备及介质。 该方法包括: 获取待检测的源代码对应的代码覆盖率报告文 件, 基于代码覆盖率报告文件确定待检测的源代 码中各个类信息分别对应的代码覆盖率信息, 基 于各个类信息分别对应代码覆盖率信息确定各 个代码组分别对应的代码覆盖率信息, 各个代码 组为对各个类信息按照重要程度划分得到的, 且 任一代码组中包括至少一个类信息。 本申请实施 例实现基于代码覆盖率报告文件确定待检测的 源代码中各个类信息分别被测试的比例和程度, 以及各个重要程度的代码组分别被测试的比例 和程度, 从而有利于对待检测的源代码中各个类 信息和各个重要程度的代码组进行分析。 权利要求书2页。
3、 说明书10页 附图2页 CN 110888811 A 2020.03.17 CN 110888811 A 1.一种代码覆盖率信息处理方法, 其特征在于, 包括: 获取待检测的源代码对应的代码覆盖率报告文件; 基于所述代码覆盖率报告文件确定所述待检测的源代码中各个类信息分别对应的代 码覆盖率信息; 基于各个类信息分别对应代码覆盖率信息确定各个代码组分别对应的代码覆盖率信 息, 所述各个代码组为对各个类信息按照重要程度划分得到的, 且任一代码组中包括至少 一个类信息。 2.根据权利要求1所述的方法, 其特征在于, 所述基于各个类信息分别对应代码覆盖率 信息确定各个代码组分别对应的代码覆盖率信息,。
4、 包括: 基于各个类信息分别对应代码覆盖率信息确定每个代码组中包含的各个类信息分别 对应的代码覆盖率信息; 基于所述每个代码组中包含的各个类信息分别对应的代码覆盖率信息确定每个代码 组对应的代码覆盖率信息, 以得到各个代码组分别对应的代码覆盖率信息。 3.根据权利要求1所述的方法, 其特征在于, 所述基于各个类信息分别对应代码覆盖率 信息确定各个代码组分别对应的代码覆盖率信息, 之后还包括以下至少一项: 基于所述各个代码组分别对应的代码覆盖率信息以及各个代码组分别对应的代码覆 盖率阈值, 确定满足预设条件的代码组, 并向与满足预设条件的代码组相关联的终端设备 发送告警信息, 所述预设条件包括:。
5、 代码组对应的代码覆盖率信息不大于该代码组对应的 代码覆盖率阈值; 基于所述各个代码组分别对应的代码覆盖率信息以及各个代码组分别对应的代码覆 盖率阈值, 确定满足预设条件的代码组, 并基于所述满足预设条件的代码组中包含的代码 组的重要程度, 确定发送告警信息的级别, 并向特定终端设备发送所述级别的告警信息。 4.根据权利要求3所述的方法, 其特征在于, 所述基于所述各个代码组分别对应的代码 覆盖率信息以及各个代码组分别对应的代码覆盖率阈值, 确定满足预设条件的代码组, 之 前还包括: 按照以下至少一项, 确定各个代码组分别对应的代码覆盖率阈值: 各个代码组分别对应的预配置代码覆盖率阈值; 所述。
6、各个代码组分别对应的历史代码覆盖率信息。 5.根据权利要求1-4任一项所述的方法, 其特征在于, 所述基于各个类信息分别对应代 码覆盖率信息确定各个代码组分别对应的代码覆盖率信息, 之后还包括: 获取各个代码组分别对应的权重信息, 各个代码组分别对应的权重信息与对应代码组 的重要程度呈正比例关系; 基于所述各个代码组分别对应的代码覆盖率信息以及所述各个代码组分别对应的权 重信息, 计算所述待检测的源代码对应的综合覆盖率信息。 6.根据权利要求5所述的方法, 其特征在于, 所述计算所述待检测的源代码对应的综合 覆盖率信息, 之后还包括: 基于各个代码组分别对应的历史代码覆盖率信息、 所述各个代码。
7、组分别对应的代码覆 盖率信息以及所述综合覆盖率信息生成所述待检测的源代码对应的目标报告。 7.根据权利要求1所述的方法, 其特征在于, 所述基于各个类信息分别对应代码覆盖率 权利要求书 1/2 页 2 CN 110888811 A 2 信息确定各个代码组分别对应的代码覆盖率信息, 之后还包括: 确定各个代码组分别对应的代码覆盖率信息的测试时间; 按照测试时间与代码覆盖率信息的关联关系, 存储所述各个代码组分别对应的代码覆 盖率信息的测试时间以及所述各个代码组分别对应的代码覆盖率信息。 8.一种代码覆盖率信息处理装置, 其特征在于, 包括: 第一获取模块, 用于获取待检测的源代码对应的代码覆盖率。
8、报告文件; 第一确定模块, 用于基于所述代码覆盖率报告文件确定所述待检测的源代码中各个类 信息分别对应的代码覆盖率信息; 第二确定模块, 用于基于各个类信息分别对应代码覆盖率信息确定各个代码组分别对 应的代码覆盖率信息, 所述各个代码组为对各个类信息按照重要程度划分得到的, 且任一 代码组中包括至少一个类信息。 9.一种电子设备, 其特征在于, 其包括: 一个或多个处理器; 存储器; 一个或多个应用程序, 其中所述一个或多个应用程序被存储在所述存储器中并被配置 为由所述一个或多个处理器执行, 所述一个或多个程序配置用于: 执行根据权利要求17 任一项所述的代码覆盖率信息处理方法。 10.一种计。
9、算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器 执行时实现权利要求17任一项所述的代码覆盖率信息处理方法。 权利要求书 2/2 页 3 CN 110888811 A 3 代码覆盖率信息处理方法、 装置、 电子设备及介质 技术领域 0001 本申请涉及互联网技术领域, 具体而言, 本申请涉及一种代码覆盖率信息处理方 法、 装置、 电子设备及介质。 背景技术 0002 随着互联网技术的不断发展, 各种各样的应用程序逐渐走进用户的视野。 一般地, 一个应用程序需要进行开发与反复测试, 直至测试通过后, 该应用程序才能进入市场, 走进 用户的视野。 0003 在应用程序的测试。
10、过程中, 代码覆盖率信息是需要考量的重要指标之一。 代码覆 盖率信息用于描述源代码被测试的比例和程度, 其中, 代码覆盖率信息的数值越高, 代表被 测试的源代码比例越高。 但是由于源代码中包含多个类信息, 并且各个类信息的重要程度 并不同, 仅知道整个源代码被测试的比例和程度, 可能不利用后续对该源代码进行分析。 发明内容 0004 本申请提供了一种代码覆盖率信息处理方法、 装置、 电子设备及介质, 可以解决以 上至少一种技术问题。 0005 第一方面, 提供了一种代码覆盖率信息处理方法, 该方法包括: 0006 获取待检测的源代码对应的代码覆盖率报告文件; 0007 基于代码覆盖率报告文件确。
11、定待检测的源代码中各个类信息分别对应的代码覆 盖率信息; 0008 基于各个类信息分别对应代码覆盖率信息确定各个代码组分别对应的代码覆盖 率信息, 各个代码组为对各个类信息按照重要程度划分得到的, 且任一代码组中包括至少 一个类信息。 0009 第二方面, 提供了一种代码覆盖率信息处理装置, 该装置包括: 0010 第一获取模块, 用于获取待检测的源代码对应的代码覆盖率报告文件; 0011 第一确定模块, 用于基于代码覆盖率报告文件确定待检测的源代码中各个类信息 分别对应的代码覆盖率信息; 0012 第二确定模块, 用于基于各个类信息分别对应代码覆盖率信息确定各个代码组分 别对应的代码覆盖率信。
12、息, 各个代码组为对各个类信息按照重要程度划分得到的, 且任一 代码组中包括至少一个类信息。 0013 第三方面, 提供了一种电子设备, 该电子设备包括: 0014 一个或多个处理器; 0015 存储器; 0016 一个或多个应用程序, 其中一个或多个应用程序被存储在存储器中并被配置为由 一个或多个处理器执行, 一个或多个程序配置用于: 执行根据第一方面所示的代码覆盖率 信息处理方法对应的操作。 说明书 1/10 页 4 CN 110888811 A 4 0017 第四方面, 提供了一种计算机可读存储介质, 其上存储有计算机程序, 该程序被处 理器执行时实现第一方面所示的代码覆盖率信息处理方法。
13、。 0018 本申请提供的技术方案带来的有益效果是: 0019 本申请提供了一种代码覆盖率信息处理方法、 装置、 电子设备及介质, 与现有技术 相比, 本申请通过获取待检测的源代码对应的代码覆盖率报告文件, 基于代码覆盖率报告 文件确定待检测的源代码中各个类信息分别对应的代码覆盖率信息, 基于各个类信息分别 对应代码覆盖率信息确定各个代码组分别对应的代码覆盖率信息, 各个代码组为对各个类 信息按照重要程度划分得到的, 且任一代码组中包括至少一个类信息, 即实现基于代码覆 盖率报告文件确定待检测的源代码中各个类信息分别被测试的比例和程度, 以及各个重要 程度的代码组分别被测试的比例和程度, 从而。
14、有利于对待检测的源代码中各个类信息和各 个重要程度的代码组进行分析, 进而有利于对该待检测的源代码进行分析。 附图说明 0020 为了更清楚地说明本申请实施例中的技术方案, 下面将对本申请实施例描述中所 需要使用的附图作简单地介绍。 0021 图1为本申请实施例提供的一种代码覆盖率信息处理方法的流程示意图; 0022 图2为本申请实施例提供的另一种代码覆盖率信息处理方法的流程示意图; 0023 图3为本申请实施例提供的一种代码覆盖率信息处理装置的结构示意图; 0024 图4为本申请实施例提供的一种电子设备的结构示意图。 具体实施方式 0025 下面详细描述本申请的实施例, 所述实施例的示例在附。
15、图中示出, 其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。 下面通过参考附 图描述的实施例是示例性的, 仅用于解释本申请, 而不能解释为对本申请的限制。 0026 本技术领域技术人员可以理解, 除非特意声明, 这里使用的单数形式 “一” 、“一 个” 、“所述” 和 “该” 也可包括复数形式。 应该进一步理解的是, 本申请的说明书中使用的措 辞 “包括” 是指存在所述特征、 整数、 步骤、 操作、 元件和/或组件, 但是并不排除存在或添加 一个或多个其他特征、 整数、 步骤、 操作、 元件、 组件和/或它们的组。 应该理解, 当我们称元 件被 “连接” 或 “耦。
16、接” 到另一元件时, 它可以直接连接或耦接到其他元件, 或者也可以存在 中间元件。 此外, 这里使用的 “连接” 或 “耦接” 可以包括无线连接或无线耦接。 这里使用的措 辞 “和/或” 包括一个或更多个相关联的列出项的全部或任一单元和全部组合。 0027 下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述 技术问题进行详细说明。 下面这几个具体的实施例可以相互结合, 对于相同或相似的概念 或过程可能在某些实施例中不再赘述。 下面将结合附图, 对本申请的实施例进行描述。 0028 本申请实施例提供了一种代码覆盖率信息处理方法, 可以由终端设备执行, 也可 以由服务器执行, 如。
17、图1所示, 该方法包括: 0029 步骤S101, 获取待检测的源代码对应的代码覆盖率报告文件。 0030 对于本申请实施例, 针对待检测的源代码, 可利用预设代码检测工具获取待检测 的源代码对应的代码覆盖率报告文件, 例如, 利用jacoco获取代码覆盖率报告文件。 其中, 说明书 2/10 页 5 CN 110888811 A 5 jacoco是一个统计java项目代码覆盖率的工具, 在java项目中集成jacoco, 并按照jacoco 规范编写单元测试用例, 可定期执行单元测试, 生成并获取代码覆盖率报告文件。 0031 步骤S102, 基于代码覆盖率报告文件确定待检测的源代码中各个类。
18、信息分别对应 的代码覆盖率信息。 0032 对于本申请实施例, 代码覆盖率报告文件对应的内容包括待检测的源代码中的各 个类信息分别对应的代码覆盖率信息, 例如, 待检测的源代码中包含10个类信息, 则代码覆 盖率报告文件对应的内容包括10个类信息分别对应的代码覆盖率信息。 0033 进一步地, 对代码覆盖率报告文件进行解析处理, 以基于代码覆盖率报告文件对 应的内容所包括的待检测的源代码中的各个类信息分别对应的代码覆盖率信息, 确定待检 测的源代码中各个类信息分别对应的代码覆盖率信息。 0034 步骤S103, 基于各个类信息分别对应代码覆盖率信息确定各个代码组分别对应的 代码覆盖率信息。 0。
19、035 其中, 各个代码组为对各个类信息按照重要程度划分得到的, 且任一代码组中包 括至少一个类信息。 0036 对于本申请实施例, 可以对各个类信息按照重要程度进行分组划分, 具体地, 可以 先对各个类信息进行分类处理, 再对分类处理后的各个类信息按照重要程度进行划分。 例 如, 先对待检测的源代码中各个类信息进行分类处理得到技术类与业务类, 对技术类中的 各个类信息按照重要程度进行划分后得到通用技术组, 对业务类中的各个类信息按照重要 程度进行划分后, 分别得到核心业务组、 重要业务组以及次要业务组, 即对待检测的源代码 中各个类信息按照重要程度进行分组划分后, 分别得到通用技术组、 核心。
20、业务组、 重要业务 组以及次要业务组。 0037 对于本申请实施例, 基于待检测的源代码中各个类信息分别对应的代码覆盖率信 息, 确定各个代码组分别对应的代码覆盖率信息, 例如, 若待检测的源代码中包含10个类信 息, 且各个代码组分别为通用技术组、 核心业务组、 重要业务组以及次要业务组, 则基于10 个类信息分别对应的代码覆盖率信息, 确定通用技术组、 核心业务组、 重要业务组以及次要 业务组分别对应的代码覆盖率信息。 0038 本申请实施例提供了一种代码覆盖率信息处理方法, 与现有技术相比, 本申请实 施例通过获取待检测的源代码对应的代码覆盖率报告文件, 基于代码覆盖率报告文件确定 待检。
21、测的源代码中各个类信息分别对应的代码覆盖率信息, 基于各个类信息分别对应代码 覆盖率信息确定各个代码组分别对应的代码覆盖率信息, 各个代码组为对各个类信息按照 重要程度划分得到的, 且任一代码组中包括至少一个类信息, 即实现基于代码覆盖率报告 文件确定待检测的源代码中各个类信息分别被测试的比例和程度, 以及各个重要程度的代 码组分别被测试的比例和程度, 从而有利于对待检测的源代码中各个类信息和各个重要程 度的代码组进行分析, 进而有利于对该待检测的源代码进行分析。 0039 以上阐述了一种代码覆盖率信息处理方法, 下面将详细说明代码覆盖率信息处理 方法中步骤S103的相关内容, 具体如下: 0。
22、040 本申请实施例的另一种可能实现方式, 步骤S103具体可以包括: 基于各个类信息 分别对应代码覆盖率信息确定每个代码组中包含的各个类信息分别对应的代码覆盖率信 息; 基于每个代码组中包含的各个类信息分别对应的代码覆盖率信息确定每个代码组对应 说明书 3/10 页 6 CN 110888811 A 6 的代码覆盖率信息, 以得到各个代码组分别对应的代码覆盖率信息。 0041 本申请实施例提供了以下具体实例: 若待检测的源代码中包含10个类信息, 且各 个代码组分别为通用技术组、 核心业务组、 重要业务组以及次要业务组, 则基于10个类信息 分别对应代码覆盖率信息, 分别确定通用技术组包含的。
23、3个类信息以及各个类信息分别对 应的代码覆盖率信息、 核心业务组包含的1个类信息以及各个类信息分别对应的代码覆盖 率信息、 重要业务组包含的2个类信息以及各个类信息分别对应的代码覆盖率信息、 以及次 要业务组包含的4个类信息以及各个类信息分别对应的代码覆盖率信息, 基于通用技术组 包含的3个类信息以及各个类信息分别对应的代码覆盖率信息确定通用技术组对应的代码 覆盖率信息、 基于核心业务组包含的1个类信息以及各个类信息分别对应的代码覆盖率信 息确定核心业务组对应的代码覆盖率信息、 基于重要业务组包含的2个类信息以及各个类 信息分别对应的代码覆盖率信息确定重要业务组对应的代码覆盖率信息、 以及基于。
24、次要业 务组包含的4个类信息以及各个类信息分别对应的代码覆盖率信息确定次要业务组对应的 代码覆盖率信息。 0042 对于本申请实施例, 针对任一代码组, 基于任一代码组中包含的各个类信息分别 对应的代码覆盖率信息, 确定至少一个待选择的代码覆盖率信息, 从至少一个待选择的代 码覆盖率信息中确定任一代码组对应的代码覆盖率信息。 0043 例如, 针对通用技术组, 基于通用技术组包含的3个类信息分别对应的代码覆盖率 信息99、 97以及96, 可确定三个待选择的代码覆盖率信息, 分别为: 类信息的代码覆 盖率信息最小值96、 类信息的代码覆盖率信息最大值99、 以及类信息的代码覆盖率信 息平均值9。
25、7.33, 从三个待选择的代码覆盖率信息中确定类信息的代码覆盖率信息最小 值96为通用技术组对应的代码覆盖率信息。 0044 本申请实施例的另一种可能实现方式, 步骤S103之后还可以包括步骤A1以及步骤 A2中的至少一项。 0045 步骤A1, 基于各个代码组分别对应的代码覆盖率信息以及各个代码组分别对应的 代码覆盖率阈值, 确定满足预设条件的代码组, 并向与满足预设条件的代码组相关联的终 端设备发送告警信息。 0046 其中, 预设条件包括: 代码组对应的代码覆盖率信息不大于该代码组对应的代码 覆盖率阈值。 0047 对于本申请实施例, 若一个代码组对应的代码覆盖率信息大于该代码组对应的代。
26、 码覆盖率阈值, 则该代码组为测试通过的代码组; 若一个代码组对应的代码覆盖率信息不 大于该代码组对应的代码覆盖率阈值, 则该代码组为测试不通过的代码组, 即满足预设条 件的代码组, 向与该代码组相关联的终端设备发送告警信息, 以使该代码组的相关人员知 晓该代码组的测试不通过结果。 0048 例如, 若通用技术组、 核心业务组、 重要业务组以及次要业务组分别对应的代码覆 盖率信息为96、 90、 83以及75, 且通用技术组、 核心业务组、 重要业务组以及次要业 务组分别对应的代码覆盖率阈值为95、 95、 85、 60, 则测试通过的代码组分别为通 用技术组和次要业务组, 测试不通过的代码组。
27、分别为核心业务组与重要业务组, 向核心业 务组相关联的终端设备发送告警信息, 以使核心业务组的相关人员知晓核心业务组的测试 不通过结果, 向重要业务组相关联的终端设备发送告警信息, 以使重要业务组的相关人员 说明书 4/10 页 7 CN 110888811 A 7 知晓重要业务组的测试不通过结果。 0049 对于本申请实施例, 向与满足预设条件的代码组相关联的终端设备发送告警信息 的发送方式可以利用即时通信应用程序发送, 也可以利用邮件发送, 还可以利用短信发送, 在本申请实施例中不限定其发送方式。 0050 步骤A2, 基于各个代码组分别对应的代码覆盖率信息以及各个代码组分别对应的 代码覆。
28、盖率阈值, 确定满足预设条件的代码组, 并基于满足预设条件的代码组中包含的代 码组的重要程度, 确定发送告警信息的级别, 并向特定终端设备发送该级别的告警信息。 0051 对于本申请实施例, 针对满足预设条件的代码组中包含的代码组, 基于各个代码 组对应的重要程度, 确定各个代码组对应的发送告警信息的级别, 并向特定终端设备发送 各个代码组对应的级别的告警信息。 其中, 特定终端设备可以包括与各个代码组相关联的 终端设备。 0052 例如, 若测试不通过的代码组分别为核心业务组与重要业务组, 则分别确定核心 业务组与重要业务组对应的重要程度, 如3级重要程度与2级重要程度, 基于核心业务组对 。
29、应的3级重要程度确定核心业务组对应的发送告警信息的级别为3级、 基于重要业务组对应 的2级重要程度确定重要业务组对应的发送告警信息的级别为2级, 向特定终端设备发送核 心业务组的3级告警信息以及重要业务组的2级告警信息。 0053 对于本申请实施例, 向特定终端设备发送该级别的告警信息的发送方式详见上述 实施例, 在此不再赘述。 0054 其中, 步骤A1之前和/或步骤A2之前, 还可以包括: 按照方式B1和方式B2中的至少 一项, 确定各个代码组分别对应的代码覆盖率阈值。 0055 方式B1, 各个代码组分别对应的预配置代码覆盖率阈值。 0056 方式B2, 各个代码组分别对应的历史代码覆盖。
30、率信息。 0057 对于本申请实施例, 可以预配置各个代码组分别对应的代码覆盖率阈值, 从而确 定各个代码组分别对应的代码覆盖率阈值, 例如, 预配置通用技术组、 核心业务组、 重要业 务组以及次要业务组分别对应的代码覆盖率阈值为95、 95、 85、 60, 则确定的通用 技术组、 核心业务组、 重要业务组以及次要业务组分别对应的代码覆盖率阈值为95、 95、 85、 60; 还可以基于各个代码组分别对应的历史代码覆盖率信息, 确定各个代码 组分别对应的代码覆盖率阈值, 例如, 通用技术组的历史代码覆盖率信息包括98、 95、 92, 则基于98、 95、 92可确定通用技术组的代码覆盖率阈。
31、值为95, 同样地, 可分别 确定核心业务组、 重要业务组以及次要业务组分别对应的代码覆盖率阈值为95、 85、 60。 0058 上述详细介绍了按顺序依次执行步骤S101、 步骤S102以及步骤S103之后, 执行步 骤A1或者步骤A2中的至少一项的相关内容, 另一方面, 按顺序依次执行步骤S101、 步骤S102 以及步骤S103之后, 还可以执行存储各个代码组分别对应的代码覆盖率信息的相关内容, 便于后续能便捷的调取本次对待检测的源代码进行测试后所得到的各个代码组分别对应 的代码覆盖率信息, 以方便技术人员进行分析。 具体的: 0059 本申请实施例的另一种可能实现方式, 步骤S103之。
32、后还可以包括: 确定各个代码 组分别对应的代码覆盖率信息的测试时间; 按照测试时间与代码覆盖率信息的关联关系, 存储各个代码组分别对应的代码覆盖率信息的测试时间以及各个代码组分别对应的代码 说明书 5/10 页 8 CN 110888811 A 8 覆盖率信息。 0060 对于本申请实施例, 可以按照测试时间与代码覆盖率信息的关联关系, 在预设数 据库中存储各个代码组分别对应的代码覆盖率信息的测试时间以及各个代码组分别对应 的代码覆盖率信息。 例如, 在预设数据库中存储通用技术组的代码覆盖率信息96及其测 试时间2019年11月10日, 在预设数据库中存储核心业务组的代码覆盖率信息90及其测试。
33、 时间2019年11月10日, 在预设数据库中存储重要业务组的代码覆盖率信息83及其测试时 间2019年11月11日, 在预设数据库中存储次要业务组的代码覆盖率信息75及其测试时间 2019年11月12日。 0061 对于本申请实施例, 除按照测试时间与代码覆盖率信息的关联关系, 存储各个代 码组分别对应的代码覆盖率信息的测试时间以及各个代码组分别对应的代码覆盖率信息 之外, 还可以按照测试时间与综合覆盖率信息的对应关系, 存储待检测的源代码对应的测 试时间和待检测的源代码对应的综合覆盖率信息, 其中, 有关待检测的源代码对应的综合 覆盖率信息的确定方式详见下述实施例。 0062 上述详细介绍。
34、了针对待检测的源代码中各个代码组的相关处理, 下面将详细介绍 基于各个代码组的相关信息确定待检测的源代码对应的相关信息的内容, 以使用户直观的 了解待检测的源代码的测试结果。 0063 本申请实施例的另一种可能实现方式, 步骤S103之后还可以包括: 获取各个代码 组分别对应的权重信息; 基于各个代码组分别对应的代码覆盖率信息以及各个代码组分别 对应的权重信息, 计算待检测的源代码对应的综合覆盖率信息。 0064 其中, 各个代码组分别对应的权重信息与对应代码组的重要程度呈正比例关系。 0065 对于本申请实施例, 可以分别获取各个代码组预配置的权重信息, 基于各个代码 组分别对应的代码覆盖率。
35、信息以及各个代码组分别对应的权重信息, 计算待检测的源代码 对应的综合覆盖率信息, 其中, 各个代码组预配置的权重信息之和为100。 0066 例如, 若预配置通用技术组、 核心业务组、 重要业务组以及次要业务组分别对应的 权重信息为35、 40、 20、 5, , 且通用技术组、 核心业务组、 重要业务组以及次要业务 组分别对应的代码覆盖率信息96、 90、 83以及75, 则待检测的源代码对应的综合覆 盖率信息35*96+40*90+20*83+5*7589.95。 0067 进一步地, 计算待检测的源代码对应的综合覆盖率信息, 之后还可以包括: 0068 基于各个代码组分别对应的历史代码。
36、覆盖率信息、 各个代码组分别对应的代码覆 盖率信息以及综合覆盖率信息生成待检测的源代码对应的目标报告。 0069 对于本申请实施例, 可以从预设数据库中获取各个代码组分别对应的历史代码覆 盖率信息, 并基于获取到的各个代码组分别对应的历史代码覆盖率信息、 各个代码组分别 对应的代码覆盖率信息以及待检测的源代码对应的综合覆盖率信息, 按照预定的报告格式 生成待检测的源代码对应的目标报告。 0070 例如, 可以从预设数据库中获取通用技术组的历史代码覆盖率信息98、 95、 92, 核心业务组的历史代码覆盖率信息87、 93、 89, 重要业务组的历史代码覆盖率 信息80、 86、 77, 以及次。
37、要业务组的历史代码覆盖率信息67、 78、 83, 基于通用 技术组的历史代码覆盖率信息98、 95、 92及其代码覆盖率信息96、 核心业务组的历 史代码覆盖率信息87、 93、 89及其代码覆盖率信息90、 重要业务组的历史代码覆盖 说明书 6/10 页 9 CN 110888811 A 9 率信息80、 86、 77及其代码覆盖率信息83、 次要业务组的历史代码覆盖率信息 67、 78、 83及其代码覆盖率信息75, 以及待检测的源代码对应的综合覆盖率信息 89.95, 按照预定的报告格式生成待检测的源代码对应的目标报告。 0071 对于本申请实施例, 可以将待检测的源代码对应的目标报告。
38、上传至预设展示工具 中, 将预设展示工具生成的报告展示页面对应的统一资源定位符(Uniform Resource Locator, URL)发送至特定终端设备, 该特定终端设备可以包括与各个代码组相关联的终端 设备。 其中, 预设展示工具可以为SonarQube(sonar), sonar可用于管理源代码的质量。 0072 上述实施例详细介绍了代码覆盖率信息处理方法, 下述结合具体的应用场景, 介 绍本申请的具体实现方式, 具体如图2所示, 包括: 0073 步骤S201, 预建至少一个代码组, 并按照规则对各个代码组进行配置。 0074 对于本申请实施例, 按照待检测的源代码中各个类信息的重。
39、要程度预建至少一个 代码组, 按照规则对各个代码组进行配置, 具体包括配置各个代码组分别对应的权重信息、 配置各个代码组分别对应的代码覆盖率阈值、 配置各个代码组包括的至少一个类信息、 以 及配置各个代码组对应的相关人员, 具体详见上述实施例。 0075 步骤S202, 利用jacoco对待检测的源代码进行单元测试, 获得代码覆盖率报告文 件。 0076 对于本申请实施例, 利用jacoco对待检测的源代码定期执行单元测试, 生成并获 得代码覆盖率报告文件, 具体详见上述实施例。 0077 步骤S203, 解析代码覆盖率报告文件, 并计算各代码组分别对应的代码覆盖率信 息。 0078 对于本申。
40、请实施例, 按照预定格式解析代码覆盖率报告文件, 得到待检测的源代 码中各个类信息分别对应的代码覆盖率信息, 并基于待检测的源代码中各个类信息分别对 应的代码覆盖率信息, 确定各个代码组分别对应的代码覆盖率信息, 具体详见上述实施例。 0079 步骤S204, 获得各个代码组分别对应的历史代码覆盖率信息, 并基于各个代码组 分别对应的历史代码覆盖率信息及代码覆盖率信息生成目标报告。 0080 对于本申请实施例, 可以从预设数据库中获取各个代码组分别对应的历史代码覆 盖率信息, 还可以将各个代码组分别对应的代码覆盖率信息存储至预设数据库中, 具体详 见上述实施例。 0081 步骤S205, 将目。
41、标报告上报sonar。 0082 对于本申请实施例, 按照sonar规范, 调用sonar接口将目标报告上报sonar, 将 sonar生成的目标报告对应的报告展示页面的URL以邮件方式, 发送至与各个代码组相关联 的终端设备, 具体详见上述实施例。 0083 上述从方法步骤的角度具体阐述了代码覆盖率信息处理方法, 下面从虚拟模块或 者虚拟单元的角度介绍代码覆盖率信息处理装置, 具体如下所示: 0084 本申请实施例提供了一种代码覆盖率信息处理装置, 如图3所示, 该代码覆盖率信 息处理装置30可以包括: 第一获取模块301、 第一确定模块302以及第二确定模块303, 其中, 0085 第一。
42、获取模块301, 用于获取待检测的源代码对应的代码覆盖率报告文件。 0086 第一确定模块302, 用于基于代码覆盖率报告文件确定待检测的源代码中各个类 信息分别对应的代码覆盖率信息。 说明书 7/10 页 10 CN 110888811 A 10 0087 第二确定模块303, 用于基于各个类信息分别对应代码覆盖率信息确定各个代码 组分别对应的代码覆盖率信息。 0088 其中, 各个代码组为对各个类信息按照重要程度划分得到的, 且任一代码组中包 括至少一个类信息。 0089 本申请实施例的另一种可能实现方式, 第二确定模块303包括第一确定单元和第 二确定单元, 其中, 0090 第一确定单。
43、元, 用于基于各个类信息分别对应代码覆盖率信息确定每个代码组中 包含的各个类信息分别对应的代码覆盖率信息。 0091 第二确定单元, 用于基于每个代码组中包含的各个类信息分别对应的代码覆盖率 信息确定每个代码组对应的代码覆盖率信息, 以得到各个代码组分别对应的代码覆盖率信 息。 0092 本申请实施例的另一种可能实现方式, 代码覆盖率信息处理装置30还包括第一处 理模块和第二处理模块中的至少一项, 其中, 0093 第一处理模块, 用于基于各个代码组分别对应的代码覆盖率信息以及各个代码组 分别对应的代码覆盖率阈值, 确定满足预设条件的代码组, 并向与满足预设条件的代码组 相关联的终端设备发送告。
44、警信息。 0094 其中, 预设条件包括: 代码组对应的代码覆盖率信息不大于该代码组对应的代码 覆盖率阈值。 0095 第二处理模块, 用于基于各个代码组分别对应的代码覆盖率信息以及各个代码组 分别对应的代码覆盖率阈值, 确定满足预设条件的代码组, 并基于满足预设条件的代码组 中包含的代码组的重要程度, 确定发送告警信息的级别, 并向特定终端设备发送该级别的 告警信息。 0096 本申请实施例的另一种可能实现方式, 代码覆盖率信息处理装置30还包括第三确 定模块, 其中, 0097 第三确定模块, 用于按照以下至少一项, 确定各个代码组分别对应的代码覆盖率 阈值: 0098 各个代码组分别对应。
45、的预配置代码覆盖率阈值; 各个代码组分别对应的历史代码 覆盖率信息。 0099 本申请实施例的另一种可能实现方式, 代码覆盖率信息处理装置30还包括第二获 取模块和计算模块, 其中, 0100 第二获取模块, 用于获取各个代码组分别对应的权重信息, 各个代码组分别对应 的权重信息与对应代码组的重要程度呈正比例关系。 0101 计算模块, 用于基于各个代码组分别对应的代码覆盖率信息以及各个代码组分别 对应的权重信息, 计算待检测的源代码对应的综合覆盖率信息。 0102 本申请实施例的另一种可能实现方式, 代码覆盖率信息处理装置30还包括生成模 块, 其中, 0103 生成模块, 用于基于各个代码。
46、组分别对应的历史代码覆盖率信息、 各个代码组分 别对应的代码覆盖率信息以及综合覆盖率信息生成待检测的源代码对应的目标报告。 0104 本申请实施例的另一种可能实现方式, 代码覆盖率信息处理装置30还包括第四确 说明书 8/10 页 11 CN 110888811 A 11 定模块和存储模块, 其中, 0105 第四确地模块, 用于确定各个代码组分别对应的代码覆盖率信息的测试时间。 0106 存储模块, 用于按照测试时间与代码覆盖率信息的关联关系, 存储各个代码组分 别对应的代码覆盖率信息的测试时间以及各个代码组分别对应的代码覆盖率信息。 0107 对于本申请实施例, 第一获取模块与第二获取模块。
47、可以为同一个获取模块, 也可 以为两个不同的获取模块, 第一处理模块和第二处理模块可以为同一个处理模块, 也可以 为两个不同的处理模块, 第一确定模块、 第二确定模块、 第三确定模块以及第四确定模块可 以为同一个确定模块, 也可以为四个不同的确定模块, 还可以任意组合为相同的确定模块, 第一确定单元和第二确定单元可以为同一个确定单元, 也可以为两个不同的确定单元, 在 本申请实施例中不做限定。 0108 本申请实施例的代码覆盖率信息处理装置可执行本申请方法实施例提供的一种 代码覆盖率信息处理方法, 其实现原理相类似, 此处不再赘述。 0109 本申请实施例提供了一种代码覆盖率信息处理装置, 与。
48、现有技术相比, 本申请实 施例通过获取待检测的源代码对应的代码覆盖率报告文件, 基于代码覆盖率报告文件确定 待检测的源代码中各个类信息分别对应的代码覆盖率信息, 基于各个类信息分别对应代码 覆盖率信息确定各个代码组分别对应的代码覆盖率信息, 各个代码组为对各个类信息按照 重要程度划分得到的, 且任一代码组中包括至少一个类信息, 即实现基于代码覆盖率报告 文件确定待检测的源代码中各个类信息分别被测试的比例和程度, 以及各个重要程度的代 码组分别被测试的比例和程度, 从而有利于对待检测的源代码中各个类信息和各个重要程 度的代码组进行分析, 进而有利于对该待检测的源代码进行分析。 0110 上述从虚。
49、拟模块或者虚拟单元的角度介绍本申请的代码覆盖率信息处理装置, 下 面从实体装置的角度介绍本申请的电子设备。 0111 本申请实施例提供了一种电子设备, 如图4所示, 图4所示的电子设备4000包括: 处 理器4001和存储器4003。 其中, 处理器4001和存储器4003相连, 如通过总线4002相连。 可选 地, 电子设备4000还可以包括收发器4004。 需要说明的是, 实际应用中收发器4004不限于一 个, 该电子设备4000的结构并不构成对本申请实施例的限定。 0112 处理器4001可以是CPU, 通用处理器, DSP, ASIC, FPGA或者其他可编程逻辑器件、 晶 体管逻辑器。
50、件、 硬件部件或者其任意组合。 其可以实现或执行结合本申请公开内容所描述 的各种示例性的逻辑方框, 模块和电路。 处理器4001也可以是实现计算功能的组合, 例如包 含一个或多个微处理器组合, DSP和微处理器的组合等。 0113 总线4002可包括一通路, 在上述组件之间传送信息。 总线4002可以是PCI总线或 EISA总线等。 总线4002可以分为地址总线、 数据总线、 控制总线等。 为便于表示, 图4中仅用 一条粗线表示, 但并不表示仅有一根总线或一种类型的总线。 0114 存储器4003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备, RAM 或者可存储信息和指令的其他类。
- 内容关键字: 代码 覆盖率 信息处理 方法 装置 电子设备 介质
高密度微藻培养装置.pdf
垫片检测装置.pdf
微型扬声器音腔定量灌装装置.pdf
晶圆夹持旋转机构.pdf
流延机分切装置.pdf
不规则瓶身喷涂用包覆工装装置.pdf
宽锂带滚切设备.pdf
不锈钢分条加工开平机的导出架结构.pdf
流延机辊筒.pdf
工业硅原料用筛选装置.pdf
激光导引头零位误差测量校准装置.pdf
中药提取物过滤装置.pdf
具有绝缘边的涂碳箔、正极极片及锂电池.pdf
可自动进行降温的新能源配电柜.pdf
多角度预制梁液压钢模板自动开合装置.pdf
烧结矿制备系统.pdf
钢坯十字转盘冷却装置.pdf
快速出料的农膜原料混合装置.pdf
基于大数据和人工智能的购物推荐方法及系统.pdf
短暂保持芯片内存储数据电路及方法.pdf
井盖生产用中频感应电炉.pdf
基于边缘计算的电网异常运行状态监测方法.pdf
自适应PID控制器的参数优化方法.pdf
渲染自定义几何体依附模型的方法及装置.pdf
具有高隔离度的紧凑型功率分配器.pdf
基于CSS样式预渲染对比的UI自动化方法及相关装置.pdf
卷对卷镭射收放卷机.pdf
熔敷陶瓷粉棒条筛板及包含其的筛分装置.pdf
纤维增强型氟塑料电线电缆及其制造方法.pdf
光固化修复机器人.pdf
尺寸可调节的飞机侧副翼组装型架.pdf
套管扶正器.pdf
一种升降式旋转室外消火栓.pdf
框架结构T型连接柱.pdf
防静电地板吸板器.pdf
一种建筑用箱体或井口预留孔洞活动模具.pdf
速成拉建房屋.pdf
预制桥面板精轧螺纹钢筋弧形连接构造.pdf
一种内固定式伸缩门滑行导轨及伸缩门.pdf
多用途封井器.pdf
一种新型圆弧建筑模板紧固件.pdf
一种超实木防水组合踢脚线.pdf
电气柜前门板门锁装置.pdf
双人正杆器.pdf
一种纳米铝塑复合板.pdf
强磁打捞器.pdf
一种基于无刷直流电机的环卫车电动扫盘系统.pdf
一种可调节型门铰链.pdf
一种用于基桩竖向抗压静载试验的船筏式试验装置.pdf
免贴墙砖.pdf
一种聚氨酯仿石材防火保温装饰复合板.pdf