为什么要写这本书
早在2010年年底,我们团队就有出一本关于移动互联网测试书籍的计划(那时候移动互联网测试书籍基本没有),当时计划的内容涉及面比较广,涵盖测试设计、测试用例管理、测试流程、自动化测试、专项测试等领域。不过,由于各种原因被搁浅,确实有点儿可惜,否则移动互联网测试国内的第一本书当时就面世了。这次终于又有机会整理这些年的测试经验并形成一本书了,借此可以跟业界的同行一起交流切磋。
TMQ(Tencent Mobile Quality)腾讯移动品质中心,是腾讯内部最早专注于移动App测试的团队,在10余年的时间内承担了近10款业界领先产品的测试工作,为腾讯向移动方向转型提供了多项质量方案和关键专利。本书的作者都是TMQ平台的核心成员,服务于公司级的手机QQ浏览器、应用宝等项目,经过这几年在移动测试领域的探索与实践,摸索出了一些实实在在的实践经验。TMQ的老板鼓励我们把这些知识和经验编写成册,这样不仅能为公司内部提供好的产品服务,也能为业界同人提供参考,从而将知识更好地扩散出去。我们团队非常珍惜这次写书的机会,故组织了团队内Android自动化测试方面经验丰富的同学一起来编写。大家都是利用自己的业余时间总结各自擅长领域的经验和知识,且初稿经过6轮的内部评审(参加评审的同事超过30位),前后历时半年多才最终完成了本书的写作和修改,希望能给读者提供一本质量较高的专业书籍。
TMQ经过这几年的积累,在专项测试、精准测试体系及自动化测试方面都有比较多的精辟之作。基于此,我们分小组对这些知识进行了整理,形成了相应的知识库,完成了本系列丛书,包括《移动互联网App性能评测调优实践》《精准化测试白皮书》《腾讯Android自动化测试实战》3本书,其他两本也在同期编写出版工作中。希望TMQ平台出品的书籍能给予读者思路上的指导或者是技术上的解惑。
除封面署名外,参加本书编写的作者还有:陈航特、陈六四、邓曦、高苡新、林凯杰、刘洋、鲁万林、万宇、郑若琳、钟书成共12位作者(按姓氏拼音排序),都是来自腾讯移动端QQ浏览器及应用宝团队的骨干员工。
读者对象
本书是一本务实的书籍,案例都是作者们的第一手资料,对于软件质量保证方面的初学者,本书还提供了简短的案例以帮助其理解,循序渐进,掌握测试核心原理;对于有经验的同行,本书提供了经典案例帮助其提升与参考。这里根据行业实际需求给出了相应的用户群体:
·对移动业务测试感兴趣的人;
·对Android自动化测试感兴趣的人;
·即将开展Android自动化测试的团队;
·开设相关课程的院校师生。
本书特色
Android自动化测试经过这几年的发展,官方提供的开源自动化框架已经能非常好地支持终端的测试业务,但是如何利用、如何用好这些资源还是比较现实客观的问题,尤其是在小公司中,自动化测试方法的摸索及实施还存在一些困难,需要一定的投入才能得以真正应用。业界一些Android自动化测试方面的书籍很多都偏原理的介绍,而本书不仅深度解析这些框架的原理,还给出了手机QQ浏览器、应用宝项目中的典型案例,像最常见的App速度、要求较高的视频播放性能测试等,供需要实践的读者学习,这也是本书的重要特色之一。本书前半部分主要介绍业界流行的Android自动化框架的基础知识,聚焦工具框架的原理以及基础API使用、框架的二次开发改造(根据具体项目做相应修改),以及实践过程中一些共性问题的分享。如果读者已经掌握这些框架基础,那么对本书内容的理解就会更容易。同时读者可以重点关注本书中介绍的对框架进行二次开发的内容,并结合自己的实际项目考虑如何应用这些知识提升自己的工作效率;基础比较高的读者可跳过这部分直接阅读后半部分。后半部分通过一些实际案例来讲解自动化框架的应用,更强调系统性分析设计能力,包括需求的分析、工具选型、测试方案、代码覆盖率的应用等,覆盖功能测试、性能测试的具体实战案例。这部分对读者的技术能力要求相对更高一些,涉及的知识点的深度和广度要明显高于前半部分,需要进行Android App应用的性能速度测试的读者可以深入阅读,领会书中所提场景的测试设计与思路,进而掌握框架的精髓所在。在经典案例中也给出了很多具体实现思路的介绍与分析,让读者知其然、并知其所以然,同时各位作者也把项目测试工程代码加以整理,打包至TMQ后台,供读者下载,读者如有需要可以直接导入工程进行调试学习,以大大减少学习成本。读者可以根据自己的需求阅读相应章节的内容:如熟悉Java语言,又面临Debug未混淆被测App的情况,建议直接学习Robotium框架,因为Robotium操作简单、相关资料丰富,还能支持ant、maven打包,与jenkins结合较好;因Robotium不支持跨应用,所以对于需要支持跨应用的框架,读者可以阅读UIAutomator和Appium框架,其中Appium是借助WebDriver JSON协议实现的,能支持多种语言编写测试脚本;对于有一定经验的读者,在案例选择时可以结合Robotium和UIAutomator的优点一起使用,此时可直接阅读本书中的浏览器视频性能测试案例。
勘误和支持
本书作者分别在深圳、北京、成都、合肥四地办公,所以整个写作过程中异地沟通比较多,整书从选题至初稿形成,差不多花了5个月的时间,速度超过我们的预期,但由于作者的水平有限、异地交流、编写时间仓促等,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,我们特意在TMQ的官网创建了一个在线支持: http://tmq.qq.com 。你可以将书中的错误发布在新书勘误表页面中,我们将尽量在线上为读者提供最满意的解答。书中的全部源文件除可以从华章官方网站( http://www.hzbook.com )下载外,还可以从TMQ网站下载,我们也会将相应的错误及时更正。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱dinahsheng@tencent.com,期待能够得到你们的真挚反馈。
致谢
感谢腾讯科技MIG无发研发部总经理冼文佟、助理总经理陈诚,正是他们鼓励我们多总结、多分享、把知识传播,我们才有了写书的想法。
感谢腾讯科技MIG无发研发部品质中心的总监廖志、李德广、张鼎,给我们提供TMQ这样好的一个人才培养平台,让我们不断成长和提升,同时也非常感谢他们在百忙之中指导我们写作。
感谢腾讯科技的同事们在整个写作过程中,帮我们多次进行内容及技术层面的审核指错,尤其是王琳同学,作为每章内容的第一位读者,给了很多好的建议和思路,其他同事也对本书的内容进行了细致的评审,他们是陆小三、吴景、柳炜、沈东雄等,在此一并谢过。
感谢腾讯科技的浏览器测试团队、应用宝测试团队,在我们编写过程中他们提供的工作支持,是我们得以这么快速完成的基础。
感谢同济大学朱少民教授给我们的专业指导和鼓励,让我们更有信心完成本书的编写。
感谢机械工业出版社华章公司的编辑杨福川、孙海亮,是他们多次给予我们指导及鼓励。
感谢我们的亲人在我们周末加班写作时给予的支持与理解,你们的支持是我们最大的动力!
谨以此书献给我们最亲爱的家人,以及热爱移动业务测试的朋友们!
丁如敏等