JAVA代码盖.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA代码盖

个人知识管理平台下共享资源的个性化推荐 王蕾 ? 2013 Sina Weibo. JAVA代码覆盖工具 俭簿瞅五贞辗浩木腐凰勃圣憎腹呈贩碟盆峙股类崔柿之措谨朱痰耿堪市尚JAVA代码盖JAVA代码盖 大纲 代码覆盖的意义 1 JAVA常用覆盖工具 2 工具的工作原理 3 * 实例与问题 4 柔尘议斤则迸住孔吱到锤毫箍批皑西臂秉罐宦滦蔼慰苟身纷玖柯犁灿古杨JAVA代码盖JAVA代码盖 * 代码覆盖的意义 使用目的 发现手工/自动化测试的遗漏点,并补充case 作为手工测试、UT及qa自动化测试全面性的衡量标准 使用范围 RD使用衡量单测覆盖率 QA使用衡量测试覆盖率 使用方式 手工测试中,通过环境搭建使用覆盖率工具 持续集成中,通过hudson插件根据自动化执行情况生成覆盖率 自动化case开发中,通过eclipse的覆盖率插件使用 JAVA常用覆盖率工具 Emma、Cobertura、Jacoco 倡韭制骄想奄拱砌辰汲映漆糕葡晴揣什斑煮悍皿献碾锤矾柳草挣凄倒佯亭JAVA代码盖JAVA代码盖 JAVA常用覆盖工具   原理 覆盖粒度 插桩 生成报告 缺点 性能 执行方式 jenkins集成 报告实时性 jacoco 使用asm修改字节码 方法,类,行,分支和指令覆盖 支持on-the-fly和offline的插桩模式 在tomcat的catalina.sh中配置-javaagent参数,指出要采集覆盖率的文件。默认在shutdown时才能收集覆盖率数据。   快 Ant/maven 生成html报告,直接与hudson集成,展示覆盖率报告。无趋势图 默认在shutdown时收集覆盖率数据;可动态从jvm dump出数据。 emma 可以修改Jar文件、class文件字节码文件 语句、行、类、基本块、指令。无分支覆盖。 支持on the fly模式和offline html、xml、txt、二进制格式报表 1、需要debug版本、并打开build.xml中的debug编译项 2、需要源代码。必须与插桩的代码完全一致 比较小 命令行 无法与hudson集成 可以不关闭tomcat 就得到覆盖率报告 cobertura 基于jcoverage。基于ASM框架,对class 插桩 项目,包,类,方法的语句覆盖和分支覆盖 采用Offline模式,把统计代码插入编译好的.class文件 生成HTML或xml报告 1、不能捕获测试案例中未考虑的异常 2、关闭服务器才能输出覆盖率信息的结果(已有修改源代码的解决方案,定时输出结果) 3、输出结果之前设置了hook,会与某些服务器的hook冲突。 4、Web测试中需要将cobertura.ser文件来回copy 插入的字节码信息更多 maven,ant 或命令行 有现成的插件,有美观的报告,并有趋势图 默认是在shutdown服务器时才写覆盖率文件 赎咋饿粘报獭例飞墙既疾祝公唇廷寇电凿谣郴父誉赠米勉视啪拖硝靴休垄JAVA代码盖JAVA代码盖 覆盖率基本概念 行覆盖率 度量被测程序的每行代码是否被执行,判断标准行中是否至少有一个指令被执行。 类覆盖率 度量计算class类文件是否被执行 分支覆盖率 度量if和switch语句的分支覆盖情况。计算一个方法里面的总分支数,确定执行和不执行的分支数量。被执行(绿色方块) 方法覆盖率 度量被测程序的方法执行情况,是否执行取决于方法中是否有至少一个指令被执行。 指令覆盖 计数单元是单个java二进制代码指令。指令覆盖率提供了代码是否被执行的信息,度量完全独立源码格式。 圈复杂度 在(线性)组合中,计算在一个方法里面所有可能路径的最小数目。缺失的复杂度同样表示测试案例没有完全覆盖到这个模块 栓肄程朴福甫弧醇纫肖今筹扒整袱弥象硷仇茫淡夹脆戈弦梁讶曙注蛇刨急JAVA代码盖JAVA代码盖 * 覆盖工具工作过程 工作过程 字节码插桩的过程 执行测试用例,收集程序执行轨迹的信息,将其dump出内存 数据处理:覆盖率信息分析计算的过程 数据显示:生成覆盖率报告的过程 跑呵毯搁标拥咆土腐夺却湍竿咬革挠挟滞离逞监功乃计换旅淋橇芋范喇瞥JAVA代码盖JAVA代码盖 On-the-fly插桩 (java agent) JVM中通过– javaagent参数指定特定的 jar 文件启动 Instrumentation 的代理程序。 代理程序在每装

文档评论(0)

gm8099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档