CN114265783A - 一种生成覆盖率数据的方法、装置和电子设备 - Google Patents

一种生成覆盖率数据的方法、装置和电子设备 Download PDF

Info

Publication number
CN114265783A
CN114265783A CN202111621662.7A CN202111621662A CN114265783A CN 114265783 A CN114265783 A CN 114265783A CN 202111621662 A CN202111621662 A CN 202111621662A CN 114265783 A CN114265783 A CN 114265783A
Authority
CN
China
Prior art keywords
program
compiling
tested
test
running process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111621662.7A
Other languages
English (en)
Inventor
唐飞
宋荣鑫
冯俊熙
邢晖
鄢佳鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Qiyue Information Technology Co Ltd
Original Assignee
Shanghai Qiyue Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Qiyue Information Technology Co Ltd filed Critical Shanghai Qiyue Information Technology Co Ltd
Priority to CN202111621662.7A priority Critical patent/CN114265783A/zh
Publication of CN114265783A publication Critical patent/CN114265783A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本说明书实施例提供一种生成覆盖率数据的方法,通过构建具有测试阶段标记的监测规则,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。通过按测试阶段对运行过程进行标记存储,编译运行后依然能够结合存储的信息生成覆盖率数据,不受虚拟机重启等故障的限制,因而可靠性高。

Description

