精华内容
下载资源
问答
  • 现在大部分公司做数字芯片开发都需要用到Verilog,在RTL 代码即将完成时,有必要使用vcs + DVE去查看经过仿真后的CASE代码覆盖率,保证代码本身是没问题的。
  • 二 统计php代码覆盖率 1 需要安装xdebug 安装步骤: //www.jb51.net/article/116419.htm 测试环境 LNMP 军哥一键包1.3版本 PHP 7.0.7 Xdebug 2.6 配置步骤 git clone git://github.com/xdebug/xdebug.git cd ...
  •  对于复杂的设计来说,Verilog代码覆盖率检查是检查验证工作是否完全的重要方法,代码覆盖率(code coverge)可以指示Verilog代码描述的功能有多少在仿真过程中被验证过了,代码覆盖率分析包括以下分析内容。...
  • 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。下面我们来详细了解下吧
  • Coverage Status是一个Visual Studio Code插件,可在状态栏中显示SimpleCov或LCOV格式的代码覆盖率。 要求 为了使用此扩展,您需要有可用的代码覆盖率数据。 该扩展支持用于Ruby项目的SimpleCov,以及用于所有其他...
  • 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。下面我们就来详细学习下java单元测试吧
  • xcov是Xcode代码覆盖文件的友好可视化工具。 需要维护者 安装 sudo gem install xcov 产品特点 构建在之上,您可以轻松地将其插入CI环境。 将那些您要忽略的文件列入黑名单。 最小可接受覆盖率。 与兼容。 不错...
  • - JavaScript 代码覆盖率测量工具。 JSCover 是一个易于使用的 JavaScript 代码覆盖率测量工具。 它是流行的工具的增强版本,增加了多项功能,包括用于 CI 集成的分支覆盖率、 LCOV和Cobertura XML报告、用于自动化...
  • lcov是建立在gcov之上的一个可以生成html代码覆盖率报告的工具,最近公司开始尝试引入代码覆盖来提高产品质量,lcov很好地满足了我们的需求,虽然lcov本身支持生成代码覆盖率的diff报告,但是跟我们的需求不太符合。...
  • Java代码覆盖率测试

    千人学习 2019-02-10 16:32:39
    本课程共分4个章节,分别由浅入深: 了解与查看jacoco的代码覆盖率; 自己在eclipse中编写一段代码,并编写单元测试,通过jacoco查看代码覆盖率; 自己编写一段代码,在ant中配置built.xml,实现编译、测试、生成...
  • 在中提到了代码覆盖率,我很久没有去书店了,不知道是不是出了新的版本,觉得书里面关于代码覆盖率方面的知识有些地方没有讲,在这里补充一下。先回顾一下如何创建一个C#工程WildChar(无所谓是类型库工程还是命令行...
  • 代码覆盖率工具

    2015-11-26 16:01:48
    Java单元测试覆盖率工具,该工具包为eclipse插件包,可以很方便的跟eclipse或myeclipse集成,配合junit测试代码覆盖率
  • 监视每个chrome选项卡的salesforce代码覆盖率组织 v1.3闪电支持 监视每个chrome选项卡的salesforce代码覆盖率组织 v1.3闪电支持 支持语言:English
  • grcov grcov收集并汇总多个源文件的代码覆盖率信息。 grcov处理可从llvm / grcov生成的.gcda文件grcov收集并汇总多个源文件的代码覆盖率信息。 grcov处理可从llvm / clang或gcc生成的.gcda文件。 支持Linux,OSX和...
  • 该库可以帮助您在实时服务器上生成代码报告报告(当然不一定是生产服务器)。
  • 基本的Android项目模板,该模板使用 , 和进行单元测试和代码覆盖。 // Runs unit tests gradlew clean test gradlew clean check gradlew clean build // Prepares code coverage report gradlew clean ...
  • 上一篇博客》介绍了VisualStudio所采用的Block覆盖中Block是如何定义的,并且展示了代码行与Block之间其实并不是严格对应的。本篇博客将通过.NET中间语言(IL)进一步分析Visual Studio是如何划分Block的,从而更准确...
  • 带有 Cypress 和 Jest 代码覆盖率的演示单元测试 采用 # install and run tests $ npm it # runs Jest and Cypress tests headlessly # generates combined code coverage report $ open coverage/lcov-report/...
  • JaCoCo Java Code Coverage Library JaCoCo is a free Java code coverage library distributed under the Eclipse Public License. Check the for downloads, documentation and ...从而达到,增量显示代码覆盖率的目
  • laravel-sonarqube:使用SonarQube进行的laravel项目的代码覆盖率报告
  • Lighthouse - IDA Pro的代码覆盖率浏览器
  • 使用赛普拉斯设置示例的Vue单元和具有代码​​覆盖率的E2E测试 对于Vue-Typescript版本,请 逐步设置 该项目示例基于Vue CLI 3。 使用Vue CLI创建Vue项目 vue create your-app cd your-app 确保选择赛普拉斯作为您...
  • 代码覆盖率分析

    2018-09-15 17:45:10
    不支持html,是代码覆盖率分析的文档,用户可以自取,其中有脚本
  • 赛普拉斯e2e代码覆盖率 项目设置 yarn install 编译和热重装以进行开发 yarn run serve 编译并最小化生产 yarn run build 运行您的E2E测试 yarn run e2e 自定义配置 请参阅。
  • 代码覆盖率工具包集合,包含jacoco,sonar,sonar-scanner等。用于代码的规范检查、覆盖率检查等。
  • android工程JaCoCo代码覆盖率Demo,基础实例的入门级别,让小白选手轻松入门,对应使用根据文章可以查看对应业务逻辑。
  • 代码覆盖率

    千次阅读 2018-02-11 13:06:47
    用途:测试覆盖率评价的是测试代码的质量,并不是产品代码的质量代码覆盖率是一种白盒测试,因为测试覆盖率是评价产品代码类内部的指标,而不是评价系统接口或规约。测试覆盖率尤其用于评价测试代码是否已经覆盖了...

    用途

    测试覆盖率评价的是测试代码的质量,并不是产品代码的质量

    代码覆盖率是一种白盒测试,因为测试覆盖率是评价产品代码类内部的指标,而不是评价系统接口或规约。测试覆盖率尤其用于评价测试代码是否已经覆盖了产品代码所有的路径。

    分类

    类的覆盖率:类覆盖描熟了项目中多少类已被测试套件访问。  
    方法覆盖率:方法覆盖率是被访问的方法的百分比。 
    语句覆盖率:语句覆盖率追踪单条源代码语句的调用。 
    语句块覆盖率:语句快覆盖率将语句块作为基本的覆盖律单元。 
    分支覆盖率:分支覆盖率也被称为判断覆盖率。指标计算哪些代码分支被执行。

    代码的覆盖深度:从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括以下不同的覆盖
    标准:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖和修正判定条件覆
    盖。 参考:
    http://bbs.51testing.com/thread-74208-1-1.html

    ·语句覆盖为了暴露程序中的错误,程序中的每条语句至少应该执行一次。因此语句覆
    盖(Statement Coverage)的含义是:选择足够多的测试数据,使被测程序中每条语句至少执
    行一次。语句覆盖是很弱的逻辑覆盖。

    ·判定覆盖 比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定覆盖的
    含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次真值假值
    或者说使得程序中的每一个取分支和取分支至少经历一次,因此判定覆盖又称为
    分支覆盖。
    ·条件覆盖在设计程序中,一个判定语句是由多个条件组合而成的复合判定。为了更彻
    底地实现逻辑覆盖,可以采用条件覆盖(Condition Coverage)的标准。条件覆盖的含义是:
    构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
    ·多条件覆盖多条件覆盖也称条件组合覆盖,它的含义是:设计足够的测试用例,使得
    每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足
    判定覆盖、条件覆盖和条件判定组合覆盖的。
    ·修正条件判定覆盖修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制
    定的航空运输和装备系统软件认证标准,目前在国外的国防、航空航天领域应用广泛。这
    个覆盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果。它要求满足两
    个条件:首先,每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定
    到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(andor)连接的布尔条件,每个条件对于判定的结果值是独立的。

    覆盖率工具 

    Clover(商用)、EMMACobertura  JaCoCo

    特点/工具

    Cobertura

    Emma

    jacoco

    http://rensanning.iteye.com/blog/2002371
    http://blog.csdn.net/smile0102/article/details/48688763

    集成

    一个与Junit集成的代码覆盖率测量工具

    可以与AntMaven集成,也可以通过命令行调用

    可以统计几种覆盖率:classmethodblock, line。支持版本迭代的覆盖率统计

    免费且开源的Java代码覆盖率测试工具,100%Java编写,不依赖与任何第三方库

    Java Code Coverage)是开源的Java代码覆盖率测试library
    可以集成到ANTMavenbuild工具中。它采用标准的JVM Tool Interface。把JaCoCo agent 加入到JVM后启动,加载到JVM中的class具体被执行了哪些代码行将会被记录下来,JaCoCo搜集这些执行信息直到JVM结束后生成静态报告。

    开源

    免费、开源的

    免费、开源的

    免费、开源的

    报告形式

    可以生成HTMLXML格式的报告

    可以按照不同的标准对HTML结果进行排序

    提供了多种格式的报告,包括纯文本,HTMLXML,所有的报告都可以进行详细设置以获得定制报告

     

    覆盖率统计

    为每个类、包以及整个项目计算所覆盖的代码行与代码分支的百分比例

    支持对类,方法,代码行和基本的分支语句的覆盖率测试

    使用EMMA时,不需要获得源代码就可进行覆盖率测试,此外,EMMA还支持对整个jar文件测试。

     

     

     

     

     

     

     

     

     

    注释:

    Java测试覆盖率工具上,还有一个更加简单的工具:EclEmma(推荐,EclEmma是一个基于EMMAJava代码覆盖工具) ,它可以很方便的与Eclipse集成,然后可以直接run,显示出代码覆盖率,其地址是:http://www.eclemma.org/

     

    错误认识

    为覆盖率而设计是错误得的,有一点:有覆盖率统计,好过没有 

    功能测试代码覆盖率统计工具-EMMA

    原理:

    原理:
    http://qa.blog.163.com/blog/static/190147002201111151057365/
    http://www.tuicool.com/articles/3YJRfuU

    局限: 

     仅仅支持JDK7,如果JDK8,需要选择如jacoco等工具。
    脚本的编写:
    http://tianya23.blog.51cto.com/1081650/364094

    EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来脏代码,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能。

    大多数功能测试中,测试人员一般不能直接得到被测源代码,源代码也不是测试人员关心的重点。在具体的测试过程中,功能测试人员一般以一个有意义的功能模块作为测试关心的重点,而能够反映一定功能含义的类和方法的覆盖率在功能测试中更有价值。因此,在功能测试中,类覆盖率和方法覆盖率是测试人员关心的重点,行和块覆盖率则作为测试的参考。

    测试覆盖率报告中包含了两个方面的内容,测试覆盖的部分和未被测试覆盖的部分。尽管百分之百的测试覆盖率不能代表被测对象完全没有问题,但是测试覆盖的部分以及覆盖比率可以增加测试者对测试工作的信心,指导测试执行以及测试的方向。另一方面,当测试用例执行出现异常时,针对每个测试用例的测试报告还可以提供可疑代码的范围,为代码纠错提供帮助。

    测试覆盖率报告中未覆盖的部分也同样有价值:

    · 表明测试可能不完整,有些功能、代码没有被测试覆盖到。

    · 为测试用例的设计提供指导建议。在覆盖率报告的指导下,测试人员有目的地与开发人员进行讨论,确定未覆盖部分是测试的空白还是不需要测试的部分。

    · 帮助开发人员发现无用代码,为修改,完善代码提供依据。

    在使用 EMMA 获得测试覆盖率过程中,类、方法等覆盖的百分比报告,可以方便测试人员更好的评估测试。测试人员通过对照覆盖率报告与测试用例设计文档,需求文档可以迅速找到测试的不足。通过与开发人员进行讨论,可以更好的评估测试力度,并指导进一步的测试。因此在功能测试中引入覆盖率信息,能够完善测试结果报告,确保测试质量和力度,保证测试按质、按量地完成。

     

    EMMA 使用

    EMMA基本是四步曲:插桩(instr),运行,收集(ctl),报告(report

    版本0http://www.ibm.com/developerworks/cn/opensource/os-cn-emma/

    插装被测组件

    EMMA 通过对被测组件进行插装来跟踪被测组件的执行过程。测试人员应首先和开发人员讨论,确定哪一部分包含了符合插装要求的文件( Java 文件),哪一部分需要考虑覆盖率信息,然后选择合适的方式进行插装。

    · 插装准备

    在执行插装操作之前,首先应该扩展 Java 虚拟机,即将 emma.jar 放到被测组件运行使用的JRE 目录下面作为 JRE 的扩展,以便 EMMA 能够被调用。 emma.jar 包含了 EMMA 核心功能模块的实现和 EMMA 运行时所需的类文件,这些文件是使用 EMMA 所必需的。

    由于示例被测组件运行在 Websphere Portal Server 中,并使用默认的 JRE 运行,因此将emma.jar 放到 “/opt/WebSphere/PortalServer/java/jre/lib/ext” 下面。在实际的测试中,将该路径进行相应的替换。

    · 插装

    EMMA 中提供了 “instr” 命令完成插装操作。插装操作可以面向 JAR 包、 WAR 包、 WAR 包、类文件和目录,选择合适的命令进行插装可以使插装过程变得简便。

    清单 1. 对类文件插装命令

    /opt/WebSphere/PortalServer/java/jre/bin/java emma instr -m overwrite -ip

    /opt/WebSphere/PortalServer/installedApps/NumberQuizWEB_10yggsru.ear/NumberQuizWEB.war/WEB

    -INF/classes -Dmetadata.out.file=/root/emma/Number_coverage.em

    · 合并元数据

    完成插装操作以后,在指定的路径下会产生一些名为 “*coverage.em” 的文件,这些文件保存了插装的元信息,这些信息主要是记录插装过程中的插装点在被测代码中的位置。如果在插装过程中,指定这些文件到同一文件的话, EMMA 默认将元数据进行合并。如果测试人员未指定路径,或者希望得到独立的元文件,这些文件将分别产生在默认或指定的目录下。测试人员还可以通过使用 “merge” 命令手动将这些元文件进行合并,保证生成的覆盖率报表的全面性。注意:合并操作不支持逆向操作。

    清单 5. 合并元数据命令

    /opt/WebSphere/PortalServer/java/jre/bin/java emma merge

    -input <path1>/coverage1.em,<path2>/coverage.em -out <path>/coverage2.em

     

    完成上面的操作以后,就已经完成了收集覆盖率信息的准备工作。接下来测试人员可以进行正常的测试工作,在运行测试的过程中, EMMA 将跟踪并记录执行轨迹,得到覆盖率信息。

    运行测试用例,得到覆盖率报告

    完成插装工作以后,测试人员可以按照测试计划运行测试用例。 EMMA 将在测试执行的过程中记录代码执行信息并将结果记录在内存中。每次当 JVM 停止时,内存中记录的执行信息将被清除并被保存到 “*.ec” 的文件中。但是在实际测试的过程中, JVM 的停止很难控制,因此测试人员可以定时手动将内存中执行信息写出。在这种情况下,内存中的记录被输出,但是内存中的内容不被清除。

    从本地收集覆盖率信息

    /opt/WebSphere/PortalServer/java/jre/bin/java -cp emma.jar emma ctl -connect

    auscsdpfvtvm15.bto.ibm.com:47653 -command coverage.get,/root/emma/Number_coverage.ec

     

    EMMA: processing control command sequence

    EMMA: executing [coverage.get (/root/emma/Number_coverage.ec,true,true)]

    EMMA: coverage.get: local copy of coverage data merged into

              [/root/emma/Number_coverage.ec] {in 39 ms}

    EMMA: coverage.get: command completed in 79 ms

    EMMA: control command sequence complete

    这样收集到的信息被保存在 “coverage.ec” 中, “coverage.ec” 是二进制格式的文件,因此很难被用来查看覆盖率结果。

    生成覆盖率报告

    /opt/WebSphere/PortalServer/java/jre/bin/java -cp emma.jar emma report -r html -in

     /root/emma/Number_coverage.em,/root/emma/Number_coverage.ec -

    Dreport.html.out.file=/root/emma/Number_coverage.html -Dreport.metrics=class:80

    (,method:75)

    在生成覆盖率报告的过程中,测试人员可以根据测试要求通过 “Dreport.metrics” 参数设定满意的覆盖率标准。在示例命令中设定了类覆盖率的满意度为80%

    测试报告可以以 HTML ,文本和 XML 三种格式输出。

    合并覆盖率结果

    完成所用的测试用例后,测试覆盖信息可以被合并在一起,得到整个测试的覆盖报告。覆盖率结果文件通过 “merge” 命令合并 “*.ec” 文件实现的。

    另外,由于 EMMA 中测试覆盖率是通过与 “*.em” 文件关联获得代码信息的,因此当代码发生变化时,已经运行过的测试不必完全重复,只需将得到的 “*.ec” 文件合并(新得到的 “*.ec” 文件放在后面),然后关联最新的 “*.em” 文件即可得到代码变化后的覆盖率信息,这方便了 EMMA 支持版本变化的测试。在生成新的测试报告的时候,需要注意 “*.ec” 的时间一定要晚于 “*.em” 文件。

    清单 9. 合并覆盖率结果命令

    /opt/WebSphere/PortalServer/java/jre/bin/java emma merge

    –input coverage1.ec,coverage2.ec,coverage3.ec –output coverage.ec

    如果在生成测试报告的时候,如果出现 “com.vladium.emma.EMMARuntimeException: [CLASS_STAMP_MISMATCH] runtime version of class in the coverage data is not consistent with the version of this class in the metadata, possibly because stale metadata is being used for report generation” 错误,说明在生成新的 “*.em” 前后代码曾经被修改过,并且被修改的代码所在的类文件在新的测试中没有被覆盖到,这就需要重新执行这部分测试,保证修改过的部分被重新执行。

     

    展开全文
  • 单元测试的代码覆盖率至少80%!一大早,一个年轻的程序员问大师:“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”大师回答道:“不要考虑代码覆盖率,只要写出一些好的测试用例即可。”  一大早,一个...
  • CodeCoverageMerge 一个正在进行的项目,它将来自同一源代码的多个代码覆盖率文件合并为一个。 **尚无更多详细信息,但如有需要,可以随意进行分叉,理解和修改(请在之后向我发送合并请求)**

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,759
精华内容 64,303
关键字:

代码覆盖率