测试覆盖率工具:EclEmma 博客分类: 单元测试 测试覆盖率工具EclEmma
程序员文章站
2024-03-26 10:36:11
...
1 测试覆盖率实现技术
- Instrumentation:代码注入,在产品代码的关键位置插入统计代码,从而获得测试覆盖率数据
- Class Instrumentation: 把统计代码插入编译好的.class文件
- Source Instrumentation:把统计代码插入源代码并编译成新的.class文件
- Custom JVM:在JVM中把统计代码插入.class。测试覆盖率分析可以在JVM执行测试代码的过程中完成
2 EclEmma介绍
- 一个优秀的开源软件测试工具
- eclipse的一个插件
- 能够对由 Java 语言编写的程序进行覆盖测试
- 能够在工作平台中启动
- 直接对代码覆盖进行分析
- 覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示
- 也可程序运行的结果生成详尽的覆盖测试报告
- 可以结合JUnit、TestNG使用
- 工作原理:Class Instrumentation
3 EclEmma测试覆盖率指标
- 行覆盖率: 部分行覆盖:a>b?a:b
- 基本语句块覆盖率: 基本语句块:没有if-else分支的代码区域
- 类覆盖率: 由JVM加载并初始化
- 方法覆盖率: 第一个基本语句块被执行
4 EclEmma安装
- 启动eclipse -> 点击Help菜单 -> Install New Software,在弹出的对话框中,点击Add
- 输入Name,例如EclEmma。输入Location:http://update.eclemma.org/
- 安装后重新启动eclipse,如果成功安装,工具栏上会出现一个新的按钮,如图1所示
图1 EclEmma按钮