在移动互联网高速发展的今天,打造上千万乃至上亿用户的移动App是每个开发者的梦想。为了支持这样量级的用户并持续运营和发展,App的高质量非常重要。而作为质量保证的重要手段,测试技术的重要性是不言而喻的,可以说每一个成功App背后都有一支强大的测试队伍。本书作者在腾讯、京东、阿里等大型互联网公司有多年丰富的测试研发和测试管理经验,为我们揭开了移动App测试的神秘面纱。本书结合大量的实战经验,对移动互联网测试在功能测试、自动化测试、专项测试、QA等方面做了全面而详细的讲解,帮助测试从业者快速、系统地了解和学习移动互联网测试架构,无论是对初级测试员、资深测试员还是测试管理者都会有一些很好的启发和帮助作用。《移动App测试实战:顶级互联网企业软件测试和质量提升最佳实践》主要内容:移动互联网产品的常见研发流程,以及自动化测试的高效方法。性能测试,包括Web前端、App端、后台服务器等性能测试。专项测试,包括App兼容性测试、内存问题测试和分析、流量和电量测试、弱网络和稳定性测试、环境相关的测试等。辅助测试,包括代码的静态扫描、代码覆盖率、接口mock方法以及AOP测试方法等。移动App发布过程中的质量管理,包括持续集成、发布环节的质量把控点、内测的利与弊、灰度方法的技巧等。产品发布之后的质量管理方法,包括交叉测试、线上监控、问题收集与反馈机制等。
邱鹏,蚂蚁金服高级测试专家,负责电商系统的前后台及无线App测试,以及团队管理工作。毕业于华中科技大学计算机学院,曾担任京东无线测试部负责人、腾讯高级测试工程师、趋势科技中国研发中心高级技术经理,完整参与了多个大型企业级安全产品的测试工作。在自动化测试、性能测试、测试整体技术规划以及团队管理方面有比较丰富的经验。陈吉,毕业于上海交通大学计算机系,曾在微软全球技术支持中心从事开发技术支持工作,对微软系开发技术底层有较深入的了解,擅长代码调试和疑难问题诊断。2013年以后先后加入易迅和京东无线部门从事软件测试开发工作,主攻Android系统的测试,期间负责京东外网接口端对端的监控系统研发、测试工具开发、测试技术的探索和推广等工作。潘晓明,从事软件测试行业8年,在黑盒测试、自动化测试、性能测试和专项测试方面有着丰富的经验。他很早就开始参与移动App测试,在WebOS、Android和iOS等平台上都有丰富的测试经验。曾就职于惠普和腾讯科技,目前效力于京东,负责测试工具的开发、iOS测试技术研究以及iOS的性能专项测试等。
序言
前言
第1章 产品功能测试概述
1.1 互联网产品常见的研发流程
1.2 测试用例设计和评审
1.3 测试进度管理
1.3.1 测试进度报告
1.3.2 测试完成报告
1.3.3 系统化的方法
1.4 本章小结
第2章 功能测试自动化
2.1 轻量接口自动化测试
2.1.1 JMeter关于自动化方面的特性介绍
2.1.2 基于JMeter的轻量接口自动化实践
2.2 App UI层面的自动化
2.2.1 Android的UI自动化技术
2.2.2 iOS的UI自动化技术
2.3 本章小结
第3章 性能测试
3.1 Web前端性能测试
3.1.1 HTTP性能相关的技术要点
3.1.2 Web前端性能测试方法
3.2 App端性能测试
3.2.1 Android内存问题分析
3.2.2 iOS内存问题分析
3.2.3 App内嵌Web组件的性能分析
3.3 后台服务性能测试
3.3.1 压力场景的建模
3.3.2 测试工具
3.3.3 测试数据的收集
3.3.4 分析和报告
3.4 本章小结
第4章 专 项 测 试
4.1 兼容性测试
4.1.1 兼容性测试的准备和手工测试
4.1.2 基于UI自动化脚本的云测试方案
4.2 流量测试
4.2.1 Android App特有的流量测试方法
4.2.2 iOS App特有的流量测试方法
4.2.3 通用的流量测试方法
4.2.4 常见的流量节省方法
4.3 电量测试
4.3.1 Android电量测试方法
4.3.2 iOS电量测试方法
4.4 弱网络测试
4.4.1 借助手机自带的网络状况模拟工具
4.4.2 基于代理的弱网络的模拟
4.5 稳定性测试
4.5.1 基于Monkey的稳定性测试
4.5.2 Android 的ANR
4.5.3 基于模糊测试思路的稳定性测试方法探索
4.6 安全测试
4.6.1 安装包测试
4.6.2 敏感信息测试
4.6.3 软键盘劫持
4.6.4 账户安全
4.6.5 数据通信安全
4.6.6 组件安全测试
4.6.7 服务端接口测试
4.7 环境相关的测试
4.7.1 干扰测试
4.7.2 权限测试
4.7.3 边界情况
4.7.4 Android定位测试
4.8 本章小结
第5章 辅助测试方法
5.1 代码静态扫描
5.1.1 针对Android的静态代码扫描
5.1.2 针对iOS的静态代码扫描和分析
5.2 代码覆盖率分析
5.2.1 Android代码覆盖率技术方案
5.2.2 iOS代码覆盖率技术方案
5.2.3 代码覆盖率的应用实践
5.3 接口Mock方法
5.3.1 常见的接口异常模拟方法
5.3.2 使用Fiddler作为Mock Server
5.3.3 基于FiddlerCore二次开发的Mock工具
5.4 AOP测试方法
5.4.1 Android AOP测试实践
5.4.2 iOS AOP测试实践
5.5 本章小结
第6章 发布过程中的质量管理
6.1 持续集成
6.1.1 持续集成简介
6.1.2 持续集成实践
6.2 发布环节的质量把控
6.2.1 后台服务的发布
6.2.2 App的发布
6.3 内测
6.3.1 内测的范围
6.3.2 内测的实施
6.4 灰度
6.4.1 Android App的灰度方法
6.4.2 iOS App的灰度方法
6.5 本章小结
第7章 质量的度量和推动
7.1 质量的度量和推动概念
7.1.1 质量数据的度量
7.1.2 质量推动的活动
7.2 QA的角色
7.3 跨团队的质量推动
7.3.1 开发自测
7.3.2 设计走查
7.3.3 产品走查
7.4 本章小结
第8章 发布之后的质量管理
8.1 发布后的交叉测试
8.2 线上监控
8.2.1 监控类型介绍
8.2.2 接口自动化监控
8.3 外部用户问题反馈的收集和跟进
8.4 本章小结
第9章 关于软件测试和测试团队
9.1 测试是否必需
9.2 专职测试人员的价值
9.3 测试团队和发展
9.4 本章小结
参考文献
移动App测试实战:顶级互联网企业软件测试和质量提升最佳实践pdf