标题：手机软件测试最佳实践
宣传语
什么是手机软件测试？
为什么要做手机软件测试？
如何做手机软件测试？
如果你碰到这三个问题，或者对它们还不太清楚，那么这本书对您来说是一个很好的机会去获得这些问题的答案，本书的三位作者将和您一起畅游手机软件测试的思海。
内 容 简 介
全书包含三个部分共8章，第1部分包括第1章～第2章，从整体上介绍了手机设备软硬件的现状与趋势，以及手机软件测试用例设计的常用方法，给入门读者提供了必要的基础知识；第2部分包括第3章～第5章，即按照手机软件体系结构，从下到上分为操作系统、中间件和业务应用三个层次详细讲解了手机软件的测试技术；第3部分包括第6章～第8章，以指导实践为目标，分别对外场测试和一致性测试以及手机软件质量保证这些热门话题进行了展开和讨论，引导读者能够恰当地运用测试技术和测试工具，保障手机软件的高质量和高可靠性。
推 荐 序
2007年，配备Mac操作系统和Multi-Touch技术的iPhone打破了手机市场的平静，让我们看到原来手机也可以实现如此强大的功能，已经PC化的iPhone让我们开始思考手机内存的增加、摄像头分辨率的提高、屏幕的增大，等等这一切是否还能算作是创新。
2008年，Google突然携带他的开放式操作系统Android征战手机市场，让我们更加深刻地认识到，手机上网功能将是未来人们生活中的必须。而高通这家垄断着CDMA手机芯片的巨头和英特尔这家垄断着电脑芯片的巨头，也在CES上展示了他们的“口袋式PC”。
移动通信从一代、二代、发展到了如今的三代，而且正在进入四代。手机的硬件平台和操作系统的标准化越来越强，今天手机走过的路和昨天PC走过的路简直是如出一辙。当前，手机功能从仅仅能够支持语音通话到支持短消息，支持拍照、摄像、听音乐、玩游戏、可视电话、上网……，集万千功能于一身；换言之，手机就是微型的计算机了。
目前，手机中最早、最主要的功能——语音通话，已经成为手机众多的令人眼花缭乱功能中的一个很普通的功能；随着手机功能的不断强化和丰富，手机的硬件和软件的复杂度也不断增加，手机出现质量问题的概率越来越大，手机质量问题也越来越突出。
北京市质监局2008年底公布了“12365”质量投诉举报中心受理质量申诉情况。统计数据显示，当年12月“12365”热线接到申诉402件、举报102件，产品质量申诉数量比去年同期下降了58.4%。而其中，手机及电池投诉量多达49件，占全部投诉量的12%左右，继续位居质量“黑榜”榜首。
手机质量问题的最好解决方法，就是在手机研发的过程中，通过有效的测试手段和方法，捕捉到隐藏在手机中的Bug，避免这些Bug在客户手中爆发，方能解决目前的手机质量问题。
51Testing长期从事测试的咨询、培训、项目外包等服务，客户涵盖了众多国内外手机厂商和国内运营商，在业内有着良好的口碑。此次，由51testing倾力打造的《手机软件测试最佳实践》一书，由51Testing的资深咨询顾问和国内众多手机行业的一线测试专家撰写。该书全面阐述了手机测试相关的背景知识、与手机测试相关的业务知识、手机测试的方法论和实践方法、以及手机各种典型业务的测试方法和思路，比如语音、消息、视频、外场、一致性等方面的测试。
我相信《手机软件测试最佳实践》是一本普及性、帮助性极强的书籍，尤其对希望进入手机测试行业的人员和目前正在从事手机测试行业相关工作的工程师来说将大有裨益。
上海博为峰软件技术有限公司副总经理 
51Testing创始人之一 
王威
前 言
本书编写的背景
近几年来，随着手机产业在世界范围内向中国大陆的转移，我国已逐步成为全球最大的手机制造基地和最大的出口基地。2008年中国的手机产量、内销量和外销量继续延续两位数的增长势头，产业规模持续扩大。2008年上半年中国市场手机生产量达到2.79亿部，与2007年同期相比实现了21.20%的增长，继续维持良好的发展势头，国内与出口两个市场双重驱动了中国手机制造规模再创新高。2009年1月7日，工业和信息化部为中国移动、中国电信和中国联通三家公司发放了第三代移动通信（3G）牌照，标志着我国已经正式进入3G时代。
与前两代系统相比，3G系统的主要特征是提供丰富多彩的移动多媒体业务，提供更大的系统容量、更好的通信质量，而且在全球范围内更好地实现无缝漫游及为用户提供包括话音、数据及多媒体等在内的多种业务。在市场和用户潜在需求的推动下，手机相关技术的发展日新月异，技术、应用已经成为3G手机产品的关键词，介绍手机各种设计实现技术的出版物也如雨后春笋般地不断涌现。然而，在这些林林众众的书目中，系统介绍手机测试的书却尚属空白，这对于打算进入手机测试领域的初学者，或者希望继续提高自己测试水平的在职手机测试工程师，不能不说是一种的缺憾。本书，《手机软件测试最佳实践》正是在这样的背景下诞生的。
作为国内唯一一本定位于手机软件测试技术的指导用书，本书的作者从实际应用角度出发，以智能终端和3G业务规划为基础，系统地介绍了手机软件测试的各个主要方面，旨在为手机终端研发、测试人员提供帮助和指导，也可为项目经理、业务规划人员、移动通信研究人员、系统平台设计师、标准化工程师提供一定的参考。
本书的内容
本书的内容包含三个部分共8章。第1部分包括第1章和第2章，从整体上介绍了手机设备的软硬件现状与趋势。第2部分包括第3章、第4章和第5章，从操作系统、中间件和业务应用三个层次讲解了手机软件的测试技术。第3部分包括第6章、第7章和第8章，介绍了手机的测试实践以及手机软件的质量问题。因此，对于从事手机测试的工程师和广大手机爱好者来说，本书是一本手机软件测试的专业指导用书。而关于具体的手机软件测试实践问题，则主要涉及手机的平台、手机测试的设计方法和手机的业务测试和专项测试三个方面。
关于手机平台，本书在第1章、第3章、第4章分别对目前业界主流手机的硬件架构、操作系统平台、以及基于Java的开发平台做了详细的描述，使手机测试工程师能够很好地理解不同的手机平台，以及不同平台的差异性，对提高测试设计水平和发现测试设计的缺陷是有很大帮助的。
关于手机测试的设计方法，在本书第2章中，列举了七种手机测试的用例设计方法，并把传统的软件测试用例设计方法和手机测试用例设计方法有机地加以结合。因此，第2章的内容将成为手机测试设计工程师案头必备的参考资料。
关于手机的业务测试和专项测试，本书在第5章将阐述基于手机业务的测试，包括语音、消息、视频等九大业务；在第6章和第7章阐述了无线通信类产品特有的两种测试类型：外场测试和一致性测试。第8章深入讨论了手机软件质量保证问题，这是近年来手机测试行业的热门话题，目的是引导读者恰当地运用测试技术和工具，保障手机软件的品质。
全书的最后附有常用缩略语、硬件测试大纲和实验室配置以及手机行业相关标准，方便读者在阅读和实践的过程中查阅或作为进一步学习和研究的导航资料。
致谢
作者在本书的写作过程中，参考了大量国内外文献及技术规范，没有这些前辈学者的努力及其成果的指引，本书不会如此顺利地完成。在此，作者谨向书中提到的和参考文献中列出的诸位学者专家表示真诚的感谢。
本书由宋光照、傅江如、刘世军共同编著完成，傅江如负责全面校稿和统稿工作。
感谢吴建锋、赵双林、郑银华、王娟等同志对本书的认真审阅和宝贵意见，感谢电子工业出版社博文视点公司的策划编辑李冰对本书作者的支持与鼓励，特别是在出版过程中的热心支持和许多改进建议。
感谢在写作过程中给予我支持的同事们，特别是邱继进（台湾）、王峰，与我们经常在一起讨论一些外场测试的具体问题；另外还有郑小磊、李斌等，是他们的全力参与，本书才得以及时完稿。非常感谢51Testing的工作人员，他们的辛勤劳动使本书能及时面市；也感谢参与本书编写的全体专家和技术人员，以及本书的责任编辑和责任美编，他们的忘我工作，令本书的质量得以进一步的提升。
作者希望本书能够给读者有益的帮助，然而由于作者能力有限，书中难免有疏漏甚至错误之处，衷心希望读者能够予以指正，以期再版时修订。
编 者 
2009年02月
目 录
第1部分 手机设备的软硬件现状与趋势
第1章 移动终端简介 2
1.1 移动终端设备简介 2
1.1.1 概述 2
1.1.2 硬件设计平台介绍 6
1.1.3 终端业务概述 7
1.1.4 终端体系结构与协议简介 18
1.2 终端软件现状与趋势 22
1.2.1 3G时代的机遇与挑战 22
1.2.2 3G手机终端的发展趋势 24
小结 28
第2章 手机软件测试用例设计 29
2.1 用例设计考虑因素 29
2.2 用例设计基本原则 31
2.3 用例设计常用方法 31
2.3.1 等价类划分方法 31
2.3.2 边界值分析方法 35
2.3.3 判定表分析方法 37
2.3.4 因果图分析方法 40
2.3.5 正交实验设计方法 44
2.3.6 功能图分析方法 49
2.3.7 其他用例设计方法 51
2.4 用例设计的工程方法分析 51
2.4.1 使用测试用例设计方法的综合策略 51
2.4.2 功能交互法和测试类型覆盖法 52
小结 56
第2部分 手机软件的测试技术
第3章 手机系统平台测试 58
3.1 移动终端软件系统 58
3.1.1 移动终端平台软件简介 59
3.1.2 手机操作系统平台的分类 66
3.2 Mobile Linux操作系统平台 68
3.2.1 内核 68
3.2.2 设备驱动能力 68
3.2.3 存储及文件系统 69
3.2.4 优化的嵌入式特性 69
3.2.5 其他特性 70
3.3 Elastos操作系统平台 71
3.3.1 Elastos解决方案 71
3.3.2 Elastos技术特点 72
3.4 中间件及平台软件测试 73
3.4.1 内核服务与设备驱动测试 74
3.4.2 系统中间件测试 79
3.4.3 应用中间件测试 81
小结 85
第4章 J2ME平台及应用测试 86
4.1 J2ME平台简介 86
4.1.1 J2ME平台体系结构 87
4.1.2 MIDlet生命周期 90
4.1.3 常见JSR及典型API列表 91
4.2 J2ME测试环境搭建 92
4.2.1 WTK 92
4.2.2 移动终端测试环境配置 106
4.3 J2ME平台基本测试项目需求 110
4.3.1 Java应用管理器（JAM）测试 111
4.3.2 图形用户界面（LCDUI）测试 120
4.3.3 Java记录管理（RMS）测试 127
4.3.4 无线网络相关测试 131
4.4 J2ME可选包测试 137
4.4.1 J2ME常见可选包介绍 137
4.4.2 测试范例讲解——MMAPI测试 145
4.5 J2ME应用程序测试 156
4.5.1 功能性测试 156
4.5.2 性能测试 158
4.5.3 安全性测试 159
4.5.4 稳定性测试 160
4.5.5 易用性测试 161
4.5.6 非技术性测试 165
4.6 Java TCK测试简介 165
4.6.1 TCK基本概念 165
4.6.2 TCK常见组件 166
4.6.3 TCK工作原理 168
小结 169
第5章 业务应用软件测试 171
5.1 测试环境搭建 172
5.1.1 环境搭建重要性和要素 172
5.1.2 实验室配置和规划 173
5.2 语音类业务 174
5.2.1 语音类业务简介 175
5.2.2 业务功能和典型业务流程 175
5.2.3 业务对终端的测试需求 176
5.2.4 PoC业务应用的测试实例 177
5.3 消息类业务 177
5.3.1 消息类业务简介 177
5.3.2 业务功能和典型业务流程 178
5.3.3 短信业务对终端的测试需求 179
5.3.4 彩信业务对终端的测试需求 179
5.4 视频类业务 184
5.4.1 流媒体业务和视频通话简介 185
5.4.2 业务功能和典型业务流程 185
5.4.3 业务对终端的测试需求 186
5.4.4 视频通话业务应用测试实例 187
5.5 浏览器业务 190
5.5.1 浏览器简介 190
5.5.2 业务功能和典型业务流程 191
5.5.3 业务对终端的测试需求 193
5.5.4 WAP2.0业务应用测试实例 197
5.6 位置服务业务 200
5.6.1 位置服务业务简介 200
5.6.2 业务对终端的测试需求 204
5.6.3 位置业务应用测试实例 206
5.7 个人信息管理业务 208
5.7.1 PIM业务简介 208
5.7.2 业务功能和典型业务流程 208
5.7.3 业务对终端的测试需求 210
5.7.4 PIM业务应用测试实例 212
5.8 数字版权管理业务 216
5.8.1 移动数字版权管理业务简介 216
5.8.2 业务功能和典型业务流程 219
5.8.3 DRM业务应用测试实例 232
5.9 即时消息业务 244
5.9.1 即时消息简介 244
5.9.2 业务功能和典型业务流程 245
5.9.3 业务对终端的测试需求 245
5.10 游戏类业务 247
5.10.1 游戏类业务简介 247
5.10.2 业务对终端的测试需求 248
小结 253
第3部分 手机测试实践
第6章 手机外场测试 256
6.1 外场测试及手机工程模式简介 256
6.1.1 基本概念 256
6.1.2 外场测试目的和作用 257
6.1.3 外场测试一般原则 258
6.2 外场测试对终端的要求 259
6.3 外场测试对工程师的要求 260
6.4 外场测试的内容和方法 262
6.4.1 外场测试的内容 262
6.4.2 外场测试的方法 263
6.5 外场测试的经验总结 264
6.6 外场测试的常见问题分析 265
6.6.1 外场测试的计划和报告 265
6.6.2 机卡接口问题 268
6.6.3 掉话分析 271
6.6.4 网络注册问题 278
小结 280
第7章 手机一致性测试 281
7.1 GCF认证测试 281
7.1.1 GCF认证测试的基本概念 281
7.1.2 GCF对WCDMA终端认证测试的要求 282
7.1.3 WCDMA终端认证程序 283
7.1.4 GCF对测试用例和测试系统的认证过程 283
7.1.5 GCF测试项目实施原则和作用 284
7.2 协议一致性测试 285
7.2.1 协议一致性测试的基本概念 285
7.2.2 协议一致性测试的几种形式及举例 287
7.3 Symbian签名测试 293
7.3.1 Symbian签名测试的基本概念 293
7.3.2 Symbian签名流程 294
7.3.3 Symbian签名测试实例 295
7.3.4 Symbian签名测试常见的失败情形检查表 296
7.4 全型号认证测试 297
7.5 中国手机入网认证测试 300
小结 301
第8章 手机软件质量保证 303
8.1 软件质量保证概述 304
8.1.1 SQA的定义 304
8.1.2 SQA的目标 305
8.1.3 SQA与SQC 306
8.1.4 SQA的主要任务 306
8.1.5 SQA与检验 307
8.2 质量保证体系与实施 309
8.2.1 SQA的体系结构 309
8.2.2 SQA的实施 312
8.3 将质量活动整合进项目生命周期 313
8.3.1 瀑布模型 314
8.3.2 增量模型 315
8.3.3 敏捷软件开发模型 315
8.4 同行评审 316
8.4.1 基本概念 316
8.4.2 同行评审的常见类型 317
8.4.3 同行评审的一般过程 319
8.5 配置管理 319
8.5.1 软件配置项 320
8.5.2 基线 320
8.5.3 软件配置管理的过程和任务 320
8.6 SQA案例讲解——版本测试 322
8.6.1 每日构建 323
8.6.2 单元测试自动化 334
小结 339
附录A 常用缩略语 340
附录B 硬件测试大纲和实验室配置 345
附录C 手机行业相关标准 350
参考文献 353