Print

基于Android的单元、性能测试、持续集成和测试驱动开发

主办单位:中培网   中培管理咨询

时间地点:2012-10-22至2012-10-23 在 北京

学员对象:Android开发者,对Android测试感兴趣的朋友

费  用: 5800元

【培训对象】

Android开发者,对Android测试感兴趣的朋友

【课程收益】

【课程大纲】

时间地点: 北京 10月22-23日

课程费用: 5800元/人

培训对象: Android开发者,对Android测试感兴趣的朋友

学员基础: 了解java语言;了解OOP(面向对象)编程相关概念及测试相关知识。

课程前言

敏捷:全程深入实战敏捷开发TDD;

敏捷:全程深入实战敏捷开发BDD;

持续集成开发实战;

涵盖Android的四大核心组件Activity、Service、ContentProvider、BroadCastReceiver测试;

全面涵盖Android的所有测试技巧和策略;

彻底:涵盖Android中的JUnit测试的全部内容、源码剖析、设计模式;

深入性能测试和性能优化技术;

培训目标:

本课程涵盖Android中测试的全部技术;

你为什么一定需要Android测试?

测试的商业价值

软件中的Bug和测试

为什么、是什么、如何、何时测试

测试的类型

Android的测试框架

通过JUnit测试Android的业务代码

通过JUnit进行自动化测试

Junit的源码剖析和设计模式

体验纯粹的Android上的测试

深入Android测试,涵盖Activity、Service、ContentProvider的测试等

TDD即测试驱动开发

Android的测试环境

BDD即行为驱动开发

Android测试技巧

持续的集成

性能测试和分析

升级的测试策略

打造顶级的Android测试专家

使得Android代码高品质、高价值、高利润;

课程特点:1、理论与实践相结合,解决你的实际问题。2、真实案例的剖析,深入浅出的讲解,使你能学以致用。

授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练

培训内容: 2天

你为什么一定需要Android测试? Android开发太混乱了;

Android的应用程序的代码质量太差了;

任何伟大的IT公司一定是至少是出色的测试公司;

用什么来拯救Android?唯有测试。

测试的商业价值 比尔盖茨说:其实,微软是一个测试公司

高质量、高价值、高利润;

软件中的Bug和测试 Bug是怎么产生的?

Bug是如何致命性的影响软件项目的?

工程师的一生:与Bug作战的一生。

那什么拯救:唯有测试。

为什么、是什么、如何、何时测试 为什么需要测试;

测试什么;

Activity的生命周期事件

数据库和文件系统的操作

设备物理参数的测试

如何测试?

何时测试?

测试的类型 单元测试

测试的fixture setUp()方法

tearDown()方法

测试的前置条件设备

测试方法本省

集成化测试

实用性和接受度测试

测试用例场景

性能测试

系统测试

Android的测试框架 Instrumentation

测试的targets

通过JUnit测试Android的业务代码 剖析JUnit;

剖析我们的第一个单元测试程序 ;

Android中的单元测试的框架JUnit编写时候的几点思考;

ANDROID中JUNIT测试的生命周期;

测试数组、堆栈、文件系统

如何测试private方法

通过JUnit进行自动化测试 测试套件TestSuite

自动化测试实战

Junit的源码剖析和设计模式 以TestCase抽象类为核心剖析Junit源代码

以TestSuite类为核心剖析Junit源代码

Junit与模板方法模式

Junit与适配器模式

JUNIT与组合模式

体验纯粹的Android上的测试 创建Android的main project

创建Android的test project

创建一个测试用

创建测试用例

使用annotation的方式创建测试用

运行测试

在Eclipse中运行所有的测试

在Eclipse运行单个测试用例

从emulator上运行测试用例

在命令行下运行测试

运行所有的测试

运行单个的测试用例

通过name运行单个测试用例

通过category运行单个测试用例

运行性能测试

dry测试

调试测试

其它的一些命令行选项

深入Android测试,涵盖Activity、Service、ContentProvider的测试等 深入Assertion

TouchUtils类

Mock对象

基类TestCase

基类AndroidTestCase

assertActivityRequiresPermission()方法剖析和实战

ActivityMonitor内部类剖析和实战

InstrumentationTestCase类

ActivityTestCase类

ActivityInstrumentationTestCase2类

ProviderTestCase2

实战

ServiceTestCase

TestSuiteBuilder.FailedToCreateTests类剖析

在测试工程中使用external libraries对文件和数据库的测试操作

MockContentResolver类

TDD即测试驱动开发 理解TDD

编写一个测试用例

运行所有的测试

代码重构

重构什么,

什么时候重构,

怎么重构?

重构的测试维护问题

1个测试驱动开发工程案例

需求清单

使用面向接口的设计原则

创建工程

创建fixture

测试的prediction

创建用户接口

测试已经存在的用户接口组件

获得已经定义的ID

把测试需求反映到测试中

