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