插桩支持on‐the‐fly和offline的插桩模式支持on the fly模式和offline采用Offline模式, 把统计代码插入编译好的.class文件生成报告在tomcat的catalina.sh中配置‐javaagent参数, 指出要采集覆盖率的文件。 默认在shutdown时才能收集覆盖率数据。html、 xml、 txt、 二进制格式报表生成HTML或xml报告1、 不能捕获测试案例中未考虑的异常2、 关闭服务器才能输出覆盖率信息的结果(已有修改源代码的解决方案, 定时输出结果)3、 输出结果之前设置了hook,会与某些服务器的hook冲突。4、 Web测试中需要将cobertura.ser文件来回copy缺点1、 需要debug版本、 并打开build.xml中的debug编译项2、 需要源代码。 必须与插桩的代码完全一致性能执行方式快比较小插入的字节码信息更多Ant/maven命令行maven,ant 或命令行jenkins集成生成html报告, 直接与hudson集成, 展示覆盖率报告。 无趋势图无法与hudson集成有现成的插件, 有美观的报告,并有趋势图报告实时性默认在shutdown时收集覆盖率数据; 可动态从jvm dump出数据。可以不关闭tomcat 就得到覆盖率报告默认是在shutdown服务器时才写覆盖率文件 覆 盖 率 基 本 概 念行覆盖率度量被测程序的每行代码是否被执行, 判断标准行中是否至少有一个指令被执行。类覆盖率 度量计算class类文件是否被执行分支覆盖率 度量if和switch语句的分支覆盖情况。 计算一个方法里面的总分支数, 确定执行和不执行的分支数量。 被执行(绿色方块)方法覆盖率 度量被测程序的方法执行情况, 是否执行取决于方法中是否有至少一个指令被执行。指令覆盖计数单元是单个java二进制代码指令。 指令覆盖率提供了 代码是否被执行的信息, 度量完全独立源码格式。