51Testing独家连载:腾讯iOS测试实践

发表于:2017-10-11 16:53

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

 作者:丁如敏 王琳 等    来源:51Testing软件测试网原创

  【前 言】
  为何写作本书
  随着移动互联网的兴起,移动终端的测试也进入火热的时代。两大主流操作系统Android和iOS占据了移动端的主要市场份额,其中iOS系统只能在苹果系列的移动终端使用,也即苹果系列的移动终端产品上操作系统都是清一色的iOS系统,这就形成了硬件和系统同属于一家公司的独特现象。每年苹果公司发布新机型或者新操作系统时,都会引起全球果粉的疯狂。如此火热的平台,如何保证其上APP的质量就显得尤为重要。
  长久以来市面上比较少见单独讲解iOS平台相关测试知识的书籍,对业界做iOS测试的同行们来说可参考的国内资源十分匮乏,需要在外文网站和博客上的片段资料中进行学习和整合。随着iPhone和iPad等移动终端设备的兴起和流行,越来越多的开发者和测试人投入到iOS平台软件研发中,而中文参考资料的缺失,确实在一些程度上阻碍了国内测试人员进军iOS平台的步伐。市场上也渴望有一本相对系统而详实的讲解iOS测试内容的书籍,本书正是应运而生。
  QQ浏览器(iPhone)测试团队自从2012年初组建以来,一直致力于探索基于iOS平台的各种测试技能和实践方式,经过近5年的经验积累,在整体测试观、功能测试、性能测试、自动化测试都有iOS平台上独特的经验,希望能和业界同行们进行分享和交流。开始起草这本书的初稿是2015年下半年,历时半年完成初稿,在2016年下半年正式启动本书出版流程,再用半年时间修改原稿,进行内容更新和丰富,使得书中涉及的案例和框架使用更加贴合当前实际。总体耗时一年的时间,力求为读者呈现一本相对系统化、可读性高、与时俱进的iOS平台专业测试书。
  本书的全部作者有:程春林、丁如敏、纪文静、王琳、叶方正、张锦铭(按姓氏拼音排序),都是来自腾讯QQ浏览器(iPhone)测试团队的领头人及骨干员工。
  【目 录】
  第一部分 测试观
  第1章 测试观概述 2
  1.1 引言 2
  1.2 工程效率 3
  1.2.1 自动化测试 4
  1.2.2 静态代码分析 5 
  1.3 品质管理 7
  1.4 测试分析 12
  1.4.1 黑盒测试分析 12
  1.4.2 白盒测试分析 13
  1.5 测试设计 14
  1.5.1 探索式测试 14
  1.5.2 基于模型的测试 14
  1.6 数据反推 15
  1.6.1 测试过程中的数据 15
  1.6.2 线上数据 17
  1.7 未来的测试 19
  1.7.1 线上数据挖掘 19
  1.7.2 人工智能 21
  1.7.3 众测 21
  1.8 小结 22
  第二部分 iOS特色测试
  第2章 走进iOS 24
  2.1 引言 24
  2.2 iOS平台的兴起 24
  2.3 iOS平台的特殊性 25
  2.3.1 证书 25
  2.3.2 越狱 26
  2.3.3 灰度 27
  2.3.4 AppStore审核 29
  2.3.5 自动化测试工具 30
  2.4 小结 30
  第3章 iOS兼容性测试 31
  3.1 引言 31
  3.2 系统兼容 32
  3.2.1 新增功能 32
  3.2.2 接口差异 32
  3.3 机型兼容 37
  3.3.1 新增功能 37
  3.3.2 屏幕变化 37
  3.3.3 处理器差异 38
  3.4 测试原则 39
  3.5 小结 41
  第4章 iOS性能测试 43
  4.1 引言 43
  4.2 性能测试简介 44
  4.2.1 性能测试介入时间 45
  4.2.2 iOS性能测试分类 46
  4.3 响应速度测试方法 48
  4.3.1 掐表计时法 48
  4.3.2 日志计时法 48
  4.3.3 录像分帧计时法 49
  4.3.4 网页速度对比测试举例 51
  4.4 稳定性测试 55
  4.4.1 测试框架介绍 56
  4.4.2 稳定性测试思路 56
  4.4.3 稳定性测试结果记录 
  4.5 流量测试方法 62
  4.5.1 系统流量统计方法62
  4.5.2 数据包分析法63
  4.6 电量测试方法66
  4.7 内存测试方法67
  4.8 流畅性测试70
  4.9 小结71
  第5章 iOS自动化测试入门72
  5.1 引言72
  5.2 自动化测试适用场景72
  5.3 自动化测试框架73
  5.3.1 接口自动化测试框架73
  5.3.2 UI自动化测试框架74
  5.4 XCTest自动化框架介绍75
  5.4.1 框架集成75
  5.4.2 接口测试78
  5.4.3 UI测试79
  5.4.4 优缺点分析85
  5.5 KIF自动化框架介绍86
  5.5.1 框架集成86
  5.5.2 用例编写89
  5.5.3 优缺点分析92
  5.6 小结93
  第6章 iOS测试框架二次开发94
  6.1 引言94
  6.1.1 二次开发总体架构94
  6.1.2 整体部署图94
  6.1.3 整体架构图95
  6.1.4 架构分析96
  6.2 底层驱动层97
  6.2.1 XCTest接口封装97
  6.2.2 消息处理模块101
  6.2.3 驱动模块104
  6.3 中间层113
  6.3.1 控件调用封装层113
  6.3.2 截图模块115
  6.3.3 日志处理模块118
  6.4 应用层121
  6.4.1 自动化脚本121
  6.4.2 配置文件123
  6.4.3 日志分析系统123
  6.4.4 风险点128
  6.5 截图智能分析130
  6.5.1 OpenCV简介130
  6.5.2 OpenCV模板识别130
  6.5.3 OpenCV实践过程132
  6.6 自动化持续集成135
  6.6.1 Jenkins简介135
  6.6.2 Jenkins特点135
  6.6.3 使用方式135
  6.6.4 配置Job137
  6.7 自动化实践效果139
  6.7.1 部署情况139
  6.7.2 投入产出比139
  6.7.3 运营数据140
  6.8 小结142
  第7章 iOS精准测试143
  7.1 引言143
  7.1.1 传统测试遇到的问题143
  7.1.2 敏捷模型的挑战144
  7.1.3 解决方案145
  7.2 精准测试概念146
  7.2.1 业界的精准测试概念146
  7.2.2 我们自己的理解146
  7.3 传统测试到精准测试的演变148
  7.3.1 精准测试与传统测试的对比148
  7.3.2 精准测试满足敏捷需求149
  7.4 精准测试实践之路149
  7.4.1 精准测试总体架构图149
  7.4.2 代码分析150
  7.4.3 用例关系库154
  7.4.4 SVN代码变化监控分析156
  7.4.5 精准自动化方案158
  7.4.6 精准实现流程小结159
  7.4.7 精准实践流程160
  7.4.8 精准解决问题164
  7.5 小结165
  第三部分 通用测试实践
  第8章 探索式测试168
  8.1 引言168
  8.2 探索式测试的发展史168
  8.2.1 ET 1.0169
  8.2.2 ET 1.5169
  8.2.3 ET 2.0169
  8.2.4 ET 3.0170
  8.3 探索式测试入门实践170
  8.3.1 实践前提171
  8.3.2 实践过程174
  8.3.3 实践后续177
  8.4 研发各个阶段的实践形式179
  8.4.1 测试设计179
  8.4.2 迭代测试181
  8.4.3 集成测试182
  8.4.4 回归测试185
  8.4.5 上线测试186
  8.5 实践效果展示187
  8.6 探索式测试的答疑189
  8.6.1 理论方面的问题189
  8.6.2 实践过程的问题189
  8.6.3 提升方面的问题190
  8.7 小结190
  第9章 标准化测试191
  9.1 引言191
  9.2 功能测试的困惑191
  9.2.1 手工测试现状191
  9.2.2 黑盒测试困境192
  9.2.3 外包测试模式192
  9.3 测试分析模型192
  9.3.1 ACC模型193
  9.3.2 HTSM模型193
  9.3.3 SBTM模型194
  9.3.4 漫游模型194
  9.3.5 场景模型196
  9.4 点线面测试体系197
  9.4.1 建筑模型197
  9.4.2 责任分工199
  9.4.3 三个标准化200
  9.5 实践案例202
  9.5.1 承载体和价值点提炼202
  9.5.2 细化承载体和价值点204
  9.5.3 变量因子及策略205
  9.5.4 动态测试测程210
  9.5.5 测试闭环215
  9.6 收益评估216
  9.6.1 充分利用动态思维216
  9.6.2 建立用户角度测试模型217
  9.6.3 测试过程及管理优化218
  9.7 小结220
  第10章 缺陷分析221
  10.1 引言221
  10.2 缺陷理论基础221
  10.2.1 缺陷的定义221
  10.2.2 缺陷的属性222
  10.2.3 缺陷的修复成本222
  10.3 缺陷定位(逆向分析)223
  10.3.1 望224
  10.3.2 闻224
  10.3.3 问225
  10.3.4 切226
  10.4 缺陷报告(正向演进)226
  10.4.1 缺陷现象—缺陷影响227
  10.4.2 复现路径—测试思想228
  10.4.3 缺陷原理—代码关注229
  10.4.4 缺陷思考—扩展总结231
  10.5 讨论分析232
  10.5.1 投入产出比233
  10.5.2 适用人群234
  10.5.3 适用阶段234
  10.6 小结234
  后记235
  附录A 参考引用及扩展阅读238
  附录B 相关网址收录239
  【本书特色】
  本书立足于iOS平台,结合最时新的理论和工具使用案例,对测试工作进行了系统的思考和梳理。涵盖了iOS平台上常用的各种测试方式、工具、理论,可以为新手入门以及有一定的测试人员扩展思路使用。
  本书分为三大部分:测试观、iOS特色测试、通用测试实践。
  在开篇的测试概述里,我们首先为读者介绍了测试观,这是本书的一个综合观点,是后续章节的地图,这里不拘泥iOS平台,是对整个测试工作的思考和总结。这一章也是整本书的纲领性章节,是在一个视角比较高的位置俯瞰整个测试活动,能为读者朋友带来系统性的视野。
  在iOS特色测试这个部分里,我们主要讲述的是与iOS平台强相关的测试内容。包括在iOS平台一些特性问题、兼容性测试、性能测试、精准全面解读,还包括各种自动化工具结合和实践使用、自动化框架的二次开发实践等内容。这一部分是本书的核心内容,也是区别于业界同类书籍的重点内容。在这一部分将全方位展示iOS平台上各种测试技能和工具使用方法。
  在通用测试实践这部分,主要是一些不分平台性的测试实践,包括测试界流行的探索式测试实践,以及我们团队自创的标准化测试实践,还有做测试工程师必做的缺陷分析。这部分内容是一些与iOS非强相关的内容,在其它平台上也可以借鉴使用。
  如何阅读本书
  如果您是一位有丰富iOS平台测试经验的工程师,本书可以为您提供思路拓展,建议重点阅读第一章测试观,寻找对自己有共鸣的点。然后可以重点阅读下第六章iOS自动化测试二次开发,这一章涵盖了我们对自动化测试深入实践和思考。
  如果您是一位想尝试和学习iOS平台测试的新入行者,恭喜您遇到此书,建议从头逐章阅读,尽量不要跳章,读完本书基本可以掌握iOS平台上主流测试技能和经验。
  如果您是一位非iOS平台的测试工程师,想从本书中寻找启发,建议重点阅读本书第三部分通用测试实践,在各个平台都相对通用。还可以尝试阅读第一章测试观和第二部分的感兴趣的部分章节。
  【书 评】
  书虽不是特别厚,但读了很有帮助,很有品质的书,推荐大家学习。(京东用户)
  这书是目前来看最新的iOS测试书了,读起来很顺畅,技术细节讲得很细致,要给好评(京东用户)
  书挺不错的,里面讲的都是一些测试的东西,没失望,很受用(京东用户)

51Testing软件测试网将在近期对本书部分章节进行独家连载,敬请关注

查看更多《51Testing软件测试网作品系列》书籍:http://www.51testing.com/html/36/category-catid-136.html

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号