欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    傅雪锋:Android开发的单元测试.pdf

    • 资源ID:3332195       资源大小:1.22MB        全文页数:30页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    傅雪锋:Android开发的单元测试.pdf

    Better Practices for betterbetterbetterbetter productsproductsproductsproducts andandandand servicesservicesservicesservices Android单元测试 傅雪锋 jackson.fuenways.com 大大 纲纲 单元测试简介 1 为什么要单元测试 2 Android的测试框架 3 第三方测试框架 4 2013-1-162013-1-162013-1-162013-1-163 3 3 3 BetterBetterBetterBetter PracticesPracticesPracticesPractices forforforfor betterbetterbetterbetter productsproductsproductsproducts andandandand servicesservicesservicesservices 单元测试简介单元测试简介单元测试简介单元测试简介 2013-1-162013-1-162013-1-162013-1-164 4 4 4 单元测试简介 小调查 是否了解单元测试 是否在项目中实践单元测试 是否在Android项目中实践单元测试 2013-1-162013-1-162013-1-162013-1-165 5 5 5 单元测试简介 2013-1-162013-1-162013-1-162013-1-166 6 6 6 单元测试简介 经典的V模型 2013-1-162013-1-162013-1-162013-1-167 7 7 7 单元测试简介 单元测试是开发者开发者开发者开发者编写的一小段代码 单元测试用于检验被测代码的一个很小的、很明确的功能是否正确 通常而言,一个单元测试是用于判断某个特定条件下特定函数的行为 TDD - 测试驱动开发(设计),单元测试极致应用 单元测试特性 2013-1-162013-1-162013-1-162013-1-168 8 8 8 单元测试简介 TDD状态变换TDD流程 2013-1-162013-1-162013-1-162013-1-169 9 9 9 如何砌墙? 单元测试简介 TDD的一个比喻 盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的 笔直,因为垒砖的时候都是以这根线为基准的。 TDD - 先写测试代码,就像工人师傅先用桩子拉上线,然后编码的 时候以此为基准,只编写符合这个测试的功能代码。 新手往往不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否 笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进 行校正,敲敲打打。 使用传统的软件开发过程就像这样,先编码,编码完成之后才写测试 程序,以此检验已写的代码是否正确,如果有错误再一点点修改。 VSVSVSVS. . . . 2013-1-162013-1-162013-1-162013-1-1610101010 BetterBetterBetterBetter PracticesPracticesPracticesPractices forforforfor betterbetterbetterbetter productsproductsproductsproducts andandandand servicesservicesservicesservices 为什么要单元测试为什么要单元测试为什么要单元测试为什么要单元测试 2013-1-162013-1-162013-1-162013-1-1611111111 为什么要单元测试 小调查软件开发有哪些过程? 有趣的观点 不断不断不断不断制造Bug的过程 不断不断不断不断修复Bug的过程 2013-1-162013-1-162013-1-162013-1-1612121212 为什么要单元测试 制造缺陷的阶段 修复缺陷的成本 缺陷与修复成本 发现缺陷的阶段 2013-1-162013-1-162013-1-162013-1-1613131313 为什么要单元测试 有病要尽早看,不要拖! 医生提示 2013-1-162013-1-162013-1-162013-1-1614141414 为什么要单元测试 单元测试是最好的选择 2013-1-162013-1-162013-1-162013-1-1615151515 为什么要单元测试 通过单元测试尽可能早地发现缺陷,以减少维护成本 单元测试有助于加深对需求的理解,在TDD模式中尤为有效 单元测试能够让第三方快速理解接口的用法及设计思路 越高的测试覆盖率,发现潜在缺陷的几率越高 项目组其它成员,包括新加入的成员和维护人员 作为公共库的调用者 未来某个时刻的“你” 单元测试优点 2013-1-162013-1-162013-1-162013-1-1616161616 BetterBetterBetterBetter PracticesPracticesPracticesPractices forforforfor betterbetterbetterbetter productsproductsproductsproducts andandandand servicesservicesservicesservices AndroidAndroidAndroidAndroid的测试框架的测试框架的测试框架的测试框架 2013-1-162013-1-162013-1-162013-1-1617171717 Android测试框架 集成开发环境的一部分 从架构架构架构架构上帮助开发者测试应用程序各个层次的各个方面 Android测试框架提供了强大、实用的工具集 Android测试框架 2013-1-162013-1-162013-1-162013-1-1618181818 Android测试框架 Android测试套件基于JUnit 可以访问Android系统对象 Android测试框架特性 测试框架与Eclipse的ADT集成,同时为其它IDE提供命令行工具 SDK提供monkeyrunner,用Python语言测试设备的API 提供Instrumentation框架可以控制和测试应用程序 2013-1-162013-1-162013-1-162013-1-1619191919 Android测试框架 Android需要独立的项目执行测试 测试程序的包名为:应用程序包 + “.test” Android测试项目 使用InstrumentationTestRunner运行测试 尽可能地使用工具自动创建测试项目 测试项目的结构与生产项目一致 测试项目与应用程序运行在同一进程,不同线程中 2013-1-162013-1-162013-1-162013-1-1620202020 Android测试框架 Android测试项目 2013-1-162013-1-162013-1-162013-1-1621212121 Android测试框架 Instrumentation - 测试指令/装置 是在Android系统中的一系列控制方法或“hooks(钩子)” 可以独立于应用程序,控制Android组件的生命周期 可以控制Android如何加载应用程序 Instrumentation使测试项目与应用程序运行在同一进程中 2013-1-162013-1-162013-1-162013-1-1622222222 Android测试框架 测试基类 - AndroidTestCase 继承自JUnit的TestCase,不能使用Instrumentation框架 提供访问系统对象(如Context)的方法 包括子类: ApplicationTestCase - 测试整个应用程序的基类 ProviderTestCase2 - 测试单个ContentProvider的基类 ServiceTestCase - 测试单个Service的基类 2013-1-162013-1-162013-1-162013-1-1623232323 Android测试框架 测试基类 - InstrumentationTestCase 继承自JUnit的TestCase,使用Instrumentation框架,用于测试Activity 测试程序可以向程序发送事件来自动进行UI测试 包括子类: ActivityTestCase - Activity测试类的基类 SingleLaunchActivityTestCase - 测试单个Activity的类 SyncBaseInstrumentation - 测试Content Provider同步性的类 ActivityInstrumentationTestCase2 - 在正常的系统环境中测试单个 Activity的类 2013-1-162013-1-162013-1-162013-1-1624242424 Android测试框架 Instrumentation 测试基类 2013-1-162013-1-162013-1-162013-1-1625252525 BetterBetterBetterBetter PracticesPracticesPracticesPractices forforforfor betterbetterbetterbetter productsproductsproductsproducts andandandand servicesservicesservicesservices 第三方测试框架第三方测试框架第三方测试框架第三方测试框架 2013-1-162013-1-162013-1-162013-1-1626262626 第三方测试框架 Robotium - 开源 是另一种通过InstrumentationTestRunner来完成Android交互式测试 它横跨多个Activities,支持功能测试,系统测试和接收测试 支持Activities、Dialogs、Toasts、Menus、Context Menus 可以同Maven和Ant集成来完成持续集成测试 网址:code.google.com/p/robotium 2013-1-162013-1-162013-1-162013-1-1627272727 第三方测试框架 Android-Mock - 开源 是一个Mock框架,能够Mock Dalvik VM上的接口和类 基于EasyMock 2.4 在编译期生成运行时需要的Mock对象 网址:code.google.com/p/android-mock 生成.apk文件,需要模拟器运行 2013-1-162013-1-162013-1-162013-1-1628282828 第三方测试框架 Robolectric - 开源 使用了shadow objects并且运行测试于普通的工作站/服务器JVM 它并不依赖于Android提供的测试功能,无须模拟器、设备,效率高 无须dexing(编译成Dalvik VM使用的格式),打包,部署和运行的过程 网址:pivotal.github.com/robolectric 目前并不支持Android的所有特性 2013-1-162013-1-162013-1-162013-1-1629292929 第三方测试框架 LessPainful - 商业 提供了一个多设备平台自动化测试的服务 根据不同设备环境,自动执行测试并生成报告 支持HTC,LG,Samsung Galaxy,Sony Xperia、Motorola Motodefy 网址:www.lesspainful.com 2013-1-162013-1-162013-1-162013-1-1630303030 FAQFAQFAQFAQ

    注意事项

    本文(傅雪锋:Android开发的单元测试.pdf)为本站会员(西安人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开