编辑推荐
本书虽然叫《大话APP测试2.0》,但绝非畅销书《大话移动APP测试》的升级版,《大话APP测试2.0 : 移动互联网产品测试实录》是彻头彻尾的一本APP测试全新书。经过了两年多的沉淀,原作者联合业内另外一位测试大牛一起为大家献上这本含金量极高的测试技术书,希望能为测试领域做出一定贡献。
内容简介
移动互联网发展至今,无论是技术还是流程都已经有了长足进步,其中软件测试人员的工作内容、定位也发生了很大变化。《大话APP测试2.0:移动互联网产品测试实录》延续了上一版技术与思想并存的风格,但是内容全部更新,解读了近两年技术的飞速变化,将新测试技术与理念展现给读者。本书核心亮点有几个:关于移动应用专项测试的落地实践和技术细节,经过实践和解读之后的Appium测试内容,集中介绍行业中常用的工具平台,纵深剖析UI自动化……全书自始至终都贯彻了一个理念——高度,让测试人员深刻理解自己在IT链条中所处的位置,并引以为豪。
《大话APP测试2.0:移动互联网产品测试实录》两位作者都是多年战斗在行业一线的工程师,也是App测试领域公认的专家。
《大话APP测试2.0:移动互联网产品测试实录》适合于拥有一定技术基础和自学能力的测试人员和团队,同时也能够帮助读者真正跳出“测试”,站在“质量”这个高度上来看待和分析问题。
精彩书评
Monkey感觉注定就是测试领域中的人,因为正跟Monkey测试软件完美重合了,正如其名,Monkey也是我认识的少数一直专注在测试领域的好同学。通过这本书,能看到Monkey这一段时间在自动化测试和专项测试的优秀实践,其中包括比较前沿的React native测试实践。另外,能看到通过工作沉淀出来的对测试技术的价值认识,例如UI自动化测试的价值,这些都很值得负责UI自动化测试建设的测试人员好好思考。
——黄闻欣,腾讯高级测试工程师
Monkey用幽默的语言犀利地阐述了移动测试中的一些问题并且轻松诙谐地讲解着移动测试的知识点,非常易读并且有趣。特别推荐专项测试和Appium自动化测试的章节,用全新的切入点阐述了问题,有理论、有实践,内容殷实。
——芈峮,iOS测试指南 作者
Monkey在我印象中是一个性情中人,这本书也是凸显他性格的一本书。本书汇聚了作者对移动测试行业的思考和实践经验,让门外汉能够了解移动测试这个行业并且上手,让从业者能够从更高的角度看待自己的职业发展。除此之外,它也是一本不可多得的移动测试工具书,对当前主流的测试方法和工具给出了深入浅出的教程和实战案例,相信无论你是对移动测试感兴趣的同学还是从业者,都能从书中有所收获。
——infoQ移动主编 徐川
目录
第1章 移动无线专项测试
1.1 认识专项测试 / 2
1.2 仅仅会工具和技术是没有用的 / 3
1.3 实际项目中的专项实践流程 / 4
1.4 专项基线和规范/ 7
1.5 正向耗电测试 / 8
1.6 逆向耗电测试 / 9
1.7 内存测试 / 13
1.8 应用响应时间 / 28
1.9 初探ReactNative性能/ 42
1.10 应用响应时间测试实践 / 43
1.11 弱网测试 / 45
1.12 Android神器——Systrace / 56
1.13 Android神器——TraceView / 61
1.14 界面流畅度 / 65
1.15 iOS神器——Core Animation / 66
1.16 灵活使用慢速摄像机 / 74
1.17 Python自动化采集性能数据实践方案 / 75
1.18 Java自动化采集性能数据实践方案 / 79
1.19 总结 / 84
第2章 移动测试的伪银弹——UI自动化
2.1 为什么测试热衷于UI自动化 / 86
2.2 我们为什么不做UI自动化 / 88
2.3 我们为什么要做UI自动化 / 91
2.4 你做的是伪UI自动化吗/ 93
2.5 UI自动化框架/ 94
第3章 大话移动APP测试1.0补完篇
3.1 移动无线应用测试面试解析/ 114
3.2 测试团队的变化/ 121
3.3 测试与质量的关系/ 122
3.4 测试与开发的关系/ 123
3.5 螺旋上升的测试行业/ 124
3.6 最后的几年/ 125
3.7 两年以后/ 126
第4章 其他测试技术案例
4.1 邮箱大师 apk 引发的“血案”/ 128
4.2 iOS 之 AOP 库—— Aspects/ 131
4.3 iOS 热加载之 JSPatch/ 134
4.4 Python 之图片对比/ 140
4.5 总结/ 143
第5章 Appium
5.1 Appium是什么/ 146
5.2 Appium Client的配置/ 149
5.3 Appium的原理/ 154
5.4 iOS in Appium / 164
5.5 Appium GUI / 183
5.6 Appium Tips / 185
5.7 PageObject / 188
5.8 并行执行/ 189
5.9 Appium展望/ 196
第6章 行业知名平台与工具汇总
6.1 腾讯Bugly——崩溃监控分析服务/ 198
6.2 百度MTC——Android测试脚本录制原理/ 202
6.3 工信部——网络友好与资源使用效率/ 205
6.4 南京大学——Kikbug测试系统/ 209
6.5 TestBird——近两年游戏行业变化趋势白皮书/ 215
6.6 Fir.im——iOS快速搭建一个持续集成环境/ 225
6.7 OneAPM——用NSURProtocol注入测试数据/ 230
6.8 Testin——讲述现在云测的覆盖点/ 237
6.9 MQC(阿里)——iOS Crash分析/ 248
附录A 测试火花集
1. 移动互联网测试面试之我的要求真的不高/ 254
2. 如何做好移动互联网应用测试/ 255
3. 我的东西是我的。我给你,你可以拿着。我不给,你不
该怨我/ 257
4. 测试无用因为有你,感谢有你(地图炮)/ 258
5. 移动测试人员的未来:测试开发技术的融合/ 260
6. 致那些情商不高的测试/ 264
7. 移动无线测试工程师必备技能/ 265
8. 再论移动无线应用专项/ / 272
9. 移动无线测试技能树 (原创)/ 274
10. 大多数人理解的移动无线APP测试最多只能活两年/ 277
附录B 普通的故事
1. 校园生活/ 282
2. 正式开始工作/ 284
3. 突破/ 285
4. 未来/ 287
后记(Monkey版)/ 289
后记(恒温版)/ 291
前言/序言
距《大话移动APP测试》出版已经过去两年了,我也收到了很多朋友的支持和吐槽,无论好坏你们都是我最大的动力,在这里要给所有人说声谢谢。在这一年多的时间内实在发生了太多的事情,可以说轰轰烈烈,也许什么时候能够将这些作为一个一个的故事说给大家听,相信每个人都能够看到很多,想到很多,体会到很多。在这一年多内,也有很多朋友知道了我,但却不了解我,其实不了解我没有关系,我这里引用诺兰的《蝙蝠侠黑暗骑士三部曲》中我很喜欢的一句话来说明。“It's not who I am underneath but what I do that defines me.”
在这一年多的时间里,测试行业也发生了很大变化,越来越多的人开始接触移动互联网,越来越多的人发现也许测试已经不是当初想的那么容易的一份工作了,也有越来越多的人开始从事副业或转行。当然,无论你属于哪一种,生活和工作都要继续,我们都要面对这一切的变化。我可以得出这样一个结论:测试行业并没有在进步,而是在进化,但仅仅是属于符合中国国情的进化。这一年多相信大家感触都很深,我在前言里帮大家总结下。
1)测试一定要会代码。前几年讨论的问题终于不用再花费口舌去讨论了,事实印证了测试要写代码这个事实。所以现在对在“知乎”上问我问题的人,我也终于可以很有底气地说:“先学会代码,再来学做测试。”
2)行业要求越来越高。当然,我不想听到“我的圈子不是这样的,我看到的不是这样的”这种话,我不关心,因为我可以很有信心地说我接触的圈子肯定比你们大,那么,我看到的肯定是所谓的大方向和趋势,所以请各位读者静下心来看下去。进入这个行业的门槛依然没有变高,但要往上爬以及进入一家不错的公司中拥有不错业务的部门,在这一年多里变得异常困难。(再三强调下,看到BAT就觉得是好公司的人不在我讨论范围内,哦对了,我在BAT里做着日活不过万的项目,你觉得是不是不错呢?)是的,在这样一个飞速发展的行业,讨论要会什么已经不再那么重要了,重要的是多久能够学会一项新技术并落地,这才是我们关心的。
3)技术栈太多,眼花缭乱。很多测试人员看到移动APP的UI自动化框架就已经傻眼了,更不要谈接口、单元、专项、安全、大数据等。测试所接触到的技术栈、工具栈的扩展如火山爆发一样一发不可收拾。很多测试会混乱,到底学什么呢?答案上面已给出。很多测试觉得这只不过是一种过渡阶段,不久的将来肯定会出现一种稳定的兼容性很高的工具,比如以前的QTP和LR,首先我不说有多少人真正用过正版软件了,从短期来讲,将来测试行业肯定会越来越成熟,肯定会统一很多技术和工具。但长期来讲,现在这种变化、这种痛以后会越来越频繁,因为这是宇宙规律,这是发展和进步的需要。所以从长远来看仅仅追求工具永远都是远远落后于行业的,同时被替代性也是最高的。
4)从测试到质量的变化。这点在正文中会有详细的说明。这几年的大会,与大家交流的确发现如今很多测试已经开始跳出测试,真正开始关注质量。(当然,如果看到这本书的你觉得没有进入状态,请多多看TesterHome或者加我微信进行交流,你就明白了)当测试只关注测试时,大家的关注点在于以下几点:
(1)测试是不是比开发轻松。
(2)测试能赚多少钱。
(3)测试到底用什么工具。
(4)测试到底用什么框架。
(5)测试都看什么书。
(6)其他公司里测试都怎么做的。
(7)UI自动化到底做得怎么样。
……
放眼整个项目,如果只关注测试,关注点真的实在太窄,同时也会阻碍我们进入更高的高度。所以大家更多地开始关注质量,质量在项目中无处不在,可以说贯穿了整个项目,相比于测试,质量的关注点会很不同,比如:
(1)工程效率,项目流程。
(2)代码规范,文档传承。
(3)应用架构,耦合性怎么样。
(4)各种线上线下,实时或者T+1的监控机制。
(5)Hotfix机制。
(6)打包、持续集成、汇报bug等工具平台。
……
其实这样一来就能一目了然地明白测试其实在质量面前是一个很小很小的点。为什么要说那么多呢,因为几乎每天都会有人来问我“××公司测试怎么做的?”“××公司持续集成怎么做的?”“××公司测试开发比多少?”“××公司用什么工具?”,其实我每次面临这些问题都很尴尬。先不讨论这些人员会不会问问题吧,就算知道了用什么工具,什么框架,测试开发比多少就能够做出好测试了吗?就能提升产品质量了吗?明显不可能。在一个企业中要提升产品质量绝对是一件大家共同努力的事情,而不是一个测试人员或者一个测试团队就能够搞定的,如果不明白这点,即使你操着卖白粉的心,结果你卖的还是白菜啊。再来说《大话APP测试2.0》这本书,这本书并非是第一本书的加强版或者扩展版,可以说是一本全新的书。我对第一本书的定义和感觉可能和所有人都不同。现在回过头去看当初的自己,我觉得自己的确够狂,够年轻气盛,竟然在当初那种一知半解的情况下就有勇气出书。但我依然认同我当初的一个观点——《大话APP测试2.0》这本书可能因为我当初才疏学浅导致技术层面的高度不高,但对于测试的理解,对于行业的认识,对于测试的态度这点上我是永远不变的,所以我认为只有当整个国内的测试行业真正步入正轨,大家真正都愿意去好好学习测试,好好重视测试的时候,本书才会真正发挥它的价值,一种精神上的价值。我并不是什么圣人,但是我认为人活着就应该有价值,这种价值自我认可就可以了。人一生就那么多的时间,每个人都很公平,那为什么我们不用这些时间尽可能地去挑战自己的极限呢?去发挥更大的光热呢?去影响更多的人呢?否则多没有意思啊。之前看过一部电影《绝命海拔》,这是由真实的故事改编而来,很推荐大家去看,无论生死如果都是为了去追求自己所爱、自己的极限,那么这一切就是值得的。我在第一本书中也说过,书这种形态的东西,尤其是技术书,让你看到它的时候,其中内容肯定已经落后1~2年了,希望大家明白这个道理。写书是一个非常累的活儿,是一件挑战自己毅力的事情,需要去记录很多的案例以及当时的感受。所以希望大家不要太过苛刻,抱着空杯心态来看书最好。行业中无一本技术书的写作风格与我的相似,也没有任何一本测试书比我所记载的更“落地”。这并不是骄傲,而是自信和自豪,我愿意100%地分享。通过这本书大家可以明显感觉从《大话移动APP测试》出版至今这一年多的时间内我到底成长了多少,我到底进步了多少,我又到底改变了多少。毫不夸张地说,这本书将会让整个行业上升一个层面。那些抱怨《大话移动APP测试1.0》对自己技术没有帮助的读者,我在这里也向你们致歉,这本书算是对你们的弥补。同时也希望不要抱有太大的期望,毕竟书这个东西落后很多,不过你们可以随时微信和我交流。那让我们一起进入一场有技术、有故事、有吐槽的测试之旅吧。
前 言(恒温版)
亚马逊雨林一只蝴蝶偶尔振动翅膀,也许两周后就会引起美国得克萨斯州的一场龙卷风。2012年,Dan Cuellar编写了Appium,他没有想过2016年的今天,Appium已经成为移动测试领域的一方霸主。这是软件测试技术的蝴蝶效应。
在2014年,我还在写WebDriver自动化,而今天我在写Appium自动化。在UI自动化这个领域,我跨了整整一个年代,成了传统互联网到移动互联网的见证者,相信所有身在其中的人都深有体会。Appium作为WebDriver的继承者和开拓者,目前看来是非常合格和称职的。
我接触Appium比较早,TesterHome上线不久,我们就引入了这个框架,进行布道并坚持到现在。可以自豪地说,目前来看,TesterHome是最专业的民间Appium论坛。当然民间还有很多高手,尤其是这两年,各种解决方案、衍生框架百花齐放,TesterHome作为这些内容的载体,也受益匪浅。
我一直想写一本有关Appium的书,其实也在TesterHome发起过众写项目,可惜因为各种原因未能成品。如今市场上已经有几本关于Appium的书,质量……,所以这里不推荐任何书籍,学习Appium还是需要熟读官方文档和深读源码。
受Monkey邀请,我有幸在本书中写一章Appium,我没有想翻译文档,我只是把自己的理解写出来,和大家分享,希望大家喜欢。
大话APP测试2.0 : 移动互联网产品测试实录 电子书 下载 mobi epub pdf txt