一种生成覆盖率数据的方法、装置和电子设备
技术领域
本申请涉及计算机领域,尤其涉及一种生成覆盖率数据的方法、装置和电子设备。
背景技术
随着软件行业的发展,代码覆盖率作为软件质量指标之一也逐渐为业内所重视。代码覆盖率从本质是测试开发的代码对目标的覆盖情况,比如说是否具有目标语句,是否能执行某种功能等。目前,对于待测试程序,多是采用在虚拟机进行编译,在编译程序的同时测试语句的方式,根据命中的语句统计代码覆盖率。
然而,这种方式依赖于同步的编译过程,一旦过程中出现重启更故障,就会导致最终的测试结果出现偏差,降低准确率,这种测试方式可靠性较差,因此有必要提供一种可靠性高的方法。
发明内容
本说明书实施例提供一种生成覆盖率数据的方法、装置和电子设备,用以提高测试可靠性。
本说明书实施例还提供一种生成覆盖率数据的方法,包括:
构建具有测试阶段标记的监测规则;
获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口;
利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息;
结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
可选地,还包括:
获取各历史版本的程序变更集,结合所述编译结果和所述具有标记的运行过程信息计算所述待测试程序对所述程序变更集的覆盖率数据。
可选地,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,包括:
按照测试阶段对编译结果和运行过程信息进行分类,统计各测试阶段的覆盖率数据。
可选地,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,包括:
按照预设的集成测试规则和/或系统测试规则和/或回归测试规则统计生成各类覆盖率数据。
可选地,所述存储编译结果,包括:
获取编译产生的编译结果进行持久化存储。
可选地,所述存储编译结果,还包括:
获取所述编译结果的持久化存储地址,记录到待测试程序中;
当虚拟机重启后,所述待测试程序根据所述持久化存储地址对虚拟机重启后编译产生的编译结果进行持久化存储。
可选地,所述获取编译产生的编译结果进行持久化存储,包括:
在服务器中建立数据仓库,以持久化存储编译结果。
可选地,所述监测规则中具有测试发布流程,所述测试发布流程中具有测试阶段标识。
本说明书实施例还提供一种生成覆盖率数据的装置,包括:
监测规则模块,构建具有测试阶段标记的监测规则;
端口分配模块,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口;
记录模块,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息;
统计模块,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
本说明书实施例还提供一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行上述任一项方法。
本说明书实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。
本说明书实施例提供的各种技术方案通过构建具有测试阶段标记的监测规则,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。通过按测试阶段对运行过程进行标记存储,编译运行后依然能够结合存储的信息生成覆盖率数据,不受虚拟机重启等故障的限制,因而可靠性高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种生成覆盖率数据的方法的原理示意图;
图2为本说明书实施例提供的一种生成覆盖率数据的装置的结构示意图;
图3为本说明书实施例提供的一种电子设备的结构示意图;
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
图1为本说明书实施例提供的一种生成覆盖率数据的方法的原理示意图,该方法可以包括:
S101:构建具有测试阶段标记的监测规则。
在本说明书实施例中,可以根据待测试语句、待测试功能、待测试逻辑流程等设置阶段性标记,从而构建监测规则,这样,可以按照需要的测试维度来划分阶段,监测规则能够在监测到待测试程序具有相应的语句、逻辑流程,或可实现相应的功能时进行标记,从而能够按照需要的测试维度进行标记。
其中,不同的测试阶段可以是并列关系,也可以是包含关系,比如,一个流程可以有多个环节,每个环节都可以作为一个阶段,再比如,一个流程可以作为一个阶段,设置相应的标记,而这个流程内的环节,也可以作为一个阶段,设置相应的标记。
因此,在本说明书实施例,所述监测规则中具有测试发布流程,所述测试发布流程中具有测试阶段标识。
具体的,可以根据发布流程的属性设置测试阶段标识,从而精确辨识测试阶段的每个时间节点及运行过程,这样便可以进行多种维度的测试,比如,回归测试,集成测试等,摆脱只能进行代码语句维度的单元测试的限制。
因此,对于按照不同维度的划分阶段构建的监测规则,可以是集成测试规则和/或系统测试规则和/或回归测试规则。
这表示,监测规则可以包含多种规则,可一次性完成多种维度的监测和标记。
当然,如果为了提高监测的针对性和效率,也可以只包含一种规则,在此不做限制。
其中,测试发布流程可以具有多个测试阶段标识,不同的测试阶段标识可以相并列或包含。
具体实施时,构建具有测试阶段标记的监测规则,可以是在开发一些拦截代码,手动配置测试阶段标记,也可以是开发通用的监测模板和具有拖拽组件的配置页面,拖拽组件携带有测试阶段标记信息,这样,通过拖拽组件便可完成监测规则的构建。
S102:获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口。
在利用虚拟机进行测试时,如果同时进行多个测试进程,可能会出现端口混乱的情况,因此,为了减少端口混乱故障,我们可以在分配端口(比如jvm端口)后对端口进行标记,后续便可以直接将从第一端口输入输出信息与当前的,待测试程序对应。
在本说明书实施例中,可以对同一虚拟机的不同微服务进行分布式管理,通过随机算法分配不同的随机端口,向随机端口加入微服务选项参数,微服务在启动时则会启动该参数对应的端口。
S103:利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息。
通过对待测试程序进行编译,编译结果(比如classes文件)可以体现待测试程序中的语句,因而可以进行测试,可以将编译结果持久化存储,以便后续。
编译结果还可以运行,运行过程可以体现具体的执行流程,具有阶段性特征,因而可以利用这些阶段性特征匹配对应的测试阶段进而进行标记。
其中,阶段性特征可以是指,是否输入、输出信息,输入、输出哪类信息,多个语句的执行逻辑、调用顺序等,在此不做详细阐述。
具体实施时,可以借助jacoco工具可以实现阶段性标记,当然也可以自行定制专用的工具来进行标记,在此不做限制。
在本说明书实施例中,所述存储编译结果,可以包括:
获取编译产生的编译结果进行持久化存储。
其中,持久化存储地址可以是远程的数据库地址。
因此,所述获取编译产生的编译结果进行持久化存储,可以包括:
在服务器中建立数据仓库,以持久化存储编译结果。
可以为每个微服务建立专属的数据仓库。
为了应对虚拟机重启导致存储中断的情况,考虑到待测试程序在测试环节会处于执行状态,因此,我们可以借助这次执行来克服虚拟机中断的影响。
因此,在本说明书实施例中,所述存储编译结果,还可以包括:
获取所述编译结果的持久化存储地址,记录到待测试程序中;
当虚拟机重启后,所述待测试程序根据所述持久化存储地址对虚拟机重启后编译产生的编译结果进行持久化存储。
这样,可以使重启前、后的编译产生编译结果拼接成完完整的部分,从而防止编译结果缺失。
在本说明书实施例中,还可以对编译结果的执行进度进行标记,这样,重启之后可以从进度标记处继续执行,无需从头执行,从而提高效率。
S104:结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
该方法通过构建具有测试阶段标记的监测规则,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。通过按测试阶段对运行过程进行标记存储,编译运行后依然能够结合存储的信息生成覆盖率数据,不受虚拟机重启等故障的限制,因而可靠性高。
在升级代码时,会产生一些程序变更集,正是这些程序变更集,实现了代码的升级,因此,我们可以利用程序变更集来检验待测试程序是否达到升级目标。
因此,还包括:
获取各历史版本的程序变更集,结合所述编译结果和所述具有标记的运行过程信息计算所述待测试程序对所述程序变更集的覆盖率数据。
还可以将测试阶段代码覆盖率与代码变更集的交叉比对。
具体的,程序变更集中可以具有标记了测试阶段的测试发布流程,还可以具有测试用例,用来测试待测试程序对所输入实例的功能。
在本说明书实施例中,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,可以包括:
按照测试阶段对编译结果和运行过程信息进行分类,统计各测试阶段的覆盖率数据。
其中,分类可以是根据阶段标记按照阶段进行分来,也可以是按照不同的测试维度进行分类,比如,按照对程序功能的抽象层次不同进行分类,在此不做详细阐述。
通过分类统计,提高了统计的精确度,容易识别出覆盖效果差的维度,进而进行针对性的改进。
当然,还可以按照不同的测试类型进行分类。
因此,在本说明书实施例中,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,可以包括:
按照预设的集成测试规则和/或系统测试规则和/或回归测试规则统计生成各类覆盖率数据。
其中,覆盖率数据的具体形式,可以是覆盖率报告。
上述各实施例通过阶段标记,将测试发布流程标准化,明确标识各个测试阶段,从而能够生成准确有效的覆盖率报告。
在本说明书实施例中,为了简化测试过程中的操作,我们可以通过开发的方式构建测试器,测试器中具有测试流程控制程序,用来控制整个测试环节的执行流程,通过执行测试器可以自动部署测试环境,重启测试环境,开始进行测试:编译待测试程序并将编译结果进行持久化存储,运行该编译结果,对运行过程进行标记,添加运行时刻时间戳,保存运行过程信息,而后便可以根据保存的信息生成覆盖率测试报告。
在具体实施时,可以通过开发人员发起测试发布流程,开发人员可以预先记录测试流程控制程序所包含的代码提交标识和时间节点等数据,然后通过测试流程控制程序控制微服务的部署、运行和重启。
图2为本说明书实施例提供的一种生成覆盖率数据的装置的结构示意图,该装置可以包括:
监测规则模块201,构建具有测试阶段标记的监测规则;
端口分配模块202,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口;
记录模块203,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息;
统计模块204,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
该装置通过构建具有测试阶段标记的监测规则,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。通过按测试阶段对运行过程进行标记存储,编译运行后依然能够结合存储的信息生成覆盖率数据,不受虚拟机重启等故障的限制,因而可靠性高。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图3为本说明书实施例提供的一种电子设备的结构示意图。下面参照图3来描述根据本发明该实施例的电子设备300。图3显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种生成覆盖率数据的方法,其特征在于,包括:
构建具有测试阶段标记的监测规则;
获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口;
利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息;
结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取各历史版本的程序变更集,结合所述编译结果和所述具有标记的运行过程信息计算所述待测试程序对所述程序变更集的覆盖率数据。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,包括:
按照测试阶段对编译结果和运行过程信息进行分类,统计各测试阶段的覆盖率数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据,包括:
按照预设的集成测试规则和/或系统测试规则和/或回归测试规则统计生成各类覆盖率数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述存储编译结果,包括:
获取编译产生的编译结果进行持久化存储。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述存储编译结果,还包括:
获取所述编译结果的持久化存储地址,记录到待测试程序中;
当虚拟机重启后,所述待测试程序根据所述持久化存储地址对虚拟机重启后编译产生的编译结果进行持久化存储。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述获取编译产生的编译结果进行持久化存储,包括:
在服务器中建立数据仓库,以持久化存储编译结果。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述监测规则中具有测试发布流程,所述测试发布流程中具有测试阶段标识。
9.一种生成覆盖率数据的装置,其特征在于,包括:
监测规则模块,构建具有测试阶段标记的监测规则;
端口分配模块,获取待测试程序,在虚拟机中为所述待测试程序随机分配端口,将分配到的端口标记作第一端口;
记录模块,利用所述第一端口对所述待测试程序进行编译运行,存储编译结果,同时执行所述监测规则并按测试阶段对运行过程进行标记,生成并存储具有标记的运行过程信息;
统计模块,结合所述编译结果与所述具有标记的运行过程信息生成覆盖率数据。
10.一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行根据权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-8中任一项所述的方法。
CN202111621662.7A 2021-12-28 2021-12-28 一种生成覆盖率数据的方法、装置和电子设备 Pending CN114265783A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111621662.7A CN114265783A (zh) 2021-12-28 2021-12-28 一种生成覆盖率数据的方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111621662.7A CN114265783A (zh) 2021-12-28 2021-12-28 一种生成覆盖率数据的方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114265783A true CN114265783A (zh) 2022-04-01

