代码覆盖率解决方案

发表于:2018-5-04 11:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:yongliu1229    来源:51testing软件测试网采编

  在测试的世界里,覆盖包含代码级覆盖、流程分支级覆盖、业务场景级覆盖等,覆盖是衡量测试完整性的重要指标,我们只有覆盖了足够多的代码、分支、流程及业务后,才能对产品的发布更有信心。下面我来讲讲基于jacoco+Ant+sonar的单元及集成测试覆盖。
  一、软件安装
  ant/maven
  jacoco
  soanr
  二、服务端环境准备
  1)将jacocoagent.jar放到部署应用的服务器中,该工具是一个agent包,用来采集JVM内存数据;
  2)在应用的JAVA_OPTIONS中添加以下参数;
  -javaagent:[apppath]/jacocoagent.jar=includes=*,output=tcpserver,address=[appip],port=[appport]
  参数说明:
  ----apppath:就是jacocoagent.jar的路径;
  ----includes:是指要收集哪些类,不写的话默认是*,会收集应用服务上所有的类,包括服务器和其他中间件的类,一般要过滤;
  ----output:有4个值,分别是file,tcpserver,tcpclient,mbean,默认是file。使用file的方式只有在停掉应用服务的时候才能产生覆盖率文件,而使用tcpserver的方式可以在不停止应用服务的情况下下载覆盖率文件。
  ----address:应用部署的ip
  ----port:监听端口
  ps:使用tcpserver模式的时候,需要ip和端口信息。
  具体的参数值请参考jacoco的 java Agent。部分截图如下:
  三、使用ant执行单元及集成测试
  使用ant执行单元及集成测试用例,并生成单元测试覆盖率文件unit.exec。build.xml对应配置如下:
  单元及集成测试执行配置
  四、使用Ant dump下jacocoAgent覆盖率数据
  使用Ant任务dump出jacocoAgent采集到的集成测试覆盖率数据dump.exec。build.xml配置如下:
  dump覆盖率数据
  五、合并单元测试及集成测试覆盖率数据
  将生成的单元测试覆盖率文件和集成测试覆盖率文件合并到jacoco.exec文件中。build.xml配置如下:
  文件合并配置
  六、使用sonar分析合并文件,生成总覆盖率报告
  使用sonar分析合并后的覆盖率文件,并生成对应的测试报告。build.xml配置如下:
  soanr分析并生成报告
  soanr平台覆盖率信息如下:
  单元测试和集成测试合并后覆盖率




上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号