备战金九银十测试面试,腾讯大佬整理《Android自动化测试实战》

259 阅读7分钟

前言

早在2010年年底,我们团队就有出一本关于移动互联网测试书籍的计划(那时候移动互联网测试书籍基本没有),当时计划的内容涉及面比较广,涵盖测试设计、测试用例管理、测试流程、自动化测试、专项测试等领域。不过,由于各种原因被搁浅, 确实有点儿可惜,否则移动互联网测试国内的第一本书当时就面世了。这次终于又有机会整理这些年的测试经验并形成一本书 了,借此可以跟业界的同行一起交流切磋。

读者对象

本书是一本务实的书籍,案例都是作者们的第一手资料,对于软件质量保证方面的初学者,本书还提供了简短的案例以帮助其理解,循序渐进,掌握测试核心原理;对于有经验的同行,本书提供了经典案例帮助其提升与参考。这里根据行业实际需求给出了相应的用户群体:

  • · 对移动业务测试感兴趣的人;
  • · 对Android自动化测试感兴趣的人;
  • · 即将开展Android自动化测试的团队;
  • · 开设相关课程的院校师生。

书本目录

《Android自动化测试实战》

第1章 概述

在展开各章节简介之前,本章先带读者了解一下Android自动化测试框架的大体历史以及框架的演进过程。Android自动化测试框架和工具从2009年发展至今日趋成熟,从早期官方提供的半自动化演进到全自动化框架,包括支持跨应用、WebView等,其 功能越来越强大,并融合库思想、数据驱动、模块化、函数桩等先进的自动化测试思想和理念,Android测试起来越便捷。本章主要介绍Android App自动化框架的历史及热点问题。

第2章 自动化测试框架及应用领域综述

近几年,随着移动互联网的快速发展,智能终端的App应用越来越广,Android测试技术也备受重视,新的终端自动化测试框架层出不穷,本章笔者就自动化测试的入门知识及其应用做一个浅显的梳理与总结,与读者一同探讨移动终端自动化测试思路和方案。同时,本书主要也是围绕本章节提到的基础框架及其应用场景进行实战分析与演练,以亲身体验总结出实际项目经验,给准备实施或正在实施自动化测试的读者提供一些帮助和建议。

第3章 Robotium框架工作原理及实践

2010年,当Android还处于发展早期时,拥有丰富自动化测试经验的Renas Reda创建了Robotium项目,在Robotium发展到4.0版本时开始支持App中的Web自动化,经过几年的发展,Robotium现在已经是一款成熟、全面、稳定的自动化测试框架。更重要的 是,Robotium是一款开源的测试框架,在世界各地都有活跃的贡献者对其进行更新与维护,因此,无须担心将来Robotium会随着Android的发展而变得不可用、不易用,相反,Robotium每天都在变得更加强大。

第4章 Monkey基本原理及扩展应用

Monkey是Android系统自带的一款稳定性测试小工具,它以简单易用、方便快捷而广受测试者欢迎。本章分为四部分,由浅入深地为读者详细介绍Monkey工具。第一部分介绍Monkey基础知识,包括Monkey概况、常用参数、11大事件、环境搭建,以及Monkey命令行使用方法;第二部分介绍Monkey测试的基本方法,包括常规的稳定性测试、自定义脚本的稳定性测试、结合常用辅助命令的Monkey测试,以及Monkey日志的分析方法;第三部分介绍Monkey的原理,包括代码框架和代码逻辑分析;第四部分是Monkey使用的进阶篇,通过截图改造和Wi-Fi监控改造两个实际案例,介绍了如何通过修改Monkey源码达到优化Monkey工具的目的。

第5章 UIAutomator框架及实践

本章将从四个维度对UIAutomator自动化框架进行介绍,由浅入深地剖析其原理,讲述在TOS(Tencent OS,腾讯基于Android开发的手机系统)测试过程中的实践案例,围绕基础、原理、实战三方面,对于框架特性、适用场景进行分析,为二次开发提供思路及技巧。

第6章 Appium框架解析及实践

本章将介绍与Appium测试框架相关的知识。如图6-1所示,在本章第一部分介绍了Appium框架的原理以及重要的技术特点,这些原理和特点可以 在选择测试方案时帮助测试人员做决定。第二部分内容介绍了如何搭建Appium测试框架的环境和入手写一个基本的测试脚本,该部分知识对刚接触Appium框架的新手有一定的指导作用。第三部分是Appium应用的进阶知识,该部分内容介绍了Appium在腾讯地图这个项目中的实践过程,并对在实施 测试过程中遇到的一些问题和解决方案进行了阐述。

第7章 Android App速度测试

移动互联网在快速发展,App的竞争呈现白热化。App的性能表现不再是可有可无的指标,而是影响用户选择或者放弃一款App的重要依据。以手机浏览器为例,CNNIC 2013年发布的一份《中国手机浏览器用户研究报告》显示,手机浏览器自身的性能和速度是影响用户选择的最重要因素

第8章 视频性能测试案例

本章通过浏览器视频性能测试案例,详细讲解和剖析视频播放首帧响应时间测试方案以及实现原理,它不是其他章节所述的框架的直接应用,而是自动化测试的工具改造及应用的代表案例。读者阅读本章需要一定的编程基础,主要包括Android SDK和NDK基础编程、OPENCV图形识别和相似度对比技术、FFMPEG视频解码技术以及Java和Javascript之间通信的相关知识。

第9章 应用宝BVT测试案例

本章将从测试工程概览、测试用例编写、测试报告生成、跨应用处理、测试覆盖率度量等维度介绍BVT自动化测试在应用宝中的实际应用情况。第一小节介绍基于Robotium的测试工程概览,了解Android端自动化测试的动作模式。第二小节介绍基于Robotium测试用例的编写,包括如何使用例更加健壮稳定、降低维护成本 等。第三小节介绍结合Spoon测试报告生成,以及如何更好地进行出错重试与截图。第四小节介绍结合UIAutomator2.0版本进行跨应用测试。最后介绍测试覆盖率的 度量以及测试效益的思考。

第10章 兼容性测试实践

本章从三个纬度对兼容性测试进行了介绍。首先介绍兼容性测试定义,然后依次介绍手动测试方法、自动化测试方法、云平台测试方法《Android自动化测试实战》