为你的Android实现测试覆盖率

发表于:2021-3-22 09:22

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

 作者:Vaycent    来源:CSDN

  实现Android测试覆盖率
  我们使用的是jacoco来实现测试覆盖率。
  备注:我的项目环境为gradle 6.5,低于gradle 6.0的项目请自行查询另外的jacoco实现方式(gradle 6以上对文件权限进行了更改)。
  classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5-SNAPSHOT
  在全局的build.gradle添加一个jacoco的classpath
  apply plugin: "jacoco-android"
  在模块下的build.gradle添加jacoco-android插件
  ./gradlew clean jacocoTestReport
  现在可以愉快地在命令行下运行此命令,得到测试覆盖率报告了。
  覆盖率报告在app/build/jacoco/jacocoHtml/index.html下
  覆盖率指标的含义
  如图所示,这个是我们整个App项目的测试覆盖率报告。绿色部分和百分比是已测试覆盖到的,红色部分是未覆盖到部分。阅读这份报告应该是从右往左看(我的习惯),这些指标分别是:
  · 类覆盖率
  · 方法覆盖率
  · 行覆盖率
  · 圈复杂度覆盖率
  · 逻辑分支覆盖率
  · 指令覆盖率
  所以从右往左看,这些指标会逐步细化,就可以了解到项目代码的测试情况。我们经常看到一些管理人员提出要求如:“我们的项目要达到70%以上的代码覆盖率”,那他说的70%代码覆盖率到底指的是什么呢?抑或说,其实他也不知道指的是什么呢?这是个我一直百思不得其解的有趣问题。
  测试覆盖率的思考
  回到我们这个SecurityHelper测试全通过,覆盖率达到100%,那么:
  · 测试覆盖率达到100%
  · 是否代表这个代码质量就完美无暇呢?
  *如果不是,又怎么继续提升呢? *

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号