51Testing系列丛书:Android应用测试指南

发表于:2016-3-08 17:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李江    来源:51Testing软件测试网原创

分享:
  【前  言】
  众所周知,无论架构师在Android程序架构设计阶段花多少时间,不管程序员们在编码的时候有多仔细,总是不可避免犯错误,留下Bug。本书会指出那些常见并且容易规避的错误,尽可能帮助大家少犯一些常见的错误,从而提高您的开发效率和质量。本书汇集了作者大量的移动开发领域的项目经验、丰富的移动测试知识和实战经验。本书的主要内容如下。
  第1章 测试入门。本章介绍不同类型的测试方法,以及这些测试方法在普通的软件工程和Android项目工程中的不同用法。
  第2章 基于Android项目的测试。本章涵盖了如何在Android平台上进行测试、单元测试,Junit在Android项目测试中的使用方法、如何新建测试用例工程、 如何执行Android的自动化测试用例。
  第3章 在AndroidSDK中构建块。本章更加深入地探索如何在SDK中建立测试用例,包括:使用断言,使用TouchUtil工具,测试接口,Mock对象,使用模拟器,以及测试用例类的层次UML图。
  第4章 TDD,测试驱动开发。本章介绍测试驱动开发的原则。从介绍普遍的TDD原则、概念到讲述和Android平台密切相关的技术,这章节会给大家展示很多源代码实例。
  第5章 Android测试环境。本章介绍如何在不同的环境条件下执行测试用例。从创建Android虚拟机开始,通过设置不同条件的配置来变换测试用例执行的环境;最后,介绍了如何使用monkey来模拟用户操作。
  第6章 BDD,行为驱动开发。本章介绍行为驱动开发的相关概念。比如:最常用来表达测试的单词以及软件开发工程中的一些商业活动行为。
  第7章 测试方案。本章列举了前面几章谈及的方法技术可以应用的常见环境场合,并以食谱的形式展示给大家。采用食谱的形式主要是方便读者选择性地学习、使用。食谱内容包括:Android单元测试、行为、应用、数据库、ContentProvider基类、本地和远程服务、UI(界面测试)、异常、分析器、内存泄漏。
  第8章 持续集成。本章介绍了软件工程中的敏捷模式。软件在迭代中持续不断地变化,需要通过集成和不断地测试来保证质量。持续集成的方式能够减少花费的时间、改进质量、提高效率。
  第9章 性能测试。本章节介绍了一系列Android性能测试相关的基准配置和报表配置,以及Caliper的使用方法。
  第10章 可选的测试策略。本章为读者提供了一些可选择的测试方案,包括:由源码编译Android程序、Emma测试覆盖率、Robotium自动化、基于host测试以及Robolectric。
  在读此书之前,读者需要准备什么?
  首先,您要有一定的Android项目开发经验,因为本书不会对Android开发的基础知识进行讲述。学习本书的读者应该具备Android应用程序开发经验,或者至少已经熟悉Android开发知识。如果读者跟随本书中的测试样例,从几个API的Demo开始,然后逐步进入到更复杂、更深入的相关话题中,这样对您的帮助会更大。
  为了能够用上各个章的样例,读者需要做一些准备工作:安装一些软件、工具以及各章描述的特殊插件。软件下载地址都会给出,所有样例都是基于以下版本:
  ·   Ubuntu 10.04.2 LTS (lucid) 64位,完整版;
  ·   Java SE 1.6.0.24;
  ·   Andriod SDK工具,版本是:11;
  ·   Andriod SDK平台工具,版本是:4;
  ·   SDK平台Andriod 2.3.1 API 9版本:2;
  ·   Andriod兼容包,版本是:2;
  ·   Eclipse IDE,Java 版本Helios Severic发布版1(3.6.1);
  ·   Andriod开发工具,版本是:10.0.1.V201103111512-110841;
  ·   Dalvik Debug 监控服务,版本是:10.0.1.V201103111512-110841;
  ·   Apache Ant版本1.8.0 2010.4.9编译;
  ·   Git版本1.7.0.4;
  ·   子版本1.6.6(r40053)2011.5月编译。
  【本书对象】
  如果你是一名Android开发者,正打算给你的应用做测试或者想优化你的开发过程,那么这本书正适合您,而且您无需测试经验。
  【惯    例】
  在本书中,你会发现不同的信息采用了不同样式的文本。这里列出了本书的样式并作出了解释。
  代码片段一般会这样写:"我们一般采用adb shell命令来唤起am命令。"
  一段代码样式设置如下:
  @VeryImportantTest
  Public void testOtherStuff(){
  Fail("Not implemented yet");
  }
  对于代码中需要引起读者特别注意、重点强调的内容,本书在文中会加粗表示。
  public class MyFirstProjectTests extends TestCase{
  public MyFirstProjectTests{
  this("MyFirstProjectTests");
  }
  }
  命令行的输入样式如下:
  $ adb shell am instrument -w -e class com.example.aatg.myfirstproject.
  test.MyFirstProjectTests com.example.aatg.myfirstproject.test/android
  .test.InstrumentationTestRunner
  所有的命令行输出样式如下:
  08-10 00:26:11.820:ERROR/AndriodRuntime(510):FATAL EXCEPTION:main
  08-10:00:26:11.820:ERROR/AndriodRuntime(510):java.lang.IllegalAccessError:Class ref in pre-verified class resolved to unexpected implementation.
  新名词或者重要的语句会加粗。屏幕上看到的单词、菜单栏、对话框中看到的单词通常会以这样的样式展示,比如:"选择测试的项目,然后单击Run As|Run Configurations"。
  重要的笔记或者提醒将会以这种方式展示在框里。
  提示将会用这种方式展示在框里
  【用户反馈】
  欢迎广大读者反馈您对本书的意见,您的反馈将有利于我们以后完善本书的内容。
  编辑联系邮箱:zhangtao@ptpress.com.cn。

51Testing软件测试网将在近期对本书部分章节进行独家连载,敬请关注

查看更多《51Testing软件测试网作品系列》书籍:http://www.51testing.com/html/36/category-catid-136.html

43/4<1234>
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号