- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS 接口测试分享
中国移动杭州研发中心
2016年2月
*
目录
什么是iOS接口测试
为什么要做iOS接口测试
1
2
iOS接口测试介绍
3
XCTest测试框架简介
4
测试举例
5
什么是iOS接口测试?
SDK的英文全名是Software Development Kit(软件开发工具包),一般是一些由第三方服务商提供,用于实现应用软件产品某项功能的工具包,通常以集合API、文档、工具的形式出现。
iOS SDK是一堆 iOS接口的集合,接口也就是函数,包括系统之间的调用、服务之间的调用等。接口测试就是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
iOS接口测试是对暴露到外部的接口进行的测试,一个接口方法会有自己特定的业务定义,所以做接口测试时更多需要从业务的角度去考虑如何测试这个接口,同时还需要根据接口本身的定义对参数限制进行测试。
为什么要做iOS接口测试?
功能
接口是外部用户使用的直接对象,作为SDK提供商,我们一定要保证提供给外部用户使用的接口方法具有稳定的功能和健壮的容错性。
效率
首先,节省测试成本。根据数据模型推算,底层的一个bug能够引发上层的8个左右bug,而且底层的bug很容易引起业务层更多的问题。相反接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。
其次,接口测试不同于传统开发的单元测试,接口测试是站在用户的角度对系统接口进行全面高效持续的检测。
最后,接口测试是自动化并且可以持续集成的,这也是为什么接口测试能够低成本高收益的根源。
总之,接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益的驱动作用下的最佳解决方案。
iOS接口测试介绍
通过Xcode创建一个工程,导入被测SDK,编写测试脚本,然后执行测试。
每一个测试用例,其本质是一个函数,该函数中包含调用被测方法的过程。
某一被测方法会有多个测试用例,一般情况将同一被测方法的测试用例放在同一个测试类中,将同一类中的被测方法的测试脚本放在同一组中。
1
2
iOS接口测试介绍
3
4
XCTest 作为测试框架是因为它非常简单并且与 Xcode 的 IDE 直接集成。
XCTest 如何工作
苹果提供了一些关于如何使用 XCTest 的官方文档。测试用例被分到继承 XCTestCase 的不同子类中去。
因为测试用例都是简单的类和方法,所以我们可以适当地添加一些 @property 和辅助方法。
考虑到代码的重用性,我们的所有测试用例类都有一个共同的父类,也就是 TestCase,它也是 XCTestCase 的子类,所有的测试类都是我们的 TestCase 类的子类。
命名要求
因为测试用例仅仅只是一个以test为开头的方法,所以典型的测试用例方法看起来就像这样:
- (void)testRegisterFunc
{
// test code
}
XCTest测试框架简介
Xcode6之后,新建的工程默认包含一个“工程名+Tests”的文件夹,文件夹下有一个工程名+Tests.m的文件(和其他的类文件不一样的是没有.h头文件),该文件中默认包含有setUp和tearDown的方法。
-?(void)setUp?{????[super?setUp];????//?Put?setup?code?here.?This?method?is?called?before?the?invocation?of?each?test?method?in?the?class.}-?(void)tearDown?{????//?Put?teardown?code?here.?This?method?is?called?after?the?invocation?of?each?test?method?in?the?class.????[super?tearDown];}
setUp tearDown
setUp方法在XCTestCase的测试方法调用之前调用。当测试全部结束之后调用tearDown方法。setUp方法可以在测试之前创建在test case方法中需要用到的一些对象等。tearDown方法则在全部的test case执行结束之后清理测试现场,释放资源删除不用的对象等。
XCTest测试框架简介
功能测试
test case中的每一个方法都是test开头,这样容易辨识。方法中会执行断言(Assertion),来判断这个测试是否通过。被测方法如果采用Block回调或者代理模式,它们的测试方式略有不同。
Block回调测试方式
XCTest测试框架简介
代理模式测试方式:
您可能关注的文档
最近下载
- 兽医产科学(鞠辉明)第十章 分娩期疾病.pdf VIP
- 2025年济南市中考英语试题卷(含答案解析).docx
- 微观经济学:现代观点.ppt
- 2025年蜀道投资集团有限责任公司人员招聘笔试备考题库及答案解析.docx VIP
- 新12J07 室外工程标准图集.pdf VIP
- 部编版语文六年级上册全册教学设计(教案).pdf VIP
- 古建筑亮化工程施工方案(3篇).docx VIP
- GB∕T22081-2024《网络安全技术信息安全控制》之2:“5组织控制-5.2信息安全角色和责任”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- MAPGIS67教程(制图详细步骤讲解.doc VIP
- CPA经济法必背考点.pdf VIP
文档评论(0)