具体描述
《iOS 测试指南》是一本专注于 iOS 测试领域的书。其中重点讲述了各个测试阶段 的具体实践方法,并且通过持续集成串联了各个测试阶段的活动。本书中所有的测试 实践并非纸上谈兵,而是出自于笔者实际工作中的探索和实践。在测试实例上有一定 的简化,是为了脱离复杂的业务。本书的重点在于对方法的介绍。
以下几个方面的读者可能会受益:有一定技术功底的测试工程师;有一定经验的 移动测试工程师;iOS 开发工程师;测试技术爱好者。
作者简介
芈峮,发音(mi jun),但是输入法需要输入(mi qun)。具体为什么我不想太较真了,害怕最后发现自己把自己的名字读错30年的尴尬。也可以叫我老芈,或者厚脸皮(豆瓣的ID)等。不管名字叫什么或者昵称是什么,我就是我,一个想混进程序员队伍未果的非主流测试工程师。
业界人称中国iOS测试之父。
目录信息
1.1 什么是软件测试
1.1.1 测试活动何时展开
1.1.2 软件测试与软件缺陷
1.1.3 软件测试与软件质量
1.2 软件测试的类型
1.2.1 单元测试
1.2.2 集成测试
1.2.3 系统测试
1.3 iOS平台的一些性
1.4 iOS测试需要做么
第2章 iOS环境准备
2.1 开发测试设备
2.2 安装和设置Xcode
2.3 iOS开发者书
2.4 知识的准备
第3章 iOS单元测试
3.1 单元测试工具
3.1.1 OCUnit
3.1.2 GHUnit
3.1.3 GTM
3.2 单元测试实践
3.2.1 实践项目介绍
3.2.2 Model的单元测试
3.2.3 Controller和View的单元测试
3.3 单元测试的扩展工具
3.3.1 OCHamcrest
3.3.2 OCMockito
第4章 iOS的UI自动化测试
4.1 UI Automation的运行
4.2 Instruments工具的简要介绍
4.3 UI Automation入门
4.3.1 UI Automation脚本开发之前
4.3.2 UI Automation脚本编辑
4.3.3 UI Automation实践
4.3.4 UI Automation脚本的录制
4.3.5 UI Automation在真实设备上的运行
4.4 深入了解UI Automation API
4.4.1 Logger日志输出
4.4.2 Element和ElementArray
4.4.3 手势动作的模拟
4.4.4 延时处理
4.4.5 Target对象的一些系统级别的操作
4.5 测试用例的组织
4.6 第三方测试工具介绍
4.6.1 TuneupJs的使用
4.6.2 ynm3k的使用
第5章 iOS Web应用程序的自动化测试
5.1 使用Selenium进行iOS Web自动化测试
5.1.1 WebDriver原理结构
5.1.2 iPhoneDriver实践
5.1.3 iPhoneDriver的缺陷
5.2 使用Appium进行iOS Web自动化测试
5.2.1 Appium初窥
5.2.2 Appium实践
5.3 Appium常用方法介绍
5.3.1 Appium控件定位方法
5.3.2 Appium控件操作方法
第6章 iOS的持续集成
6.1 持续集成工具
6.1.1 Jenkins和Hudson
6.1.2 Jenkins的安装和使用
6.1.3 Jenkins相关插件介绍
6.2 iOS持续集成实践
6.2.1 iOS Web自动化测试的持续集成
6.2.2 iOS UI自动化测试的持续集成
6.2.3 iOS单元测试的持续集成
第7章 iOS测试策略及测试方法
7.1 iOS测试策略
7.2 兼容性测试
7.3 网络流量测试
7.4 升级测试
7.5 性能测试
7.6 稳定性测试
第8章 iOS测试框架实践
8.1 iOS测试框架总览
8.2 UI Automation扩展工具实践
8.3 UI Automation驱动测试框架介绍
8.3.1 UI Automation驱动类测试框架介绍
8.3.2 Appium测试实践
8.4 非UI Automation测试框架实践
8.5 BDD测试框架介绍
8.5.1 Frank测试实践
8.5.2 再谈BDD
8.6 自动化测试框架剖析
第9章 Xcode 5测试的新特性
9.1 Xcode 5中的单元测试
9.1.1 XCTest测试框架
9.1.2 便捷的单元测试管理
9.1.3 XCTest Refactoring Tool
9.1.4 新版本的命令和持续集成
9.2 iOS持续集成工具OS X Server
9.2.1 安装配置OS X Server
9.2.2 Web端的Bots设置和持续集成
9.2.3 Xcode 5和OS X Server的双剑合璧
· · · · · · (收起)
读后感
测试这项工作现在人人都可以在参与,零门槛了。直接在app界面上看到哪里有错点下就自动上传到后台各种统计数据等,特别方便,好东西要分享,叫bugtags。 今年年底刚出来的新神奇 它与其他产品的区别如下: Bugtags 不是做统计的 SDK 大家都会在 App 里集成用户数据统计的 SDK,...
各位书友大家好,我在看这本书的时候,在第三章https://github.com/hamcrest/OCHamcrest 这个地方,这个framework生成的时候遇到了问题,每次生成的都是osx版本的,没有生成iOS 版本,有弄过的求教啊,QQ:929097264
测试这项工作现在人人都可以在参与,零门槛了。直接在app界面上看到哪里有错点下就自动上传到后台各种统计数据等,特别方便,好东西要分享,叫bugtags。 今年年底刚出来的新神奇 它与其他产品的区别如下: Bugtags 不是做统计的 SDK 大家都会在 App 里集成用户数据统计的 SDK,...
测试这项工作现在人人都可以在参与,零门槛了。直接在app界面上看到哪里有错点下就自动上传到后台各种统计数据等,特别方便,好东西要分享,叫bugtags。 今年年底刚出来的新神奇 它与其他产品的区别如下: Bugtags 不是做统计的 SDK 大家都会在 App 里集成用户数据统计的 SDK,...
测试这项工作现在人人都可以在参与,零门槛了。直接在app界面上看到哪里有错点下就自动上传到后台各种统计数据等,特别方便,好东西要分享,叫bugtags。 今年年底刚出来的新神奇 它与其他产品的区别如下: Bugtags 不是做统计的 SDK 大家都会在 App 里集成用户数据统计的 SDK,...
用户评价
读完这本书,我最大的感受是,它像一本被拆散了的、东拼西凑起来的文档合集,缺乏一条贯穿始终的主线和清晰的知识架构。我期待看到的是一个成熟的测试策略蓝图——从单元测试、集成测试到UI测试的全景图,以及如何在敏捷开发流程中有效地嵌入这些测试环节。比如,我非常想知道在引入新功能时,如何平衡开发速度和测试覆盖率,如何利用CI/CD流水线自动化执行这些测试。这本书里似乎只提到了“要写测试”,但对于“怎么写、写到什么程度、以及如何维护这些测试”却避而不谈。我寻找的那些关于测试驱动开发(TDD)在iOS项目中的落地细节——比如如何处理视图控制器(ViewController)的生命周期测试,或者如何在不侵入业务代码的前提下实现有效的依赖注入以方便测试——在书中完全是空白。这使得这本书对于任何一个希望提升自己移动端质量保障水平的工程师来说,都显得力不从心,它无法指导我构建一个健壮、可信赖的iOS产品发布流程。
这本书的行文风格和逻辑组织也着实让人头疼。它似乎没有经过专业的编辑和结构梳理,章节之间的跳转显得非常突兀,知识点之间缺乏必要的承接和过渡。比如,可能前一页还在讲如何使用`XCUICoordinate`进行手势模拟,下一页突然跳跃到了关于构建工具的命令行参数介绍,两者之间没有任何解释说明为何要在此处插入这段内容。这种缺乏连贯性的叙述方式,极大地削弱了学习的效率。我期望的“指南”应当是循序渐进的,先建立基础概念,再逐步引入复杂模式,最后给出综合案例。这本书给读者的感觉像是从不同的教程中随机抽取片段拼凑而成,让人难以建立起一个完整的知识体系。对于需要系统学习的读者来说,这样的结构不仅低效,甚至可能导致对某些关键概念的误解,因为它没有清晰地界定不同测试层级之间的边界和职责。
如果把这本书比作一次探险,那么它提供的地图是模糊不清且充满误导的。我希望它能清晰地指明在iOS测试的“高地”(如核心业务逻辑的单元测试)和“沼泽地”(如第三方SDK的集成测试)应该采用哪些不同的战术。这本书未能提供任何关于测试优先级或资源分配的实用建议。在实际工作中,我们不可能对应用中的每一个角落都进行同等深度的测试,资源总是有限的。一个好的指南应当帮助工程师做出明智的取舍,比如,哪些代码路径是高风险的,哪些UI流程是用户最常使用的,从而指导我们将主要的测试精力投入到最能提高产品稳定性的地方。这本书对“有效性”和“效率”的考量近乎为零,它只是泛泛地鼓励“多写测试”,却没能提供任何衡量测试投入产出比(ROI)的框架。因此,它未能成为我工具箱中解决实际工程问题的利器。
这本所谓的《iOS测试指南》简直让我摸不着头脑。我原本满心期待能找到一本系统讲解如何进行高质量iOS应用测试的实战手册,里面最好能包含最新的XCTest框架用法、Mocking策略、UI自动化测试的最佳实践,甚至是对性能测试和安全测试的深入剖析。然而,当我翻开它,看到的却是大量关于Swift语言基础语法的复述,以及一些非常初级的、几乎是教科书层面的介绍。比如,关于断言(Assertions)的章节,只是简单罗列了`XCTAssertEqual`、`XCTAssertTrue`这些函数的定义,却没有深入讲解在实际复杂场景下,如何编写出真正有意义、能有效覆盖边界条件的测试用例。更别提移动端特有的环境依赖、数据伪造(Stubbing/Mocking)的进阶技巧了。感觉作者是想写一本入门书,但又没把入门教明白,写出来的东西既不适合零基础的新人,对有经验的开发者来说,更是毫无价值的重复劳动。如果我需要学习如何模拟网络请求失败或者测试异步操作的最终状态,这本书里恐怕找不到任何能帮到我的具体代码示例和设计思路。
坦白说,这本书的深度完全对不起它“指南”这个名字。我希望它能深入探讨iOS生态系统特有的那些“坑”——比如UIKit与SwiftUI混合项目中的测试挑战,或者针对多线程和并发问题的专项测试方法。例如,如何用最新的Actors模型来编写更安全、更易于测试的并发代码,以及如何使用Instruments工具进行内存泄漏的定位和分析,这些都是日常开发中必须面对的硬骨头。然而,书中对这些前沿和痛点的讨论几乎为零。它更像是一份对旧版Xcode或Swift版本的粗略回顾,而不是一本面向未来、指导实际工程实践的工具书。我合上书本时,脑海中并没有形成任何可立即应用到我当前项目中的高级策略,反而感觉自己浪费了时间去阅读那些搜索引擎上随便一搜就能找到的标准API说明。一个真正的指南应该能提供超越官方文档的见解,而这本书显然没有做到这一点。
毫无诚意,注水过多的一本书。强烈要求芈先生还钱!
毫无诚意,注水过多的一本书。强烈要求芈先生还钱!
一個高質量的軟件系統是設計和開發出來的,並不是測試出來的。
拿到了亲笔签名。拜读大作,有深度,接地气,感觉自己在开发的道路上又上升了一个层次。
内容嘛,反正测试都是差不多的,iOS平台没啥特别的地方。书写得比较简洁,比较清晰,有TDD基础很容易上手。内容更多的还是工具介绍,所以实际上就是3星水平,因为iOS这么多年也没个系统的介绍测试的书籍,本书算是开先河,所以应该加一星,其实我会说没给5星是因为价格太高么......