CN103365771B - 一种代码覆盖率的获得方法和设备 - Google Patents
一种代码覆盖率的获得方法和设备 Download PDFInfo
- Publication number
- CN103365771B CN103365771B CN201210102815.1A CN201210102815A CN103365771B CN 103365771 B CN103365771 B CN 103365771B CN 201210102815 A CN201210102815 A CN 201210102815A CN 103365771 B CN103365771 B CN 103365771B
- Authority
- CN
- China
- Prior art keywords
- code
- lines
- source code
- file
- code file
- 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.)
- Expired - Fee Related
Links
- 238000002360 preparation method Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000000694 effects Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 230000009897 systematic effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种代码覆盖率的获得方法和设备,该方法包括:在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数。本申请实施例中,通过被执行的代码行数与被编译的所有代码行数计算行代码覆盖率,可以更清晰地反馈出测试活动的程度,以精确表明哪些代码没有被测试。
Description
技术领域
本申请涉及了计算机技术领域,尤其是涉及了一种代码覆盖率的获得方法和设备。
背景技术
gcov/lcov(代码覆盖率测试工具,可以用于查看测试时代码执行的覆盖率)是gnu/gcc工具库中的组件,与gcc编译器共同实现对C/C++文件的语句覆盖测试和分支覆盖测试等。以gcov为例,则gcov的执行依赖于.gcda文件和.gcno文件,且gcov可以根据.gcda文件和.gcno文件生成相应的.c.gcov或.cpp.gcov,且.c.gcov或.cpp.gcov中记录了代码覆盖率信息。
具体的,gcov的分析过程包括如下步骤:
(1)gcov读取.gcno文件中的程序流图信息,建立被测源文件中每个函数的程序流图;
(2)gcov读取.gcda文件的信息,将已知的弧执行次数填入到程序流图中;
(3)gcov根据节点入度等于出度的原理推算出其他的弧与基本块的执行次数;
(4)gcov读取.gcno文件的信息,根据对应关系计算出每行代码的执行次数;
(5)gcov计算对应分支的起始位置;
(6)gcov输出计算结果。
在实现本申请的过程中,发明人发现现有技术中至少存在以下问题:
现有gcov/lcov等工具,行代码覆盖率的计算方式为:行代码覆盖率=测试活动后走过的代码行数/测试活动后走过的代码文件的所有代码行数*100%;在采用该行代码覆盖率计算方式时,无法精确表明哪些代码没有被测试。
发明内容
本申请实施例提供一种代码覆盖率的获得方法和设备,以精确表明哪些代码没有被测试。
为了达到上述目的,本申请实施例提供一种代码覆盖率的获得方法,包括:
在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;
计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数。
本申请实施例提供一种代码覆盖率的获得设备,包括:
获得模块,用于在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;
计算模块,用于计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数。
与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,通过被执行的代码行数与被编译的所有代码行数计算行代码覆盖率,可以更清晰地反馈出测试活动的程度,以精确表明哪些代码没有被测试。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种代码覆盖率的获得方法流程示意图;
图2是本申请实施例二提供的一种代码覆盖率的获得设备结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请实施例一提供一种代码覆盖率的获得方法,用于计算代码覆盖率(CodeCoverage),该代码覆盖率是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标,其可以细分为行代码覆盖率、函数覆盖率、分支覆盖率、条件覆盖率等,本申请实施例中是针对行代码覆盖率的获得方法,如图1所示,该方法至少可以包括以下步骤:
步骤101,在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数。
步骤102,计算测试对象的行代码覆盖率为:被执行的代码行数/被编译的所有代码行数。
本申请实施例中,可以通过代码覆盖率测试工具(如gcov、lcov等)对测试对象的多个源代码文件进行代码覆盖率测试,且在对每个源代码文件进行代码覆盖率测试时,可生成该源代码文件所对应的代码覆盖率中间结果文件,且该源代码文件所对应的代码覆盖率中间结果文件中记录有该源代码文件被执行的代码行数以及该源代码文件的所有代码行数。
进一步的,可以获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和,并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和。
例如,源代码文件包括源代码文件1、源代码文件2和源代码文件3,通过代码覆盖率测试工具对源代码文件1、源代码文件2和源代码文件3进行代码覆盖率测试;生成源代码文件1对应的代码覆盖率中间结果文件1,且代码覆盖率中间结果文件1中记录有源代码文件1被执行的代码行数(A1)以及源代码文件1的所有代码行数(B1);以此类推,代码覆盖率中间结果文件2中记录有源代码文件2被执行的代码行数(A2)以及源代码文件2的所有代码行数(B2);代码覆盖率中间结果文件3中记录有源代码文件3被执行的代码行数(A3)以及源代码文件3的所有代码行数(B3)。
进一步,可获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和(A1+A2+A3),并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和(B1+B2+B3);并计算测试对象的行代码覆盖率为:(A1+A2+A3)/(B1+B2+B3)。
需要注意的是,当源代码文件被执行时,则该源代码文件所对应的被执行的代码行数为测试活动所执行过的代码行数;当源代码文件未被执行时,则该源代码文件所对应的被执行的代码行数为0。
例如,源代码文件包括源代码文件1、源代码文件2和源代码文件3,通过代码覆盖率测试工具对源代码文件1和源代码文件2进行代码覆盖率测试,生成源代码文件1对应的代码覆盖率中间结果文件1,代码覆盖率中间结果文件1中记录有源代码文件1在测试活动所执行过的代码行数(A1)以及源代码文件1的所有代码行数(B1);以此类推,代码覆盖率中间结果文件2中记录有源代码文件2在测试活动所执行过的代码行数(A2)以及源代码文件2的所有代码行数(B2)。此外,由于源代码文件3未被执行,因此代码覆盖率中间结果文件3中记录有源代码文件3被执行的代码行数0以及源代码文件3的所有代码行数(B3)。
进一步,可获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和(A1+A2+0),并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和(B1+B2+B3);并计算测试对象的行代码覆盖率为:(A1+A2)/(B1+B2+B3)。
本申请实施例中,代码覆盖率中间结果文件可以为.info文件,为了实现上述过程,一种优选的实施方式为:通过代码覆盖率测试工具对每个源代码文件进行覆盖率信息的收集,生成每个源代码文件对应的.info文件,并将生成的多个.info文件合并为app.info文件,继而通过app.info文件直接得出所有源代码文件所对应的被执行的代码行数以及所有源代码文件所对应的所有代码行数,从而获得测试过程中被执行的代码行数以及被编译的所有代码行数。
以gcov或者lcov为例,则一种优选的实施方式为表1所示的.info文件,表1所示的.info文件中包含被执行的所有代码行(即源代码文件所对应的被执行的代码行数)以及有效代码行数(即源代码文件所对应的所有代码行数)。
表1
通过将多个表1所示的.info文件进行合并,可以得到app.info文件;而在app.info文件中,记录有所有源代码文件所对应的被执行的代码行数以及所有源代码文件所对应的所有代码行数。
需要注意的是,若有源代码文件参与了编译但是未被执行的,则不会产生对应的.gcda文件,理论上该源代码文件的行代码覆盖率为0%,但是由于其不存在.gcda文件,所以没法生成对应的行代码覆盖率信息。
针对该问题,本申请实施例中,若有源代码文件参与了编译但是未被执行的,则统计其有效代码行数,然后按照被执行的代码行数为0,所有代码行数为有效代码行数的信息添加到app.info文件中。
具体的,在获知.info文件的组织结构以后,可将未产生.gcda文件的源代码文件的行代码覆盖率添加到.info文件中,且在添加之前需要对源代码文件进行扫描并记录相关信息,即各个有效代码行的行号及有效代码行数,然后按照DA:行号,0;LH:0和LF:有效代码行数的内容对.info文件进行追加即可。
本申请实施例中,在计算测试对象的行代码覆盖率之后还包括:将测试对象的行代码覆盖率转换成HTML(HyperTextMarkupLanguage,超文本标记语言)格式的行代码覆盖率,并展示该具有HTML格式的行代码覆盖率。
具体的,由于上述生成的行代码覆盖率信息的展示不是很直观,因此还可以通过图形化前端工具将行代码覆盖率信息转换成HTML进行展现,以弥补在数据展现上的不足。例如,在通过app.info文件记录测试对象的行代码覆盖率信息时,可以利用genhtml将app.info转换成HTML信息。
本申请实施例中,测试对象的多个源代码文件可以位于用户指定的目录(如目录1)下,也可以位于该目录(目录1)的各个子目录(如目录11、目录12等)下,还可以位于不同的目录(如目录1、目录2等)下,针对位于各目录下的多个源代码文件,可以通过对某目录运行代码覆盖率测试工具进行代码覆盖率测试,并收集代码覆盖率信息。
需要注意的是,在实际应用中有可能无法对源代码文件进行代码覆盖率测试,基于此还需要预先维护各源代码文件与各源代码文件所处位置之间的对应关系;在对源代码文件进行代码覆盖率测试时,如果在当前目录下未记录有源代码文件,则利用对应关系获得源代码文件的所处位置;从源代码文件的所处位置处获得源代码文件,并对源代码文件进行代码覆盖率测试。
具体的,当.gcda文件,.gcno文件,源代码文件(如.c或.cpp文件)不在同一目录下时,则不能生成行代码覆盖率信息;因此在运行gcov/lcov之前,先对整个项目目录进行遍历,若发现源代码文件,则按照文件名和文件所处位置的方式组织成一个directory映射关系;之后,如果在某一目录下发现.gcno,.gcda文件,则检测在该目录下是否存在其对应的源代码文件,若不存在,则说明.gcno和.gcda不在同一目录下,并通过.gcda,.gcno构造源代码文件名,查看上述字典中是否存在该值,若存在则将对应的.gcno和.gcda拷贝到源代码文件所在目录中,继而可以对源代码文件进行代码覆盖率测试。
本申请实施例中,上述过程可通过用于进行代码覆盖率测试的unittest_run功能来实现,unittest_run可以划分为运行单元测试功能和代码覆盖率生成功能;单元测试(又称为模块测试)功能是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作,且单元测试功能用于首先获得用户的项目代码,若该项目需要依赖其他的包,则根据指定的包名,先用yum安装依赖包,然后根据用户用-k指定的命令对进入需要编译的目录对项目进行编译,再根据-u指定的执行命令运行可执行文件;该过程本申请实施例中不再赘述。
基于单元测试功能执行的上述操作,代码覆盖率生成功能可以在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数。
综上所述,本申请实施例中,通过被执行的代码行数与被编译的所有代码行数计算行代码覆盖率,可以更清晰地反馈出测试活动的程度,提高行代码覆盖率测试的精准性,以精确表明哪些代码没有被测试。
例如,源代码文件包括源代码文件1、源代码文件2和源代码文件3,通过代码覆盖率测试工具对源代码文件1和源代码文件2进行代码覆盖率测试。
现有技术中,源代码文件1在测试活动所执行过的代码行数为10,源代码文件1的所有代码行数为20;源代码文件2在测试活动所执行过的代码行数为10,源代码文件1的所有代码行数为20;基于此,行代码覆盖率=20/40*100%=50%。
本申请实施例中,源代码文件1在测试活动所执行过的代码行数为10,源代码文件1的所有代码行数为20;源代码文件2在测试活动所执行过的代码行数为10,源代码文件1的所有代码行数为20;源代码文件3在测试活动所执行过的代码行数为0,源代码文件3的所有代码行数为20;基于此,行代码覆盖率=20/60*100%=33.3%。
实施例二
基于与上述方法同样的申请构思,本申请实施例中还提供了一种代码覆盖率的获得设备,如图2所示,该设备包括:
获得模块11,用于在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;
计算模块12,用于计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数。
所述获得模块11具体包括:
生成子模块111,用于在对各源代码文件进行代码覆盖率测试时生成源代码文件所对应的代码覆盖率中间结果文件;
源代码文件所对应的代码覆盖率中间结果文件中记录有该源代码文件被执行的代码行数以及该源代码文件的所有代码行数;
获得子模块112,用于获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和,并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和。
本申请实施例中,当源代码文件被执行时,则该源代码文件所对应的被执行的代码行数为测试活动所执行过的代码行数;当源代码文件未被执行时,则该源代码文件所对应的被执行的代码行数为0。
该设备还包括:管理模块13,用于预先维护各源代码文件与所述各源代码文件所处位置之间的对应关系;在对源代码文件进行代码覆盖率测试时,如果在当前目录下未记录有所述源代码文件,则利用所述对应关系获得所述源代码文件的所处位置;从所述源代码文件的所处位置处获得所述源代码文件,并对所述源代码文件进行代码覆盖率测试。
该设备还包括:处理模块14,用于将所述测试对象的行代码覆盖率转换成超文本标记语言HTML格式的行代码覆盖率,并展示该具有HTML格式的行代码覆盖率。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (8)
1.一种代码覆盖率的获得方法,其特征在于,包括:
在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;
计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数;
其中,所述在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数,具体包括:
在对各源代码文件进行代码覆盖率测试时生成源代码文件所对应的代码覆盖率中间结果文件,源代码文件所对应的代码覆盖率中间结果文件中记录有该源代码文件被执行的代码行数以及该源代码文件的所有代码行数;
获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和,并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和。
2.如权利要求1所述的方法,其特征在于,当源代码文件被执行时,则该源代码文件所对应的被执行的代码行数为测试活动所执行过的代码行数;当源代码文件未被执行时,则该源代码文件所对应的被执行的代码行数为0。
3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
预先维护各源代码文件与所述各源代码文件所处位置之间的对应关系;
在对源代码文件进行代码覆盖率测试时,如果在当前目录下未记录有所述源代码文件,则利用所述对应关系获得所述源代码文件的所处位置;
从所述源代码文件的所处位置处获得所述源代码文件,并对所述源代码文件进行代码覆盖率测试。
4.如权利要求1所述的方法,其特征在于,计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数,之后还包括:
将所述测试对象的行代码覆盖率转换成超文本标记语言HTML格式的行代码覆盖率,并展示该具有HTML格式的行代码覆盖率。
5.一种代码覆盖率的获得设备,其特征在于,包括:
获得模块,用于在对测试对象的多个源代码文件进行代码覆盖率测试时,获得测试过程中被执行的代码行数以及被编译的所有代码行数;
计算模块,用于计算所述测试对象的行代码覆盖率为:所述被执行的代码行数/所述被编译的所有代码行数;
其中,所述获得模块具体包括:
生成子模块,用于在对各源代码文件进行代码覆盖率测试时生成源代码文件所对应的代码覆盖率中间结果文件;
源代码文件所对应的代码覆盖率中间结果文件中记录有该源代码文件被执行的代码行数以及该源代码文件的所有代码行数;
获得子模块,用于获得测试过程中被执行的代码行数具体为所有源代码文件所对应的被执行的代码行数之和,并获得测试过程中被编译的所有代码行数具体为所有源代码文件所对应的所有代码行数之和。
6.如权利要求5所述的设备,其特征在于,当源代码文件被执行时,则该源代码文件所对应的被执行的代码行数为测试活动所执行过的代码行数;当源代码文件未被执行时,则该源代码文件所对应的被执行的代码行数为0。
7.如权利要求5所述的设备,其特征在于,还包括:
管理模块,用于预先维护各源代码文件与所述各源代码文件所处位置之间的对应关系;
在对源代码文件进行代码覆盖率测试时,如果在当前目录下未记录有所述源代码文件,则利用所述对应关系获得所述源代码文件的所处位置;
从所述源代码文件的所处位置处获得所述源代码文件,并对所述源代码文件进行代码覆盖率测试。
8.如权利要求5所述的设备,其特征在于,还包括:
处理模块,用于将所述测试对象的行代码覆盖率转换成超文本标记语言HTML格式的行代码覆盖率,并展示该具有HTML格式的行代码覆盖率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210102815.1A CN103365771B (zh) | 2012-04-10 | 2012-04-10 | 一种代码覆盖率的获得方法和设备 |
HK13114004.0A HK1186558A1 (zh) | 2012-04-10 | 2013-12-18 | 種代碼覆蓋率的獲得方法和設備 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210102815.1A CN103365771B (zh) | 2012-04-10 | 2012-04-10 | 一种代码覆盖率的获得方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365771A CN103365771A (zh) | 2013-10-23 |
CN103365771B true CN103365771B (zh) | 2016-02-17 |
Family
ID=49367177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210102815.1A Expired - Fee Related CN103365771B (zh) | 2012-04-10 | 2012-04-10 | 一种代码覆盖率的获得方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103365771B (zh) |
HK (1) | HK1186558A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699596A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 代码覆盖率处理方法及装置 |
CN104142887B (zh) * | 2013-12-12 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种数据挖掘方法和装置 |
CN105610878B (zh) * | 2014-10-30 | 2020-03-03 | 腾讯科技(深圳)有限公司 | 目录上传方法、数据发布方法、终端及服务器 |
CN106294114A (zh) * | 2015-06-08 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种代码覆盖率获取方法、服务器及待测应用装置 |
CN105005645B (zh) * | 2015-06-30 | 2018-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种覆盖率的统计方法及装置 |
CN105718373B (zh) * | 2016-01-27 | 2018-05-11 | 中电科航空电子有限公司 | 满足do-178c的代码覆盖率生成方法 |
CN106126430A (zh) * | 2016-08-19 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种代码覆盖率的测试方法及装置 |
CN106294183B (zh) * | 2016-08-25 | 2019-03-08 | 网易(杭州)网络有限公司 | 覆盖率检测方法、装置和设备 |
CN106326124A (zh) * | 2016-08-25 | 2017-01-11 | 网易(杭州)网络有限公司 | 覆盖率检测方法、装置和设备 |
CN106407126B (zh) * | 2016-11-30 | 2019-04-30 | 网易(杭州)网络有限公司 | 覆盖率数据的处理方法、装置和服务器 |
US20180173610A1 (en) * | 2016-12-19 | 2018-06-21 | Mediatek Inc. | Method for performing cared-zone code coverage evaluation with no source code modification |
CN106776338B (zh) * | 2016-12-30 | 2020-04-03 | 北京金山安全软件有限公司 | 一种测试方法、装置及服务器 |
CN107229565B (zh) * | 2017-05-31 | 2020-05-01 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109460357B (zh) * | 2018-10-19 | 2021-10-29 | 北京新能源汽车股份有限公司 | 一种代码覆盖率的测试方法、装置和设备 |
CN112540913B (zh) * | 2020-11-27 | 2024-02-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种代码覆盖率确定的方法、系统、设备及可读存储介质 |
CN116991751B (zh) * | 2023-09-28 | 2023-12-22 | 英诺达(成都)电子科技有限公司 | 代码测试方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456248C (zh) * | 2005-12-02 | 2009-01-28 | 凌阳科技股份有限公司 | 获得程序代码和函数执行覆盖率及执行效率的装置及方法 |
CN101464829A (zh) * | 2007-12-18 | 2009-06-24 | 珠海金山软件股份有限公司 | 确定代码覆盖率的方法、测试装置 |
CN101600125A (zh) * | 2009-06-10 | 2009-12-09 | 北京中星微电子有限公司 | 一种视频测试码流的筛选方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089535B2 (en) * | 2002-03-28 | 2006-08-08 | International Business Machines Corporation | Code coverage with an integrated development environment |
-
2012
- 2012-04-10 CN CN201210102815.1A patent/CN103365771B/zh not_active Expired - Fee Related
-
2013
- 2013-12-18 HK HK13114004.0A patent/HK1186558A1/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456248C (zh) * | 2005-12-02 | 2009-01-28 | 凌阳科技股份有限公司 | 获得程序代码和函数执行覆盖率及执行效率的装置及方法 |
CN101464829A (zh) * | 2007-12-18 | 2009-06-24 | 珠海金山软件股份有限公司 | 确定代码覆盖率的方法、测试装置 |
CN101600125A (zh) * | 2009-06-10 | 2009-12-09 | 北京中星微电子有限公司 | 一种视频测试码流的筛选方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103365771A (zh) | 2013-10-23 |
HK1186558A1 (zh) | 2014-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365771B (zh) | 一种代码覆盖率的获得方法和设备 | |
CN107895286B (zh) | 理赔金额确定方法及装置、存储介质和电子设备 | |
Kwiatkowska et al. | The PRISM benchmark suite | |
Liu et al. | Covering code behavior on input validation in functional testing | |
CN104407976B (zh) | 一种接口健壮性测试用例生成方法及装置 | |
CN104407980A (zh) | 移动应用自动化测试装置和方法 | |
CN107704393A (zh) | 数据测试方法、装置及电子设备 | |
CN105117233A (zh) | Api调用方法及装置 | |
CN104077217A (zh) | 代码文件的编译发布方法及系统 | |
CN103995774B (zh) | 软件安装包检测方法及装置 | |
Gupta et al. | Package level cohesion measurement in object-oriented software | |
US20180349539A1 (en) | Systems and methods for co-simulation | |
US20030188298A1 (en) | Test coverage framework | |
CN102541917B (zh) | 用于验证Web页面布局的方法和系统 | |
US20160162539A1 (en) | Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same | |
CN109857657A (zh) | 代码检测方法、装置、计算机设备及存储介质 | |
CN110908915A (zh) | 一种测试覆盖率的展示方法、装置及计算机系统 | |
CN112860556A (zh) | 覆盖率统计方法、装置、计算机系统和可读存储介质 | |
CN105630678B (zh) | 一种智能电能表软件的可靠性检测仪及其检测方法 | |
CN103425580A (zh) | 一种自动快速获取和校验云计算设备配置信息的方法 | |
CN107729239A (zh) | 一种代码覆盖率统计方法、系统、装置及计算机存储介质 | |
Chaturvedi et al. | A tool supported approach to perform efficient regression testing of web services | |
Elia et al. | Understanding interoperability issues of web service frameworks | |
CN103150445B (zh) | 一种matlab模型变量的剖析方法及装置 | |
Huchant et al. | Parcoach extension for a full-interprocedural collectives verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1186558 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1186558 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |