欢迎进入🔗中通快递官网了解更多资讯
1.背景
为了适应多平台应用和复杂业务场景,移动端白盒测试是保障系统质量的方案趋势之一,中通科技测试开发团队也进行了移动端测试代码覆盖率相关的技术探索和实践。目前测试团队使用的是基于JaCoCo做二次开发的代码覆盖率工具,考虑现有测试工具体系,我们选择了中通宝盒Android 端APP作为测试代码覆盖率的实践应用。
2.现状
JaCoCo是解决Java应用代码覆盖率的成熟解决方案,对于同样生成字节码的Kotlin语言有很好的支持。中通宝盒Android APP使用gradle构建打包,主要开发语言是Java和Kotlin,并且gradle还提供了JaCoCo Plugin插件。于是我们的实践思路就有了:在gradle构建脚本中集成JaCoCo Plugin,在测试过程中生成覆盖率结果文件,结合目前的代码覆盖率后端服务生成代码覆盖率报告,绑定对应的测试用例,并在创建测试计划时推荐测试用例。
3.探索
怎么做?
首先是客户端集成JaCoCo插件,在build. gradle中引入JaCoCo Plugin,这部分按照官方文档做就可以,需要注意的是JaCoCo版本需要和gradle版本对应,服务端和客户端版本也应该一致。
目前测试开发团队的设计是客户端监听应用状态,每次切换到后台运行或者关闭应用时生成一次覆盖率文件,然后再由测试人员手动绑定当前结果文件和测试用例,提交到代码覆盖率后端服务去