你为什么一定需要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<T>类
实战
ServiceTestCase<T>
TestSuiteBuilder.FailedToCreateTests类剖析
在测试工程中使用external libraries对文件和数据库的测试操作
MockContentResolver类
|
TDD即测试驱动开发 |
理解TDD
- 编写一个测试用例
- 运行所有的测试
- 代码重构
- 重构什么,
- 什么时候重构,
- 怎么重构?
- 重构的测试维护问题
1个测试驱动开发工程案例
- 需求清单
- 使用面向接口的设计原则
- 创建工程
- 创建fixture
- 测试的prediction
- 创建用户接口
- 测试已经存在的用户接口组件
- 获得已经定义的ID
- 把测试需求反映到测试中
- 设计并实现测试用例
- 查看属性
- 运行测试程序,查看测试结果
- 监视运行日志
- 识别问题,重构程序
- 持续测试
|