xcode用例覆盖度检测

Posted 搜狗测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xcode用例覆盖度检测相关的知识,希望对你有一定的参考价值。


测试覆盖率一直是评判测试工程师测试用例设计能力的指标,一个高覆盖率的单元测试用例可以带来更多的信心,这也证明该应用已经被彻底的测试过了。如果你写的用例覆盖度不高,那也无法带来任何价值。而在ios9之后,苹果公司为广大开发测试人员提供了一套智能的代码覆盖工具Code Coverage,它在每次运行单元测试时都会被调用进行计算。


这里找一个例子进行展示,首先我们先创建一个新项目并确认选上了Unit tests选项。我们在空的swift文件里写好一个方法,该方法用来检测两个字母串是否是仅排序不同的相同字母组成的词。(这里我们仅仅是演示一下,大家可以根据需要去修改)代码如下:



我们写好了方法就可以写真正的测试用例了,这里我们打开创建项目时就已经添加好的XCTestXXX文件,添加一个下面的简单测试方法

xcode用例覆盖度检测

必须先确认code coverage已经被打开了,写代码时默认是关闭的,这里需要编辑一下测试scheme打开即可。确保“Gather coverage data”被选中,然后点击关闭icon,运行测试target即可进行测试。

xcode用例覆盖度检测

当测试通过了,我们就可以打开code coverage tab清楚的看到测试的覆盖情况,苹果给我们按照target,file,function进行了自动分组。打开xcode左侧窗口的report navigator面板就可以看到了。

xcode用例覆盖度检测

这里我们的代码覆盖率才28%,我们双击方法名字就可以打开代码并看到code coverage情况。其中白色区域表示代码测试覆盖过了,灰色区域表示没有被覆盖到。而右侧的数字则表明代码块被执行的次数。如下图所示:



理想情况下,我们希望所有的分支都可以被测试用例覆盖到,因此我们添加测试用例以达到100%的覆盖度,添加完毕后继续运行单元测试,最后打开测试报告查看覆盖度。

通过上图,我们可以看到,所有的代码块均呈现白色,证明我们的用例已经达到了100%的覆盖度,可以放心的进行测试了。



在iOS应用测试中使用code coverage是一套非常有效的方式,它可以轻松的帮你找到测试用例中缺少的点,这能够提升我们测试人员制定测试用例的效率产出真正有用的用例。




以上是关于xcode用例覆盖度检测的主要内容,如果未能解决你的问题,请参考以下文章

《编码 - 代码分析》代码覆盖检测

测试设计

《嵌入式 - 嵌入式大杂烩》代码覆盖检测

软件测试--白盒 测试

jacoco+maven+sonar+springboot 单元测试代码覆盖率统计

iOS 代码覆盖率测试工具