Android开发者,对Android测试感兴趣的朋友
| 课程编号 | 开课日期 | 地点 | 培训天数 | 选择报名 |
Android开发者,对Android测试感兴趣的朋友
时间地点: 北京 7月30-31日
课程费用: 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底层移植、框架修改、应用开发等培训。