设计并实现测试用例

查看属性

运行测试程序,查看测试结果

监视运行日志

识别问题,重构程序

持续测试

Android应用性能概览 Android的运行时性能模型

性能典型问题列表

性能原因初探

性能检测和诊断工具

Android的测试环境 创建Android虚拟设备

从命令行运行AVD

没有标题的模拟器

取消键盘监视功能

清理

终止模拟器

额外的模拟器参数

模拟网络状况

额外的qumu选项

运行monkey

monkey的客户端和服务端

使用monkeyrunner运行测试脚本

获得测试的屏幕截图

记录和播放屏幕截图

BDD(行为驱动开发) BDD思考

FitNesse

从命令行运行FitNesse

TemperatureConverterTests创建subwiki

给subwiki创建子页面

增加可以接受的测试fixture

增加测试的支持类

GivWenZen

创建测试的场景

Android测试技巧 Android单元测试

测试Activity和Application

Applications和preferencesRenamingMockContext类

TemperatureConverterApplicationTests类

测试Activity

测试文件、数据库和ContentProvider

BrowserProvider测试

测试exception

测试本地和远程service

mock对象的进一步的应用

导入libraries

testTextChanged

Hamcrest介绍

Hamcrest匹配器

hasToString

测试View

测试parser

Android assets

parser activity

parser测试

Memory Leaks测试

持续的集成 使用Ant构建程序

使用快速的版本控制工具-Git

创建一个本地的git仓库

使用Hudson持续集成

安装和配置Hudson

创建任务

获得Android测试的结果

性能测试和分析 使用传统的Log中的方法

Android SDK中的性能测试

启动性能测试

创建LaunchPerformanceBase

创建TemperatureConverterActivityLauchPerformance类

运行测试

使用Traceview和dmtracedump工具

Microbenchmarks

升级的测试策略 从源代码编译Android

代码的coverage

EMMA特征

系统需求

下载Android源代码

安装repo

创建一个working副本

Buiding的步骤

TemperatureConverter的code coverage

产生code coverage分析报告

涵盖状态恢复

涵盖异常

绕开访问限制

涵盖选择菜单

Ant coverage的目标

介绍Robotium

下载Robotium

配置工程

创建测试用

testFahrenheitToCelsiusConversion()

testOnCreateOptionsMenu()

测试本地的JVM

创建一个TemperatureConverterJVMTest工程

比较性能优势

介绍Roboletric

安装Robolectric

建立一个新的Java工程

编写测试

特约讲师:王家林--多部畅销书作者,致力移动互联网技术研究与应用:HTML5和Android。

国内最早从事于Android应用程序软件开发和创业技术人员之一,一直关注HTML5的发展动态和技术实现。目前担任多家著名公司的技术顾问,致力于HTML5和Android软、硬、云整合;同时精通企业级Android应用开发实战,对Android框架的原理、IoC、设计模式有深刻独特的理解,精通C/C++组件通过JNI调用移植成为Android应用框架的核心组件,擅长修改应用框架,精通JPA、Struts、Spring、MySQL, 熟练LAMP技术。

项目经验:

HTML5的软硬整合、HTML5和云计算的整合、

HTML5游戏项目、HTML5的Web项目、

Android手机卫士、Android移植工作、Android上特定硬件的垂直整合、

编写Java虚拟机、Android框架修改、

Android娱乐多媒体软件(针对酷六、优酷、土豆等类型的网站)、

大型B2C电子商务网站、大型SNS网站等。

工作经验:

三次技术创业经历:B2C电子商务创业、SNS创业、Android创业、赶集网“起航”项目唯一一位高级软件工程师、Android培训,HTML5技术的狂热者,多家著名公司的技术顾问;

培训经验:

成功对包括三星、华为等世界500强企业实施Android底层移植、框架修改、应用开发等培训。

【讲师介绍】

        ▓▓▓▓▓▓▓▓▓ (此表复制有效)▓▓▓▓▓▓▓▓

                                    传真至:020-62355807

 

我单位共___ 人报名参加 2012-10-22至2012-10-23北京 举办的 基于Android的单元、性能测试、持续集成和测试驱动开发

 

单位名称:______________________________________

 

培训联系人:_________ 联系电话:_________ 联系传真:________

 

移动电话:____________ 电子邮箱:__________________

 

参加人数:____ 费用总计:______

 

人:________ 所任职务:__________ 移动电话:_________

 

人:________ 所任职务:__________ 移动电话:_________

 

人:________ 所任职务:__________ 移动电话:_________

══════════════════════════════════════════

广州电话:(0203997189362355796              传真号码:(02062355807

人:赵小姐、张先生                   报名邮箱: 317709971@QQ.COM

参会方式:请您把培训回执表填写好回传,课前一星期您将会收到传真函,包括培训注意事项及详细安排

文档生成:http://www.chinacpx.com/word/<%=wsid%>.doc