购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 本书内容概述

本书主要介绍Android自动化测试相关内容,分为以下两大部分。

第一部分介绍业界流行的Android自动化框架的基础知识,聚焦工具框架的原理和基础API使用,以及框架的二次开发(根据具体项目做相应修改),分享实践过程中的一些共性问题。这部分内容需要读者有基本编程能力(主要是Java方面的编程基础),如果读者已经具有这方面的能力(比如独立按Android开发者官网文档搭建相关HelloWorld的工程),那就更容易理解书本的内容;同时可以重点关注如何进行二次开发,以及如何应用于实际项目。

第二部分通过一些实际案例来讲解这些自动化框架的应用,更强调系统性分析设计,包括需求的分析、工具选型、代码覆盖率的应用,以及覆盖功能测试以及性能测试的具体实战等。这部分对读者的技术能力要求相对更高一些,涉及的知识点会多一些。当然如果有不太明白的地方,欢迎与各章节的作者进行交流。

第一部分Android自动化测试基础篇。

本书第一部分内容就是从自动化框架图谱中选择业界相对流行的自动化测试框架展开介绍,根据Google上这些自动化测试框架搜索量以及我们了解到的各互联网公司的自动化框架使用情况,我们选择有代表性的4个框架(Monkey、Robtotium、UI Automator)Appium)分别进行介绍。第1章也即本章,所以从第2章开始简介。

第2章自动化测试框架及应用领域综述:本章通过一个浅显易懂的Android自动化测试案例进行详细讲解,提炼出通用的自动化测试框架的原型——“动作执行/结果判断/报告展示”,最后介绍自动化测试的各种应用场景,方便读者更好地应用自动化测试。

第3章Robotium框架工作原理及实践:本章要求读者有一定的Robotium基础,可以先到Robotium官网下载相关Robotium的基础Demo练习。第一节先简单介绍Robotium的特点以及优缺点,再到Robotium主要API的详解,对Native控件以及Webview控件分别从获取以及相关操作展开介绍,同时还有不少实践过程中技巧的分享,例如搜索以及等待时间、截图、断言等。第二节深入Robotium的代码框架,结合代码分析,分别介绍控件获取以及操作的具体实现原理;针对最近又流行起来的H5页面,着重介绍Webview的基本原理,方便读者对H5页面进行测试。第三节通过分享3个实际案例(都是测试人员会经常碰到的案例),方便读者处理类似问题。第一个案例是解决相同ID或者没有ID的控件;第二个案例是对ListView在屏幕之外操作技巧;第三个案例则是针对一些定制化的Webview(例如腾讯浏览器服务X5Webview)进行适配,让Robotium也能快速支持定制化Webview的自动化测试。

第4章Monkey基本原理及扩展应用:每个从事过Android App测试的同学都应该使用过Monkey工具。Monkey工具也是最基础的自动化工具之一,上手比较容易,因此基本是大家的首选。本章第一节从Monkey基础知识开始介绍,从参数配置到环境搭建做基本解读,让读者能够通过本小节启动自己的Monkey自动化测试。第二节通过测试实例讲解Monkey具体使用,以及使用Monkey发现crash后产生日志的统计分析,解决实际测试过程中的一些问题,让读者能结合自己的项目做Monkey自动化测试。第三节通过Monkey的源码来介绍Monkey的代码基本框架以及某些逻辑详解,让读者清楚地了解Monkey运行逻辑(需要用户有相关Java代码基础),使得读者“知其然更知其所以然”。Monkey提供的功能可能没法满足要求,我们需要通过对Monkey的二次开发来定制需求,第四节通过两个实际案例来详细介绍Monkey的二次开发过程,这样就方便读者动手二次开发自己的需求。

第5章UI Automator框架及实践:本章第一节先简单介绍UI Automator的发展历程以及特点,让读者有一个基本认识。第二节介绍UI Automator整体框架、UI Automator各个类以及它们之间的关系,然后重点介绍五大基础类UiDevice、UiSelector、UiObject、UiCollection、UiScrollable。接下来重点介绍该框架两个重要事情——界面解析和事件注入,通过代码解读这两块的基本原理。最后把API都注解一下,方便读者查询。第三节主要通过实战案例来展示UI Automator的使用,从功能测试到性能测试以及压力测试都有相关案例讲解,基本测试类型自动化都可以选择UI Automator来完成;同时总结使用过程中的问题,如输入法、第三方包编译、adb稳定性等问题,方便读者借鉴思路。

第6章Appium框架解析及实践:本章第一节介绍Appium基本架构原理以及使用到的一些技术点,同时说明Appium框架的优缺点,让读者有一个大概认识,方便做自动化测试框架选择。第二节从环境搭建入手,手把手教读者完成一个HelloWorld的测试示例,接下来针对日常可能用到的方法对API进行解读,让读者逐步上手。第三节开始介绍自动化测试一些进阶思路,例如接口封装以及用例设计思想,引导读者把自动化测试做得更好。接下来以腾讯地图自动化测试实践为案例,分别从可重复性、稳定性和可维护性三个方面详细介绍,同时对Hybrid App测试做了介绍,最后对Appium实践过程中常见问题做了解答,方便读者借鉴,避免走弯路。

第二部分Android自动化测试实战篇

第7章Android App速度测试:本章选择对用户体验感知明显的一个性能点——App速度,针对App速度测试来进行深度分析,从整个需求的系统分析,再到详细对比不同速度测试方法(掐秒表、打Log、录像、Hook方式、网络包分析等),最后提炼出速度测试的相关方法论,以供读者参考。

第8章视频性能测试案例:本章选择视频性能这个需求进行系统性分析,从用户感知层面出发,挖掘相关需求点,再到整体性能方案的设计(从自动化执行以及结果对比等都做详尽的分析),最后到结果分析等方面,都做了系统性详细介绍,给读者一个完整的案例。这一章对读者基础能力要求有点儿高,除了涉及Java编程语言,还涉及C的编程(JNI),同时要求在视频方面有一定的基础(如FFMPEG)。

第9章应用宝BVT测试方案:Robotium在应用宝项目的实践案例。主要介绍如何利用Robotium来做BVT(Build Verification Test),把App最基础功能梳理出来,然后写成自动化测试用例,每次持续集成编译成功,都会运行这些自动化脚本,确保每个版本基础功能可用。同时结合代码覆盖率,可以关注覆盖度情况。代码覆盖率主要用JaCoCo生成,当然Emma也使用很广泛。

第10章兼容性测试实践:Android手机从2007年发布,到目前为止,有超过2000种型号,系统从2.X到6.X,Android碎片化比较严重,那么怎么保证App在大多数的机型系统中正常运行呢?这一章介绍如何利用业界的云测试系统进行测试。云测试系统包括百度MTC、Testin、优测,通过使用这些云测试系统可以快速发现一些兼容性问题。 PNMJ5f+CsfCIgzY3GIx16lvTUFPplIXgEwe/p1O+5BiztYOs1d4wsB1wf5/2jJ68

点击中间区域
呼出菜单
上一章
目录
下一章
×