作品简介

本书全面讲解了移动App测试的技术、技巧、工具、案例和测试用例,全书共分23章,主要内容为:移动App的特性,关注多任务和意外情况处理,避免手势冲突,关注用户体验,设计通知和消息展示,支持操作系统特性,及时显示和同步消息,支持多种文件格式,支持多语言和地区设置,重点测试高内存占用的功能、降低流量和电量消耗,确保成功集成和调用第三方App,尽量不使用非标准控件,iOS8升级所引入的新特性,Android5.0升级所引入的新特性,自动化和探索性测试,自动化测试中模拟器的使用,用户界面自动化测试的常见工具,性能和安全性测试,使用Log定位问题,充分使用持续集成、持续部署,以及微信App测试综合案例分析等核心技术。

黄勇,现任ThoughtWorks中国区QA Lead。先后任职于博彦科技,普华永道GTS和ThoughtWorks;作为资深质量分析师,先后工作在Oracle,微软,普华永道,澳洲电信等多家公司的大型项目上。

作品目录

  • 内容提要
  • 前言
  • 自序
  • 军规1 确定设备和平台再动手
  • 1.1 移动App的特性
  • 1.2 移动App的生命周期
  • 1.3 设备的硬件参数
  • 军规2 “移动”测试
  • 军规3 关注多任务和意外情况处理
  • 3.1 第一个场景
  • 3.2 第二个场景
  • 3.3 需注意的场景
  • 3.4 硬件的影响
  • 军规4 避免手势冲突
  • 4.1 从屏幕左侧边缘向右滑动
  • 4.2 在屏幕上向左滑动
  • 4.3 从屏幕顶部向下滑动
  • 4.4 从屏幕底部向上滑动
  • 4.5 按住屏幕向下滑动
  • 4.6 在图片上双击
  • 4.7 两根手指分开和捏合
  • 4.8 两根手指按住屏幕旋转
  • 4.9 3根手指的手势操作
  • 4.10 4根手指向上/下滑动
  • 4.11 4根手指向左/右滑动
  • 4.12 5根手指聚拢的捏合操作
  • 4.13 摇动设备
  • 4.14 长按屏幕
  • 军规5 关注用户体验
  • 5.1 横竖屏幕测试
  • 5.2 WebView的测试
  • 5.3 规范与习惯
  • 5.4 关注用户体验
  • 5.5 其他需要关注的用户体验的小细节
  • 军规6 设计通知和消息展示
  • 6.1 测试App安装时是否明确申明在用户使用App时需要用到的权限
  • 6.2 测试App在用户使用过程中是否有合适的通知和消息显示
  • 6.3 测试App在后台运行时是否有合适的通知和消息显示
  • 6.4 测试App的消息推送功能
  • 6.5 测试App在出错时是否有合适的通知和消息显示
  • 军规7 支持操作系统特性
  • 7.1 Android App测试设备的碎片化
  • 7.2 Android App更容易受到恶意软件的攻击
  • 7.3 iOS和Android对于App间通信的处理方式不一样
  • 7.4 Android和iOS就是否支持扩展存储有所不同
  • 7.5 iOS和Android对Widget的实现和使用不同
  • 7.6 测试Android App对于Dalvik和ART运行环境(RunTime)的兼容性
  • 7.7 测试iOS App在特定设置下的行为
  • 军规8 及时显示和同步消息
  • 军规9 适应特定用户界面对功能和显示的影响
  • 9.1 三星的TouchWiz用户界面
  • 9.2 HTC的Sense用户界面
  • 9.3 LG的UX用户界面
  • 9.4 小米的米柚MIUI用户界面
  • 9.5 魅族的Flyme用户界面
  • 9.6 Sony的Xperia UI用户界面
  • 9.7 iOS App的显式效果测试
  • 军规10 支持多种文件格式
  • 10.1 App支持Office文件
  • 10.2 App支持图片文件
  • 10.3 App支持视频和音频文件
  • 军规11 支持多语言和地区设置
  • 11.1 App不支持多语言和地区设置影响用户输入
  • 11.2 App不支持多语言和地区设置的影响
  • 军规12 重点测试高内存占用的功能
  • 12.1 iOS操作系统的内存管理机制以及对App使用内存的限制是很不透明的
  • 12.2 Android操作系统的内存管理机制更加透明,对App使用内存的限制也更加灵活
  • 军规13 降低流量和电量消耗
  • 13.1 测试App安装文件的大小和安装过程
  • 13.2 测试App占用的存储空间
  • 13.3 测试App的流量消耗
  • 13.4 测试App对于设备电量的消耗
  • 军规14 增量升级必不可少
  • 14.1 测试App的增量升级
  • 14.2 测试App的删除
  • 14.3 测试App数据的清除
  • 军规15 确保成功集成和调用第三方App
  • 15.1 App对第三方App的直接集成
  • 15.2 测试App的分享功能
  • 15.3 测试App显示外部链接的功能
  • 15.4 测试免费App中集成广告的功能
  • 15.5 测试App使用社交媒体等账号登录的功能
  • 15.6 测试App推送服务
  • 15.7 测试App关联其他文件的功能
  • 15.8 测试App和输入法等App交互的功能
  • 军规16 尽量不使用非标准控件
  • 军规17 提前关注操作系统升级
  • 17.1 iOS 6升级所引入的新特性
  • 17.2 iOS 7升级所引入的新特性
  • 17.3 iOS 8升级所引入的新特性
  • 17.4 Android 4.1升级所引入的新特性
  • 17.5 Android 4.4升级所引入的新特性
  • 17.6 Android 5.0升级所引入的新特性
  • 军规18 尽量减少依赖
  • 18.1 对于既有Web版本又有App版本的App要减少依赖
  • 18.2 没有Web版本的App也需要考虑App的依赖
  • 军规19 进行自动化和探索性测试
  • 19.1 测试设计和测试金字塔
  • 19.2 单元和组件测试以及TDD
  • 19.3 Mobile Service的API测试
  • 19.4 用户界面的自动化测试
  • 19.5 行为驱动开发BDD
  • 19.6 页面模式Page Object
  • 19.7 自动化测试中模拟器的使用
  • 19.8 用户界面自动化测试的常见工具
  • 19.9 探索性测试
  • 军规20 进行性能和安全性测试
  • 20.1 测试App连接网络的速度
  • 20.2 测试App在不同网络速度下操作的流畅程度
  • 20.3 测试App对于前台页面渲染的性能
  • 20.4 测试App操作数据库的性能
  • 20.5 测试App用到的后台服务Mobile Service的性能
  • 20.6 测试App是否保存了临时数据或者已删除的数据
  • 20.7 测试App的会话session是否有过期设置
  • 20.8 测试App请求中是否包含了明文的用户信息
  • 20.9 测试App的请求是否加密
  • 20.10 测试SQLite数据库的存储是否安全
  • 20.11 测试App使用WebView的安全性
  • 20.12 测试App的后台服务Mobile Service
  • 军规21 使用log定位问题
  • 军规22 充分使用持续集成和持续部署
  • 22.1 第一种方式
  • 22.2 第二种方式
  • App测试综合案例分析
  • 23.1 首先需要确定测试微信App需要的设备和版本
  • 23.2 “移动”测试微信App
  • 23.3 测试微信App的多任务和意外情况处理
  • 23.4 测试微信App的手势操作
  • 23.5 测试微信App的用户体验
  • 23.6 测试微信App的消息显示和通知展示
  • 23.7 测试微信App对于操作系统特性的支持程度
  • 23.8 测试微信App能否及时显示和同步消息
  • 23.9 测试微信App能否适应不同设备的不同用户界面
  • 23.10 测试微信App对于多种格式图片的支持
  • 23.11 测试微信App对多语言和地区的支持
  • 23.12 测试微信App中高内存使用的功能
  • 23.13 测试微信App的流量和电量消耗
  • 23.14 测试微信App的增量升级
  • 23.15 测试微信App中集成和调用第三方App
  • 23.16 测试微信App中非标准控件的使用情况
  • 23.17 测试微信App对于最新操作系统特性的支持
  • 23.18 测试微信App的依赖情况
  • 23.19 对微信App进行自动化测试和探索性测试
  • 23.20 对微信App进行性能测试和安全性测试
  • 23.21 测试微信App的log提交
  • 23.22 实现微信App的持续集成和持续部署
  • 22条军规之外
  • 后记
  • 看完了
展开全部