测试驱动开发(TDD)

在编写程序之前,先确定程序中的变量、控件等元素允许的值。若在编写程序时,变量、控件中的值与事先确定的值不相符,就说明程序的某处有bug,这种测试方法就是TDD(Test Driven Development,测试驱动开发)。TDD与OpenGL ES一样,只是一套标准或一套API。Android SDK中提供了一套测试框架(JUnit),可用于对Android应用程序进行TDD测试。测试框架的特性如下:

  • Android的测试框架基于JUnit。可在无需调用Android SDK API的情况下测试Java类,或通过JUnit扩展测试Android应用程序组件。可直接使用AndroidTestCase进行一般性的测试(测试普通的Java类),然后在逐渐深入更复杂的测试。
  • Android JUnit扩展提供了特定组件的测试案例类,这些类可很容易地创建mock对象,并可控制组件的生命周期。
  • 测试框架可像其他Android SDK API一样使用,因此,测试和建立测试并不需要掌握新的工具或技术。
  • JUnit和ADT集成在了一起,可用可视化的方法观察测试结果。
  • Android SDK还提供了monkeyrunner,一套使用Python编写的测试API,以及相应的命令行工具。Monkey可用于对应用程序进行压力测试。


1、测试Activity

JUnit测试窗口的基本原理就是在测试工程中引用被测试的工程(跨工程引用),然后在测试工程中访问被测试工程的类,并利用测试框架的API进行测试,最后运行测试工程,会在JUnit视图中显示测试结果。

案例:

被测试工程:Helloworld,其包名是"mobile.android.helloworld",其主类代码如下:

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView textview = (TextView) findViewById(R.id.textview);
        textview.setText("世界你好");
    }
}

Main.java

下面看测试窗口的具体步骤:

1、建立测试工程

时间: 2024-12-18 13:17:53

测试驱动开发(TDD)的相关文章

测试驱动开发(TDD)及测试框架Mocha.js入门学习

组里马上要转变开发模式,由传统的开发模式(Developer开发,QA测试),转变为尝试TDD(Test-driven development,测试驱动开发)的开发模型.由此将不存在QA的角色,或者仅存很少的QA用于系统模块间的集成测试. 因此代码的测试与开发都将由开发者(Developer)来保证. 这就需要借助优秀测试框架的帮助,尤其是支持TDD开发模式的自动化测试框架更为重要,因为我使用的编程是语言是Node.js,那么广泛使用的Mocha.js将成为我的首选. 在团队转型过程中,很多事情

原创翻译-测试驱动开发(TDD)

测试驱动开发原则 翻译自<<Expert Python Programming>> 测试驱动开发是指首先编写包含所有测试软件特点的测试集,然后再去开发软件.也就是说,在编写软件之前先把这个软件的测试文档写清楚.举个例子,如果有个程序员想编写一个可以计算一组数字平均值的函数,那我们先要写出这个函数是怎么用的.我们可以这样写:assert average(1, 2, 3) == 2assert average(1, -3) == -1 这些测试例子也可以由别的人来负责编写.现在,这个函

测试驱动开发-TDD

基本思想 在编写功能代码之前,先写单元测试用例,开发的目的是为了让这个测试用例通过 测试驱动开发注意事项 1.开发围绕着测试展开 2.编写的每个测试恰好能体现一种失败情况 3.编写的功能代码恰好能通过一个测试用例 附:常见的测试方法 功能测试.单元测试.系统测试和负荷测试等 原文地址:https://www.cnblogs.com/youmingDDD/p/9322722.html

推行测试驱动开发 (TDD) 有这么难吗?

推行 TDD 成效不彰,充斥着似是而非的言论:TDD 造成额外工作量,TDD 没有效益,ROI 太低-- 为何会如此?我的观察是-- "大家都把开发人员当贼看--认为只要是代码有缺陷,架构腐败,都认为是开发人员搞的,都认为是开发人员没有质量意识,千错万错都是开发人员的错." 大家试着同理心去想想,当大家都将开发人员当贼看时,我们又怎能会有一个合理的说法,去说服开发人员做 TDD?我们又怎能会有一个激情的动机,去驱动开发人员做 TDD? 另外一方面,TDD 最大的限制在于: TDD 只能

(转)浅谈测试驱动开发(TDD)

测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量.本文从开发人员使用的角度,介绍了 TDD 优势.原理.过程.原则.测试技术.Tips 等方面. 2 评论: 李群 ([email protected])www.ihere.org 背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦.国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从.最近兴起的一些软件开发过程相关

测试驱动开发与Python

最近在看一本书<Test-Driven Development with Python>,里面非常详细的介绍了如何一步一步通过测试驱动开发(TDD)的方式开发Web项目.刚好这本书中使用了我之前所了解的一些技术,Django.selenium.unittest等.所以,读下来受益匪浅. 我相信不少开发都写单元测试,不过,一般是先写功能代码,然后,再写单元测试用例,在编写单元测试用例的过程中,可能需要调整功能代码,从而使单元测试用例通过.但是TDD就特别要求先写测试用例,后写实现代码.这一开始确

从测试角度对测试驱动开发的思考【转】

测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量.本文主要从测试角度出发,从需求分解等四个阶段阐述了测试人员在测试驱动开发中所发挥的促进作用 大家都知道,软件生命周期一般分为六个阶段:制定计划.需求分析.设计.编码.测试.运行和维护.在软件工程中,这个复杂的过程用软件开发模型来描述和表示,常见的软件开发模型有:瀑布模型.螺旋模型.V模型.W模型等.而这些传统的开发模型都以开发为主,测试常常扮演的是一个亡羊补牢的配角,这类开发模型已渐渐的不能

浅谈测试驱动开发(TDD)

1. 优势 TDD的基本思路就是通过测试来推动整个开发的进行.而测试驱动开发技术并不只是单纯的测试工作. 需求向来就是软件开发过程中感觉最不好明确描述.易变的东西.这里说的需求不只是指用户的需求,还包括对代码的使用需求.很多开发人员最害怕的就是后期还要修改某个类或者函数的接口进行修改或者扩展,为什么会发生这样的事情就是因为这部分代码的使用需求没有很好的描述.测试驱动开发就是通过编写测试用例,先考虑代码的使用需求(包括功能.过程.接口等),而且这个描述是无二义的,可执行验证的. 通过编写这部分代码

TDD(测试驱动开发)学习二:创建第一个TDD程序

本节我们将学习一些测试驱动开发环境的搭建,测试驱动开发概念和流程.所涉及的内容全部会以截图的形式贴出来,如果你也感兴趣,可以一步一步的跟着来做,如果你有任何问题,可以进行留言,我也会很高兴的为你答疑. 准备工具 Visual Studio(什么版本都无所谓),NUnit 安装NUnit 从NUnit官网下载最新版本的NUnit,地址为http://www.nunit.org/index.php?p=download,下载这个msi,然后进行安装,直接下一步搞定.           在项目引用N