iOS手工测试代码覆盖率统计

XcodeCoverage是一个开源框架,可以支持统计iOS客户端的单元测试代码覆盖率。项目地址:https://github.com/jonreid/XcodeCoverage

XcodeCoverage是通过gcc编译的时候加入gcov统计代码覆盖率,Gcov可以执行函数覆盖、语句覆盖和分支覆盖。

同样的,我们可以按照这种思路来实现手工测试的代码覆盖率统计。先上效果:

iOS手工测试代码覆盖率统计 - 网易杭州QA - 网易杭州 QA Team
 如果有用过jacoco做过web服务端测试覆盖率的童鞋,一定不会陌生。
那么接下来我们介绍如何进行配置。
1.首先可以通过直接下载或者pods下载XcodeCoverage到被测工程根目录。
iOS手工测试代码覆盖率统计 - 网易杭州QA - 网易杭州 QA Team
2.添加一个Build configuration
iOS手工测试代码覆盖率统计 - 网易杭州QA - 网易杭州 QA Team
 另外设置好build setting的Apple LLVM选项
3.设置Schema
将运行的Schema设置为刚才添加的configuration gcov
4.设置测试覆盖率数据统计触发

可以在AppDelegate中添加代码__gcov_flush(),这样当按Home键退出的时候测试覆盖率数据会写到统计文件中

iOS手工测试代码覆盖率统计 - 网易杭州QA - 网易杭州 QA Team

5.执行测试和收集覆盖率数据

启动运行xcode中的工程,并在模拟器中对app进行测试。在测试完成后点击Home键结束。此时统计数据已经生成,查看统计报告可以在工程的XcodeCoverage目录下执行

./getcov -s

即可生成本文最上方的测试覆盖率统计报告了。

 

目前该方法只适用于模拟器中测试的数据统计,后续也考虑能够在真机的测试中实际来应用。

posted @ 2017-03-27 01:06  DaisyLinux  阅读(1711)  评论(0编辑  收藏  举报