本发明专利技术公开了一种代码测试覆盖率确定方法和装置,其中,方法包括:生成与指定路径对应的字节码文件,其中,字节码文件包括:与不同字节片段分别对应的探针;在测试字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测历史测试数据中是否对字节码文件中未执行的字节片段对应的探针设置过执行标识;如果获知历史测试数据中对未执行的字节片段对应的探针设置过执行标识,则将与字节码文件中对应的未执行的字节片段的探针设置执行标识。该方法充分利用历史测试数据确定代码测试覆盖率,提高了测试效率。
【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种代码测试覆盖率确定方法和装置。
技术介绍
代码测试覆盖作为软件测试中的一种度量被广泛使用,代码测试覆盖率在程式中源代码被测试的比例和程度,代码测试覆盖率越高,表示源代码中被测试的比例越高。然而,相关技术中,代码测试覆盖率仅仅是根据本次对源代码测试的结果确定的,没有充分利用历史测试数据,测试效率低。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种代码测试覆盖率确定方法,该方法充分利用历史测试数据确定代码测试覆盖率,提高了测试效率。本专利技术的第二个目的在于提出一种代码测试覆盖率确定装置。为达上述目的,本专利技术第一方面实施例的代码测试覆盖率确定方法包括:生成与指定路径对应的字节码文件,其中,所述字节码文件包括:与不同字节片段分别对应的探针;在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识;如果获知所述历史测试数据中对所述未执行的字节片段对应的探针设置过执行标识,则将与所述字节码文件中对应的未执行的字节片段的探针设置执行标识。本专利技术实施例的代码测试覆盖率确定方法,生成与指定路径对应的字节码文件,并将已执行的字节片段对应的探针设置执行标识,检测历史测试数据中是否对字节码文件中未执行的字节片段对应的探针设置过执行标识,如果获知历史测试数据中对未执行的字节片段对应的探针设置过执行标识,则将与字节码文件中对应的未执行的字节片段的探针设置执行标识。由此,合并历史代码测试覆盖率,充分利用了历史测试数据确定代码测试覆盖率,提高了测试效率。另外,本专利技术实施例的代码测试覆盖率确定方法,还具有如下附加的技术特征:在本专利技术的一个实施例中,所述将已执行的字节片段对应的探针设置执行标识,包括:将已执行的字节片段对应的探针的布尔值设置为真,或者,将已执行的字节片段对应的探针值设置为1。在本专利技术的一个实施例中,如果所述字节码文件为Java代码文件,所述生成与指定路径对应的字节码文件,包括:在tomcat中配置JaCoCo的javaagent代理参数,并启动服务;在指定路径下生成选定类的被插入探针的字节码文件。在本专利技术的一个实施例中,所述在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识,包括:在测试所述字节码文件的过程中,调用相关类分析所述字节码文件,生成jacoco.exec文件,其中,所述jacoco.exec文件记录了已执行的字节片段对应的探针是否设置了执行标识。在本专利技术的一个实施例中,所述检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识,包括:遍历所述指定路径下其他的jacoco.exec文件;检测所述其他的jacoco.exec文件是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识。为达上述目的,本专利技术第二方面实施例的代码测试覆盖率确定装置包括:生成模块,用于生成与指定路径对应的字节码文件,其中,所述字节码文件包括:与不同字节片段分别对应的探针;第一设置模块,用于在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测模块,用于检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识;第二设置模块,用于在获知所述历史测试数据中对所述未执行的字节片段对应的探针设置过执行标识时,将与所述字节码文件中对应的未执行的字节片段的探针设置执行标识。本专利技术实施例的代码测试覆盖率确定装置,生成与指定路径对应的字节码文件,并将已执行的字节片段对应的探针设置执行标识,检测历史测试数据中是否对字节码文件中未执行的字节片段对应的探针设置过执行标识,如果获知历史测试数据中对未执行的字节片段对应的探针设置过执行标识,则将与字节码文件中对应的未执行的字节片段的探针设置执行标识。由此,合并历史代码测试覆盖率,充分利用了历史测试数据确定代码测试覆盖率,提高了测试效率。另外,本专利技术实施例的代码测试覆盖率确定装置还具有如下附加的技术特征:在本专利技术一个实施例中,所述第一设置模块用于:将已执行的字节片段对应的探针的布尔值设置为真,或者,将已执行的字节片段对应的探针值设置为1。在本专利技术一个实施例中,如果所述字节码文件为Java代码文件,所述生成模块,包括:启动单元,用于在tomcat中配置JaCoCo的javaagent代理参数,并启动服务;生成单元,用于在指定路径下生成选定类的被插入探针的字节码文件。在本专利技术一个实施例中,所述第一设置模块用于:在测试所述字节码文件的过程中,调用相关类分析所述字节码文件,生成jacoco.exec文件,其中,所述jacoco.exec文件记录了已执行的字节片段对应的探针是否设置了执行标识。在本专利技术一个实施例中,所述检测模块包括:遍历单元,用于遍历所述指定路径下其他的jacoco.exec文件;检测单元,用于检测所述其他的jacoco.exec文件是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本专利技术一个实施例的代码测试覆盖率确定方法的流程图;图2(a)-图2(b)是根据本专利技术一个实施例的生成包含探针的字节码文件的应用示意图;图3是根据本专利技术另一个实施例的代码测试覆盖率确定方法的流程图;图4(a)-图4(c)是根据本专利技术一个实施例的代码测试覆盖率确定方法的应用示意图;图5是根据本专利技术一个实施例的代码测试覆盖率确定装置的结构示意图;以及图6是根据本专利技术另一个实施例的代码测试覆盖率确定装置的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。下面参考附图描述本专利技术实施例的代码测试覆盖率确定方法和装置。图1是根据本专利技术一个实施例的代码测试覆盖率确定方法的流程图,如图1所示,该方法包括:S110,生成与指定路径对应的字节码文件,其中,字节码文件包括:与不同字节片段分别对应的探针。通常,在开发软件的过程中,为了使得开发的软件满足用户的功能需求,且更为稳定,相关测试人员会对开发的软件的源代码进行测试,当测试某一段代码不稳定或不能实现相应的功能时,开发人员对代码进行删除、添加、修改等处理。其中,代码测试覆盖率作为软件测试中一种评价测试质量的重要指标被广泛使用,比如,当代码测试覆盖率达到90%,则认为该软件对应的90%的代码已经被测试过,测试质量相对较高。然而,相关技术中,代码测试覆盖率仅仅根据本次对当前代码的测试程度确定的,比如,测试工具JaCoCo(JavaCodeCoverage,分析代码测试覆盖率的工具)是依据代码中类的ID唯一定位类文件,当代码一旦更改,就会生成不同的类的ID,JaCoCo仅仅可根据本次对当前代本文档来自技高网...
【技术保护点】
一种代码测试覆盖率确定方法,其特征在于,包括以下步骤:生成与指定路径对应的字节码文件,其中,所述字节码文件包括:与不同字节片段分别对应的探针;在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识;如果获知所述历史测试数据中对所述未执行的字节片段对应的探针设置过执行标识,则将与所述字节码文件中对应的未执行的字节片段的探针设置执行标识。
【技术特征摘要】
1.一种代码测试覆盖率确定方法,其特征在于,包括以下步骤:生成与指定路径对应的字节码文件,其中,所述字节码文件包括:与不同字节片段分别对应的探针;在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识;检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识;如果获知所述历史测试数据中对所述未执行的字节片段对应的探针设置过执行标识,则将与所述字节码文件中对应的未执行的字节片段的探针设置执行标识。2.如权利要求1所述的方法,其特征在于,所述将已执行的字节片段对应的探针设置执行标识,包括:将已执行的字节片段对应的探针的布尔值设置为真,或者,将已执行的字节片段对应的探针值设置为1。3.如权利要求1或2所述的方法,其特征在于,如果所述字节码文件为Java代码文件,所述生成与指定路径对应的字节码文件,包括:在tomcat中配置JaCoCo的javaagent代理参数,并启动服务;在指定路径下生成选定类的被插入探针的字节码文件。4.如权利要求3所述的方法,其特征在于,所述在测试所述字节码文件的过程中,将已执行的字节片段对应的探针设置执行标识,包括:在测试所述字节码文件的过程中,调用相关类分析所述字节码文件,生成jacoco.exec文件,其中,所述jacoco.exec文件记录了已执行的字节片段对应的探针是否设置了执行标识。5.如权利要求4所述的方法,其特征在于,所述检测历史测试数据中是否对所述字节码文件中未执行的字节片段对应的探针设置过执行标识,包括:遍历所述指定路径下其他的jacoco.exec文件;检测所述其他的jacoco.exec文件是否对所述字节码文件中未执...
【专利技术属性】
技术研发人员:曹曦,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。