emma(收集java代码的覆盖率)

emma(收集java代码的覆盖率)

ID:18457419

大小:100.58 KB

页数:10页

时间:2018-09-18

emma(收集java代码的覆盖率)_第1页
emma(收集java代码的覆盖率)_第2页
emma(收集java代码的覆盖率)_第3页
emma(收集java代码的覆盖率)_第4页
emma(收集java代码的覆盖率)_第5页
资源描述:

《emma(收集java代码的覆盖率)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用EMMA获得功能测试覆盖率测试覆盖率是评价测试完整性的重要的度量标准之一。EMMA是一个面向Java代码的测试覆盖率收集工具。在测试过程中,使用EMMA能使收集和报告测试覆盖率的过程更加灵活、简单。在本文中,作者将EMMA引入到功能测试的过程,详细介绍EMMA在功能测试中的使用方法、步骤,并对覆盖率结果进行分析。1评论:伞云飞(sanyunf@cn.ibm.com),软件工程师,Author11company关闭[x]伞云飞,毕业于北京航空航天大学,目前在CDL的MBPSTeam工作,主要从事CSDP平台的功能测试和系统测试。有多年的测试相关经验

2、。2008年6月26日·内容o引言o功能测试中使用EMMA的优点oEMMA在测试执行中的应用o使用覆盖率报告总结和评估测试过程o结论o参考文献o下载o评论引言EMMA是一个开源、面向Java程序测试覆盖率收集和报告工具。它通过对编译后的Java字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。EMMA所使用的字节码插装不仅保证EMMA不会给源代码带来“脏代码”,还确保EMMA摆脱了源代码的束缚,这一特点使EMMA应用于功能测试成为了可能。注意:·在测试中使用EMMA收集覆盖率信息之前,需要从EMMA的网站

3、上下载emma.jar包。在这个网站上还可以得到更多关于EMMA的资源。·EMMA只能收集Java代码的覆盖率。文章附录提供一个样例代码,包含一个WAR包和一个JAR包,其中需要将WAR包安装在WebSpherePortalServer上运行。在实际测试过程中,可以将它们替换成对应的被测对象。回页首功能测试中使用EMMA的优点EMMA收集的数据包括类覆盖率、方法覆盖率、块覆盖率和行覆盖率,这些数据以包为单位进行组织。大多数功能测试中,测试人员一般不能直接得到被测源代码,源代码也不是测试人员关心的重点。在具体的测试过程中,功能测试人员一般以一个有意义的

4、功能模块作为测试关心的重点,而能够反映一定功能含义的类和方法的覆盖率在功能测试中更有价值。因此,在功能测试中,类覆盖率和方法覆盖率是测试人员关心的重点,行和块覆盖率则作为测试的参考。测试覆盖率报告中包含了两个方面的内容,测试覆盖的部分和未被测试覆盖的部分。尽管百分之百的测试覆盖率不能代表被测对象完全没有问题,但是测试覆盖的部分以及覆盖比率可以增加测试者对测试工作的信心,指导测试执行以及测试的方向。另一方面,当测试用例执行出现异常时,针对每个测试用例的测试报告还可以提供可疑代码的范围,为代码纠错提供帮助。测试覆盖率报告中未覆盖的部分也同样有价值:·表明

5、测试可能不完整,有些功能、代码没有被测试覆盖到。·为测试用例的设计提供指导建议。在覆盖率报告的指导下,测试人员有目的地与开发人员进行讨论,确定未覆盖部分是测试的空白还是不需要测试的部分。·帮助开发人员发现无用代码,为修改,完善代码提供依据。在使用EMMA获得测试覆盖率过程中,类、方法等覆盖的百分比报告,可以方便测试人员更好的评估测试。测试人员通过对照覆盖率报告与测试用例设计文档,需求文档可以迅速找到测试的不足。通过与开发人员进行讨论,可以更好的评估测试力度,并指导进一步的测试。因此在功能测试中引入覆盖率信息,能够完善测试结果报告,确保测试质量和力度,

6、保证测试按质、按量地完成。特别是在目前倡导的Agile开发和测试流程中,开发和测试的周期都很短,有效的覆盖率信息能够帮助测试人员更加准确地控制测试结果和周期、跟踪问题,保证软件正常发布。回页首EMMA在测试执行中的应用在这一部分将逐步介绍EMMA在功能测试过程中的使用过程和步骤。为了使整个介绍过程容易理解,在文章附录中提供了示例程序,文章中通过对示例程序进行操作介绍使用EMMA的命令。插装被测组件EMMA通过对被测组件进行插装来跟踪被测组件的执行过程,因此对被测组件进行插装是使用EMMA获得覆盖率信息的第一步。测试人员应首先和开发人员讨论,确定哪一部

7、分包含了符合插装要求的文件(Java文件),哪一部分需要考虑覆盖率信息,然后选择合适的方式进行插装。·插装准备在执行插装操作之前,首先应该扩展Java虚拟机,即将emma.jar放到被测组件运行使用的JRE目录下面作为JRE的扩展,以便EMMA能够被调用。emma.jar包含了EMMA核心功能模块的实现和EMMA运行时所需的类文件,这些文件是使用EMMA所必需的。由于示例被测组件运行在WebspherePortalServer中,并使用默认的JRE运行,因此将emma.jar放到“/opt/WebSphere/PortalServer/java/jr

8、e/lib/ext”下面。在实际的测试中,将该路径进行相应的替换。·插装EMMA中提供了“instr”命令完

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。