求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
知名某轨 “ReWorks中
塞默菲舍 《嵌入式软件架构设
某水声通 嵌入式Linux应
广汽研究 ARM处理器体系架
联合汽微 嵌入式软件架构设计
某全球知 Linux内核和系
广汽研究 嵌入式软件架构设计

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 

基于Android的单元、性能测试、持续集成和测试驱动开发    
 
Karl
多部畅销书作者,致力移动互联网技术研究与应用:HTML5和Android 。
报名课程       
时间地点: 北京 10月30-31日 、上海、深圳根据报名开班
课程费用: 5800元/人 详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
  • 敏捷:全程深入实战敏捷开发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代码高品质、高价值、高利润;
培训对象:Android开发者,对Android测试感兴趣的朋友
学员基础:了解java语言;了解OOP(面向对象)编程相关概念及测试相关知识。
授课方式: 定制课程 + 案例讲解 + 小组讨论,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<T>类
  • 实战
  • ServiceTestCase<T>
  • 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工程
    • 编写测试
  •  
    其他人还看了课程
    企业战略与变革管理  
    软件架构设计方法  
    红帽认证  
    数据分析与挖掘  
    定制内训




    最新活动计划
    C++高级编程 12-25 [线上]
    白盒测试技术与工具实践 12-24[线上]
    LLM大模型应用与项目构建 12-26[特惠]
    需求分析最佳实践与沙盘演练 1-6[线上]
    SysML建模专家 1-16[北京]
    UAF架构体系与实践 1-22[北京]