xcode用例覆盖度检测

发表于:2018-2-14 10:11

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

 作者:搜狗测试    来源:搜狗测试

  测试覆盖率一直是评判测试工程师测试用例设计能力的指标,一个高覆盖率的单元测试用例可以带来更多的信心,这也证明该应用已经被彻底的测试过了。如果你写的用例覆盖度不高,那也无法带来任何价值。而在iOS9之后,苹果公司为广大开发测试人员提供了一套智能的代码覆盖工具Code Coverage,它在每次运行单元测试时都会被调用进行计算。
  这里找一个例子进行展示,首先我们先创建一个新项目并确认选上了Unit tests选项。我们在空的swift文件里写好一个方法,该方法用来检测两个字母串是否是仅排序不同的相同字母组成的词。(这里我们仅仅是演示一下,大家可以根据需要去修改)代码如下:
  我们写好了方法就可以写真正的测试用例了,这里我们打开创建项目时就已经添加好的XCTestXXX文件,添加一个下面的简单测试方法。
  必须先确认code coverage已经被打开了,写代码时默认是关闭的,这里需要编辑一下测试scheme打开即可。确保“Gather coverage data”被选中,然后点击关闭icon,运行测试target即可进行测试。
  当测试通过了,我们就可以打开code coverage tab清楚的看到测试的覆盖情况,苹果给我们按照target,file,function进行了自动分组。打开xcode左侧窗口的report navigator面板就可以看到了。
  这里我们的代码覆盖率才28%,我们双击方法名字就可以打开代码并看到code coverage情况。其中白色区域表示代码测试覆盖过了,灰色区域表示没有被覆盖到。而右侧的数字则表明代码块被执行的次数。如下图所示:
  理想情况下,我们希望所有的分支都可以被测试用例覆盖到,因此我们添加测试用例以达到100%的覆盖度,添加完毕后继续运行单元测试,最后打开测试报告查看覆盖度。
  通过上图,我们可以看到,所有的代码块均呈现白色,证明我们的用例已经达到了100%的覆盖度,可以放心的进行测试了。
  在iOS应用测试中使用code coverage是一套非常有效的方式,它可以轻松的帮你找到测试用例中缺少的点,这能够提升我们测试人员制定测试用例的效率产出真正有用的用例。


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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号