Family

ID=80831059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111621662.7A Pending CN114265783A (zh) 2021-12-28 2021-12-28 一种生成覆盖率数据的方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114265783A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端
CN115080151B (zh) * 2022-07-22 2023-07-14 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Similar Documents

Publication Publication Date Title
CN109726093B (zh) 用于执行测试用例的方法、设备和计算机程序产品
US8621441B2 (en) System and method for software immunization based on static and dynamic analysis
US20140096115A1 (en) Method and apparatus for providing change-related information
EP3616066B1 (en) Human-readable, language-independent stack trace summary generation
CN108959059B (zh) 一种测试方法以及测试平台
US7069474B2 (en) System and method for assessing compatibility risk
AU2018201941A1 (en) Automated program code analysis and reporting
CN112394942B (zh) 基于云计算的分布式软件开发编译方法及软件开发平台
US20100199263A1 (en) Test case pattern matching
CN112764753B (zh) 一种项目的部署方法、装置、电子设备及存储介质
US11307975B2 (en) Machine code analysis for identifying software defects
US10942840B2 (en) System and method for managing a code repository
US20160259636A1 (en) Software patch evaluator
CN110674047B (zh) 软件测试方法、装置及电子设备
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN111382070A (zh) 兼容性测试方法、装置、存储介质和计算机设备
CN109032631A (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN106681783A (zh) 一种svn代码检测方法及其系统
US11467824B2 (en) Method and system for fast building and testing software
JP2015011372A (ja) デバッグ支援システム、方法、プログラム及び記録媒体
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
CN109542444B (zh) Java应用的监控方法、装置、服务器和存储介质
CN114265783A (zh) 一种生成覆盖率数据的方法、装置和电子设备
CN112988578A (zh) 一种自动化测试方法和装置
WO2021077916A1 (zh) 一种镜像文件的获取方法以及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination