移动App测试实战

编辑
本词条由“匿名用户” 建档。
  编辑推荐  书是作者精心为广大读者朋友们编写而成的此书。主要内容包括:移动互联网产品常见的研发流程、自动化测试的高效方法、性能测试、专项测试、辅助测试、发布过程中的质量管理、质量的度量和推动、发布之后的质量管理、软件测试和测试团队的建设等。  作者介绍  ​邱鹏,蚂蚁金服高级测试专家,负责电商系统的前后台及无线App测试,以及团队管理工作。毕业于华中科技大学计算机学院,曾担任京东无线测试部负责...

  编辑推荐

  书是作者精心为广大读者朋友们编写而成的此书。主要内容包括:移动互联网产品常见的研发流程、自动化测试的高效方法、性能测试、专项测试、辅助测试、发布过程中的质量管理、质量的度量和推动、发布之后的质量管理、软件测试和测试团队的建设等。

   作者介绍

  ​邱鹏,蚂蚁金服高级测试专家,负责电商系统的前后台及无线App测试,以及团队管理工作。毕业于华中科技大学计算机学院,曾担任京东无线测试部负责人、腾讯高级测试工程师趋势科技中国研发中心高级技术经理,完整参与了多个大型企业级安全产品的测试工作。在自动化测试、性能测试、测试整体技术规划以及团队管理方面有比较丰富的经验。陈吉,毕业于上海交通大学计算机系,曾在微软全球技术支持中心从事开发技术支持工作,对微软系开发技术底层有较深入的了解,擅长代码调试和疑难问题诊断。2013年以后先后加入易迅和京东无线部门从事软件测试开发工作,主攻And roid系统的测试,期间负责京东外网接口端对端的系统研发、测试工具开发、测试技术的探索和推广等工作。潘晓明,从事软件测试行业8年,在黑盒测试、自动化测试、性能测试和专项测试方面有着丰富的经验。他很早就开始参与移动App测试,在WebOS、An roid和iOS等平台上都有丰富的测试经验。曾就职于惠普和腾讯科技,目前效力于京东,负责测试工具的开发、iOS测试技术研究以及iOS的性能专项测试等。

   目录

  序言

  前言

  第1章 产品功能测试概述1

  1.1 互联网产品常见的研发流程1

  1.2 测试用例设计和评审6

  1.3 测试进度管理 10

  1.3.1 测试进度报告10

  1.3.2 测试完成报告12

  1.3.3 系统化的方法14

  1.4 本章小结16

  第2章 功能测试自动化17

  2.1 轻量接口自动化测试17

  2.1.1 JMeter关于自动化方面的特性介绍18

  2.1.2 基于JMeter的轻量接口自动化实践25

  2.2 App UI层面的自动化31

  2.2.1 Android的UI自动化技术 32

  2.2.2 iOS的UI自动化技术41

  2.3 本章小结51

  第3章 性能测试53

  3.1 Web前端性能测试54

  3.1.1 HTTP性能相关的技术要点56

  3.1.2 Web前端性能测试方法76

  3.2 App端性能测试82

  3.2.1 Android内存问题分析82

  3.2.2 iOS内存问题分析90

  3.2.3 App内嵌Web组件的性能分析97

  3.3 后台服务性能测试104

  3.3.1 压力场景的建模110

  3.3.2 测试工具126

  3.3.3 测试数据的收集129

  3.3.4 分析和报告137

  3.4 本章小结140

  第4章 专 项 测 试141

  4.1 兼容性测试142

  4.1.1 兼容性测试的准备和手工测试142

  4.1.2 基于UI自动化脚本的云测试方案144

  4.2 流量测试155

  4.2.1 Android App特有的流量测试方法156

  4.2.2 iOS App特有的流量测试方法159

  4.2.3 通用的流量测试方法162

  4.2.4 常见的流量节省方法169

  4.3 电量测试 171

  4.3.1 Android电量测试方法171

  4.3.2 iOS电量测试方法175

  4.4 弱网络测试182

  4.4.1 借助手机自带的网络状况模拟工具182

  4.4.2 基于代理的弱网络的模拟185

  4.5 稳定性测试 190

  4.5.1 基于Monkey的稳定性测试191

  4.5.2 Android 的ANR193

  4.5.3 基于模糊测试思的稳定性测试方法探索194

  4.6 安全测试200

  4.6.1 安装包测试200

  4.6.2 信息测试201

  4.6.3 软键盘劫持202

  4.6.4 账户安全202

  4.6.5 数据通信安全203

  4.6.6 组件安全测试203

  4.6.7 服务端接口测试203

  4.7 相关的测试204

  4.7.1 干扰测试204

  4.7.2 权限测试205

  4.7.3 边界情况207

  4.7.4 Android定位测试208

  4.8 本章小结210

  第5章 辅助测试方法212

  5.1 代码静态扫描212

  5.1.1 针对Android的静态代码扫描213

  5.1.2 针对iOS的静态代码扫描和分析220

  5.2 代码覆盖率分析224

  5.2.1 Android代码覆盖率技术方案224

  5.2.2 iOS代码覆盖率技术方案230

  5.2.3 代码覆盖率的应用实践237

  5.3 接口Mock方法239

  5.3.1 常见的接口异常模拟方法240

  5.3.2 使用Fiddler作为Mock Server242

  5.3.3 基于FiddlerCore二次开发的Mock工具244

  5.4 AOP测试方法246

  5.4.1 Android AOP测试实践248

  5.4.2 iOS AOP测试实践251

  5.5 本章小结255

  第6章 发布过程中的质量管理257

  6.1 持续集成257

  6.1.1 持续集成简介258

  6.1.2 持续集成实践259

  6.2 发布环节的质量把控263

  6.2.1 后台服务的发布264

  6.2.2 App的发布269

  6.3 内测269

  6.3.1 内测的范围270

  6.3.2 内测的实施271

  6.4 灰度273

  6.4.1 Android App的灰度方法273

  6.4.2 iOS App的灰度方法275

  6.5 本章小结277

  第7章 质量的度量和推动279

  7.1 质量的度量和推动概念279

  7.1.1 质量数据的度量280

  7.1.2 质量推动的活动285

  7.2 QA的角色286

  7.3 跨团队的质量推动288

  7.3.1 开发自测288

  7.3.2 设计走查292

  7.3.3 产品走查292

  7.4 本章小结293

  第8章 发布之后的质量管理295

  8.1 发布后的交叉测试295

  8.2 线上297

  8.2.1 类型介绍298

  8.2.2 接口自动化307

  8.3 外部用户问题反馈的收集和跟进313

  8.4 本章小结315

  第9章 关于软件测试和测试团队 316

  9.1 测试是否必需316

  9.2 专职测试人员的价值319

  9.3 测试团队和发展321

  9.4 本章小结324

  参考文献325

   序言

  序 言 Prece收到写序邀请时,我毫不犹豫答应了,因为终于有同仁开始把针对移动互联网测试领域的实践体系化整理了出来,然后分享给大家。另外很开心的是,Ricky这个家伙是我的好友和同事,不少的实践和方案一定层面也代表了我们团队过去的真实测试管理和实践,要特别谢谢Ricky,帮助实现了我们的愿望!

  几年时间内,移动互联网席卷几乎所有行业和领域,移动开发技术也得到前所未有的快速发展。测试团队如何在移动互联网时代快速适应和应对相信是很多公司非常重视的事情,我们应该采取和之前哪些不一样的测试方法,应该保留哪些方面的技术,移动互联网领域的测试技术发展方向和各维度挑战又是什么样的?目前还没看到非常有代表和性的整体测试实践书籍,这是让我感到有点缺憾的地方,不同行业领域都各自有自己的核心技术和竞争力,移动互联网领域的测试技术不应该落后和滞后。了Ricky的整本书,让我很开心地看到体系化的移动互联网领域测试技术终于有一个很清晰的面貌放在了读者面前,也许这里的很多技术/工具方案并不代表是最 好的,但在这本书中衍射出来各个维度/领域的测试实践和思,对正在从事移动互联网测试的同行是一个极大的帮助和指。如果您也正从事移动领域的测试,强烈推荐您仔细用心阅读这本书。这本书可以按兴趣分章节来阅读,获取自己感兴趣的一部分技术,当然对于一些测试管理者,我也强烈推荐每个章节,在的过程中,同时思考这里的测试解决方案体系建设,同时完善自己的测试体系和思想。

  借这本书,我也想简单分享一下我对国内测试行业现状的看法。过去近20年里,有些比较悲哀地看到大学教育仍然停滞在单纯的理论介绍上(这些理论大多都过时了),有些大学老师甚至对IT公司的测试工作没啥了解;而大部分企业里的测试团队,也相对比较落后,仍然基本聚焦在纯黑盒/功能测试上,在如何更好地提升测试效率以及深层次地提升测试质量等方面很少开展;大批的同行可能在抱怨公司对测试岗位不重视的同时,很少去思考测试的核心竞争力到底在哪里,很少去分析测试的发展是否进入误区或要怎么改进。作为一名测试人,我一直想对其他同行呼吁和呐喊,希望不要糟蹋了自己良好的大学专业知识,不要让自己工作几年后因所开展的工作而缩小了自己的职业空间。但行业里需要更多志同道合的同仁一起来做这件事情,才能把测试领域的正确发展方向广泛。对于一名刚从事测试行业的同仁来说,我强烈推荐从下面几个领域来完善提升自己: 1) 针对开发语言脚本语言的深度掌握和熟练使用; 2) 锻炼和提升自己的测试分析设计和评估能力,并不断完善自己的测试体系和思想; 3)对产品的相关开发技术和设计架构,甚至深入到代码实现角度的深层次掌握和理解;4)的自动化测试理解以及实践积累; 5) 对操作系统、网络等基础知识更深入的掌握和实践;6)保持对测试行业新技术的不断探索和对齐。 这些方面的能力,我们要在配合工作实践开展情况下,夯实,做深,做专,这是工作前5年里特别关键重要的沉淀,会直接影响自己未来10年甚至更久的职业发展空间。对于逐步管理岗位的测试同仁来说,我一直推崇技术管理的定位,直接说就是技术加管理两条腿都要继续保持,没有了持续的技术提升意识,自身的未来竞争力以及无法给团队很及时精准技术的弊端会逐步出来,一旦到了不惑之年才,那才是真正的悲哀,后悔都来不及了。对于一名测试管理者,我也特别推荐从下面几个领域来丰富完善自己: 1)建立自己清晰完善的测试解决方案体系和思想,配合工作管理,不断实施打磨,梳理完善的测试知识体系,培养出自己的一套测试解决方案体系和思想,如同我们讲的古人要悟出自己的一个道来一样;2)对质量和效率提升如何更加清晰的平衡和把关能力;3)完善和建设清晰的测试度量体系;4)关注和推动自动化测试,同时关注投资回报率(ROI)。

  额,好吧,好像开始讲我自己的测试“大道”了,跑题了。最后回来再看这本书,我尤其希望读者能理解这本书所传递出来的思和思想,然后您就清楚了Ricky的良苦用心,您也就正式悟道了!

  最后送所有测试同仁的一句话仍就是:技术决定未来、没有技术没有未来!

  吴凯华腾讯公司社交网络质量部副总经理2015-04-03

   文摘

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/18107/

(4)