测试覆盖率工具EclEmma使用培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

测试覆盖率工具EclEmma使用培训测试小组20080604Mantis使用培训2目的提高单元测试质量,从而提高项目整体开发效率和软件质量Mantis使用培训3培训内容术语介绍EclEmma介绍EclEmma使用安装获得测试覆盖率查看结果合并结果导出报告导入数据高级特性Mantis使用培训4术语介绍测试覆盖率测试代码对被测功能代码的覆盖程度测试覆盖率实现技术Mantis使用培训5测试覆盖率实现技术Instrumentation:代码注入,在产品代码的关键位置插入统计代码,从而获得测试覆盖率数据ClassInstrumentation:把统计代码插入编译好的.class文件SourceInstrumentation:把统计代码插入源代码并编译成新的.class文件CustomJVM:在JVM中把统计代码插入.class。测试覆盖率分析可以在JVM执行测试代码的过程中完成EclEmma为ClassInstrumentation方式,不会改变项目文件中的class文件Mantis使用培训6培训内容术语介绍EclEmma介绍EclEmma使用安装Coverage运行模式查看结果合并结果导出报告导入数据高级特性Mantis使用培训7EclEmma介绍Eclipse插件工作原理:ClassInstrumentation(把统计代码插入编译好的.class文件)测试覆盖率指标Mantis使用培训8测试覆盖率指标行覆盖率部分行覆盖:ab?a:b基本语句块覆盖率基本语句块:没有if-else分支的代码区域类覆盖率由JVM加载并初始化方法覆盖率第一个基本语句块被执行测试覆盖率指标Mantis使用培训9培训内容术语介绍EclEmma介绍EclEmma使用安装Coverage运行模式查看结果合并结果导出报告导入数据高级特性Mantis使用培训10安装(一)Eclipse标准的Update机制远程安装Mantis使用培训11安装(二)使用培训12培训内容术语介绍EclEmma介绍EclEmma使用安装Coverage运行模式查看结果合并结果导出报告导入数据高级特性Mantis使用培训13显示Coverage工具按钮(一)Mantis使用培训14显示Coverage工具按钮(二)Mantis使用培训15显示Coverage工具按钮(三)Mantis使用培训16示例项目介绍示例项目源代码组织结构:Random:被测代码RandomTest1:Random类的第一个JUnitTestCase类RandomTest2:Random类的第二个JUnitTestCase类Other:与其他3个类无关的类(设置这个类的原因,稍后会做说明)Other包:无关包(设置这个包的原因,稍后会做说明)Mantis使用培训17运行测试程序以RandomTest1为例Mantis使用培训18查看结果Mantis使用培训19Coverage视图1项目2源文件3包4类5方法对用output路径相同的类,无法单独为某个类分析其测试覆盖率Mantis使用培训20标注源代码绿色:全部执行黄色:部分执行红色:未执行Mantis使用培训21导出报告在Coverage视图主区域中点击右键,出现的快捷菜单中选择”ExportReport…”Mantis使用培训22导出报告session:一次测试覆盖率交互活动要导出的session选择报告的类型(HTML/XML/Text/EMMAsession)存放位置Mantis使用培训23HTML报告-项目Mantis使用培训24HTML报告-包Mantis使用培训25HTML报告-类/方法Mantis使用培训26导入session文件可将该session的测试覆盖率数据从外部导入Mantis使用培训27导入session文件Mantis使用培训28培训内容术语介绍EclEmma介绍EclEmma使用安装Coverage运行模式查看结果合并结果导出报告导入数据高级特性Mantis使用培训29高级特性Coverage视图工具栏EclEmma的配置界面Mantis使用培训30显示更多菜单Coverage视图工具栏Coverage工具栏选择session最小/大化视图折叠所有节点定位到其他视图选中的Java元素的测试覆盖率删除当前/所有session重新执行当前session当只有一次测试覆盖率测试结果时,合并session按钮不可用,显示为灰色。合并sessionMantis使用培训31可以将多次测试覆盖率的结果进行合并选择Coverage视图工具栏上的按钮,进入如下界面:合并结果Mantis使用培训32合并后的结果测试覆盖率是多次测试覆盖率的累积Mantis使用培训33显示更多菜单(过滤元素)点击按钮后会出现更多菜单以项目/根部包/当前包/类为根节点,显示各个元素的测试覆盖率以字节码指令/语句块/行/方法/类为单位,显示元素的测试覆盖率隐藏/过滤未使用的类,默认未选中Mantis使用培训34显示更多菜单点击按钮后会出现更多菜单Mantis使用培训35EclEmma的配置界面在测试覆盖率工具栏中点击“Coverage…”进入Mantis使用培训36设置代码注入方式Mantis使用培训37两种注入方式对比OutsideInstrumentation:修改class文件的备份文件(这个备份文件保存在一个与项目文件不同的临时目录中),默认方式。In-placeinstrumentation:直接修改项目中的class文件。一般不推荐使用这个功能。Mantis使用培训38设置JUnit版本Mantis使用培训39问题讨论Mantis使用培训40谢谢!

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功