一种代码测试方法、装置、存储介质及设备制造方法及图纸

技术编号:35013044 阅读:47 留言:0更新日期:2022-09-21 15:09
本申请实施例提供一种代码测试方法、装置、存储介质及设备,该方法中,获取预先配置的应用项目路径、构建工具路径和单元测试案例,基于这些配置信息,自动调用构建工具命令进行编译并执行单元测试,并在执行时自动配置目标覆盖率工具的启动项来获取单元测试覆盖率。这样,对于单元测试覆盖到的代码,也可以正常收集到相应的代码覆盖率,从而准确评估测试产出,并且降低代码覆盖率分析成本。并且降低代码覆盖率分析成本。并且降低代码覆盖率分析成本。

【技术实现步骤摘要】
一种代码测试方法、装置、存储介质及设备


[0001]本申请涉及软件测试
,具体而言,涉及一种代码测试方法、装置、存储介质及设备。

技术介绍

[0002]在软件测试中,单元测试与系统测试这两种测试方式互为补充,共同用于提高软件的质量。评估软件测试质量的一个重要指标是代码覆盖率,基于代码覆盖率可以在程序中查找到没有被测试用例覆盖到的地方。然而,由于单元测试的代码一般是不允许打入应用发布包中的,因而在实际测试过程中,只能收集到在测试环境中执行的系统测试产生的代码覆盖率,而无法收集到单元测试的代码覆盖率。

技术实现思路

[0003]本申请实施例的目的在于提供一种代码测试方法、装置、存储介质及设备,旨在解决相关技术中存在的无法收集到单元测试的代码覆盖率的问题。
[0004]第一方面,本申请实施例提供的一种代码测试方法,包括:获取预先定义的配置文件中的配置信息,所述配置信息包括应用项目路径、构建工具路径以及单元测试案例,所述应用项目路径指示被测应用的项目代码的存放位置;基于所述应用项目路径和所述构建工具路径,调用命令对所述项目代码进行编译;执行所述单元测试案例,并配置目标覆盖率工具的启动项,以通过所述目标覆盖率工具获取单元测试覆盖率。
[0005]在上述实现过程中,获取预先配置的应用项目路径、构建工具路径和单元测试案例,基于这些配置信息,自动调用构建工具命令进行编译并执行单元测试,并在执行时自动配置目标覆盖率工具的启动项来获取单元测试覆盖率。这样,对于单元测试覆盖到的代码,也可以正常收集到相应的代码覆盖率,从而准确评估测试产出,并且降低代码覆盖率分析成本。
[0006]进一步地,在一些实施例中,所述目标覆盖率工具是Libra,所述Libra包括Libra

Agent和Libra

Web,其中,Libra

Agent用于收集覆盖率数据并发送到Libra

Web,Libra

Web用于对覆盖率数据进行展示。
[0007]在上述实现过程中,由Libra来作为目标覆盖率工具,实现对覆盖率数据的实时收集。
[0008]进一步地,在一些实施例中,所述Libra

Agent还用于:将单元测试覆盖率以MQ消息的形式发送到测试环境;所述Libra

Web还用于:接收到单元测试覆盖率后,将所述单元测试覆盖率和测试环境的覆盖率数据进行汇总。
[0009]在上述实现过程中,通过汇总单元测试的覆盖率数据和测试环境的自动化代码覆盖率,可以向专业技术人员展示更为完善的测试分析结果,有助于提高被测应用的质量。
[0010]进一步地,在一些实施例中,在调用命令对所述项目代码进行编译之前,还包括:基于所述应用项目路径更新目标覆盖率工具的配置文件。
[0011]在上述实现过程中,基于应用项目路径对目标覆盖率工具的配置文件进行更新,使得目标覆盖率工具可以确定跑的是哪个代码,进而准确记录到对应的覆盖率数据。
[0012]进一步地,在一些实施例中,所述构建工具是Maven,所述调用命令对所述项目代码进行编译包括:调用Maven命令将所述项目代码编译成JAR包。
[0013]在上述实现过程中,提供一种项目构建的实现方案。
[0014]进一步地,在一些实施例中,所述方法通过自动处理脚本实现。
[0015]在上述实现过程中,通过脚本来自动执行,可以实现跨平台,利于快速开发或一些轻量的控制。
[0016]第二方面,本申请实施例提供的一种代码测试装置,包括:获取模块,用于获取预先定义的配置文件中的配置信息,所述配置信息包括应用项目路径、构建工具路径以及单元测试案例,所述应用项目路径指示被测应用的项目代码的存放位置;编译模块,用于基于所述应用项目路径和所述构建工具路径,调用命令对所述项目代码进行编译;执行模块,用于执行所述单元测试案例,并配置目标覆盖率工具的启动项,以通过所述目标覆盖率工具获取单元测试覆盖率。
[0017]进一步地,在一些实施例中,所述装置还包括:更新模块,用于在所述编译模块调用命令对所述项目代码进行编译之前,基于所述应用项目路径更新目标覆盖率工具的配置文件。
[0018]第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
[0019]第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
[0020]第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
[0021]本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
[0022]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0023]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0024]图1为本申请实施例提供的一种代码测试方法的流程图;
[0025]图2为本申请实施例提供的一种代码测试系统的示意图;
[0026]图3为本申请实施例提供的一种代码测试装置的框图;
[0027]图4为本申请实施例提供的另一种代码测试装置的框图;
[0028]图5为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
[0029]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0030]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0031]在软件测试中,单元测试与系统测试这两种测试方式互为补充,共同用于提高软件的质量。评估软件测试质量的一个重要指标是代码覆盖率,基于代码覆盖率可以在程序中查找到没有被测试用例覆盖到的地方。然而,由于单元测试的代码一般是不允许打入应用发布包中的,因而在实际测试过程中,只能收集到在测试环境中执行的系统测试产生的代码覆盖率,而无法收集到单元测试的代码覆盖率。基于此,本申请实施例提供一种代码测试方案,以解决这一问题。
[0032]首先,对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码测试方法,其特征在于,包括:获取预先定义的配置文件中的配置信息,所述配置信息包括应用项目路径、构建工具路径以及单元测试案例,所述应用项目路径指示被测应用的项目代码的存放位置;基于所述应用项目路径和所述构建工具路径,调用命令对所述项目代码进行编译;执行所述单元测试案例,并配置目标覆盖率工具的启动项,以通过所述目标覆盖率工具获取单元测试覆盖率。2.根据权利要求1所述的方法,其特征在于,所述目标覆盖率工具是Libra,所述Libra包括Libra

Agent和Libra

Web,其中,Libra

Agent用于收集覆盖率数据并发送到Libra

Web,Libra

Web用于对覆盖率数据进行展示。3.根据权利要求2所述的方法,其特征在于,所述Libra

Agent还用于:将单元测试覆盖率以MQ消息的形式发送到测试环境;所述Libra

Web还用于:接收到单元测试覆盖率后,将所述单元测试覆盖率和测试环境的覆盖率数据进行汇总。4.根据权利要求1所述的方法,其特征在于,在调用命令对所述项目代码进行编译之前,还包括:基于所述应用项目路径...

【专利技术属性】
技术研发人员:易强华
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1