前言 第1章 Android自动化测试初探 1.1 快速入门 1.2 *测示例程序 1.3 第一个Android应用测试工程 1.4 搭建自动化开发环境 1.4.1 安装Eclipse和ADT开发包 1.4.2 创建模拟器 1.4.3 启动模拟器 1.4.4 连接模拟器 1.4.5 连接手机 1.5 本章小结 第2章 Android自动化测试基础 2.1 Java编程基础 2.2 JUnit简介 2.2.1 添加测试异常情况的测试用例 2.2.2 测试集合 2.2.3 测试准备与扫尾函数 2.2.4 自动化测试用例编写注意事项 2.3 Android应用程序基础 2.3.1 Android权限系统 2.3.2 应用的组成与激活 2.3.3 清单文件 2.3.4 Android应用程序的单UI线程模型 2.4 本章小结 第3章 Android界面自动化白盒测试 3.1 Instrumentation测试框架 3.1.1 Android仪表盘测试工程 3.1.2 仪表盘技术 3.1.3 Instrumentation.ActivityMonitor嵌套类 3.2 使用仪表盘技术编写测试用例 3.2.1 ActivityInstrumentationTestCase2测试用例 3.2.2 sendKeys和sendRepeatedKeys函数 3.2.3 执行仪表盘测试用例 3.2.4 仪表盘测试技术的限制 3.3 使用robotium编写集成测试用例 3.3.1 为*测程序添加robotium用例 3.3.2 测试第三方应用 3.3.3 robotium关键源码解释 3.4 Android自动化测试在多种屏幕下的注意事项 3.5 本章小结 第4章 Android界面自动化黑盒测试 4.1 monkey工具 4.1.1 运行monkey 4.1.2 monkey命令选项参考 4.1.3 monkey脚本 4.1.4 monkey服务器 4.2 编写monkeyrunner用例 4.2.1 为*测程序录制和回放用例 4.2.2 运行monkeyrunner 4.2.3 手工编写monkeyrunner代码 4.2.4 编写monkeyrunner插件 4.3 本章小结 第5章 测试Android服务组件 5.1 JUnit的模拟对象技术 5.2 测试服务对象 5.2.1 服务对象简介 5.2.2 在应用中添加服务 5.2.3 测试服务对象 5.3 本章小结 第6章 测试Android内容供应组件 6.1 控制反转 6.1.1 依赖注入 6.1.2 服务定位器 6.2 内容供应组件 6.2.1 统一资源标识符 6.2.2 MIME类型 6.2.3 内容供应组件的虚拟表视图 6.3 内容供应组件示例 6.4 测试内容供应组件 6.5 本章小结 第7章 测试Android HTML 5应用 7.1 构建Android HTML 5应用 7.1.1 WebView应用 7.1.2 使用视口适配Android设备的多种分辨率 7.1.3 使用CSS适配多种分辨率 7.1.4 使用Chrome浏览器模拟移动设备浏览器 7.2 使用QUnit测试HTML 5网页 7.2.1 QUnit基础 7.2.2 QUnit中的断言 7.2.3 测试回调函数 7.2.4 测试WebView应用 7.3 本章小结 第8章 使用Selenium测试HTML 5浏览器应用 8.1 Selenium组成部分 8.2 安装Selenium IDE 8.3 Selenium IDE界面 8.3.1 菜单栏 8.3.2 工具栏 8.4 使用Selenium 8.4.1 使用Selenium IDE录制测试用例 8.4.2 运行Selenium测试用例 8.4.3 等*操作完成 8.4.4 Selenium WebDriver命令 8.5 数据驱动测试 8.6 Selenium编程技巧 8.6.1 在测试代码中硬编码测试数据 8.6.2 重构Selenium IDE生成的代码 8.7 本章小结 第9章 Android NDK测试 9.1 安装NDK 9.2 NDK的基本用法 9.3 编译和部署NDK示例程序 9.4 Java与C/C++之间的交互 9.4.1 Makefiles 9.4.2 动态模块和静态模块 9.5 在Android设备上执行NDK单元测试 9.6 unittest++使用基础 9.6.1 添加新测试用例 9.6.2 测试用例集合 9.6.3 验证宏 9.6.4 数组相关的验证宏 9.6.5 设置超时 9.7 本章小结 第10章 Android其他测试 10.1 Android兼容性测试 10.1.1 运行Android兼容性测试用例集合 10.1.2 兼容性测试计划说明 10.1.3 添加一个新的测试计划 10.1.4 添加一个新的测试用例 10.1.5 调查CTS测试失败 10.2 Android脚本编程环境 10.2.1 Android脚本环境简介 10.2.2 安装SL4A 10.2.3 为SL4A安装脚本引擎 10.2.4 编写SL4A脚本程序 10.2.5 在PC上调试脚本程序 10.3 国际化测试 10.4 模拟来电中断测试 10.5 本章小结 第11章 持续集成自动化测试 11.1 在Ant中集成Android自动化测试 11.1.1 Ant使用简介 11.1.2 Android应用编译过程 11.1.3 使用Ant编译Android工程 11.2 在Maven中集成Android自动化测试 11.2.1 使用Android Maven
Archetypes创建新Android工程 11.2.2 Android Maven工程介绍 11.2.3 与设备交互 11.2.4 与模拟器交互 11.2.5 集成自动化测试 11.3 收集代码覆盖率 11.4 本章小结 第12章 Android功能调试工具 12.1 使用Eclipse调试Android应用 12.1.1 Eclipse调试技巧 12.1.2 使用JDB调试 12.1.3 设置Java远程调试 12.1.4 调试器原理简介 12.2 查看Android的logcat日志 12.2.1 过滤logcat日志 12.2.2 查看其他logcat内存日志 12.3 Android调试桥接 12.3.1 adb命令参考 12.3.2 执行Android shell命令 12.3.3 dumpsys 12.4 调试Android设备上的程序 12.4.1 调试命令行程序 12.4.2 调试Android应用 12.4.3 调试Maven Android插件启动的应用 12.5 本章小结 第13章 Android性能测试之分析操作日志 13.1 使用Traceview分析操作日志 13.1.1 记录应用操作日志 13.1.2 Traceview界面说明 13.1.3 使用Traceview分析并优化性能瓶颈 13.2 使用DDMS 13.2.1 使用DDMS 13.2.2 DDMS与调试器交互的原理 13.2.3 三种启动操作日志记录功能的方法 13.3 使用dmtracedump分析函数调用树 13.4 本章小结 第14章 分析Android内存问题 14.1 Android内存管理原理 14.1.1 垃圾内存回收算法 14.1.2 GC发现对象引用的方法 14.1.3 Android内存管理源码分析 14.1.4 Logcat中的GC信息 14.2 调查内存泄露工具 14.2.1 Shallow size和Retained
size 14.2.2 支配树 14.3 分析Android内存泄露实例 14.3.1 在DDMS中检查示例问题程序的内存情况 14.3.2 使用MAT分析内存泄露 14.3.3 弱引用 14.3.4 MAT的其他界面使用方法 14.3.5 对象查询语言OQL(Object Query
Language) 14.3.6 使用jHat分析内存文件 14.4 显示图片 14.4.1 Android应用加载大图片的最佳实践 14.4.2 跟踪对象创建 14.5 频繁创建小对象的问题 14.6 Finalizer的问题 14.7 本章小结 第15章 调试多线程和HTML 5应用 15.1 调试应用无响应问题 15.2 Android中的多线程 15.3 调试线程死锁 15.3.1 资源争用问题 15.3.2 线程同步机制 15.3.3 解决线程死锁问题 15.4 StrictMode 15.4.1 在应用中启用StrictMode 15.4.2 暂时禁用StrictMode 15.5 调试Android上的浏览器应用 15.5.1 在Android系统自带的浏览器上调试 15.5.2 在Chrome浏览器上调试 15.6 本章小结 第16章 调试NDK程序 16.1 使用Eclipse调试Android NDK程序 16.2 在命令行中调试NDK程序 16.3 Android的C/C++调试器的工作原理 16.3.1 调试符号 16.3.2 源码 16.3.3 多线程调试的问题 16.4 本章小结 |