测试驱动开发-TDD(1)

5 篇文章 0 订阅

测试:作为动词,它是评估的意思;作为名词,它是导致最终是接受还是不接受的过程。

测试是相互独立的。

测试列表,就跟你生活中记录你的工作计划一样。

测试优先:你应该在什么时候编写测试呢?在你编写要被测试的代码之前。

断言优先:我们什么时候写断言呢?在一开始就写断言。

什么时候开始构建一个系统?从对最终系统的描述开始。

什么时候开始编写一项功能?从希望最终代码通过的测试开始。

什么时候开始编写一个测试?从测试完成时需要通过的断言开始。

测试数据:一个是编排数据,一个是真实数据。

如何表达数据的意图?让测试自身包含预期和实际的结果,并且努力使他们的关系明显化。

尽量不要使用魔数!

什么是魔数?在代码中出现但没有解释的数字常量或者字符串。

一步测试:你将从测试列表中选择编写哪一个测试呢?选择那个具有指导意义而且你有把握实现的测试。

启动测试:我们应该从哪个测试开始呢?从测试某个实质上不做任何工作的操作开始。输出应当跟输入一样;输入应该尽可能的少。

说明测试:如何拓展自动测试呢?利用测试来请求及提供说明解释。

学习测试:你什么时候开始为外部软件编写测试呢?在你第一次准备使用这个包中的某一项新功能的时候。

要学会使用setUp()...test***()... tearDown()...

回归测试:当一个错误被发现时,你最想做的第一件事是什么呢?写一个尽可能小的会失败的测试,一旦运行,就对其加以修缮。什么是回归测试?指修改了旧代码以后,重新进行测试,以确认修改没有引入新的错误或导致其他代码的错误。

重新开始:当你迷茫了,迷失方向了怎么办?扔掉原来的代码,重新开始。

测试模式:

子测试(如果一个函数D包含了3个子函数模块A,B,C,那么就先测试A,B,C,再最后测试D),

模拟对象(比如如何模拟一个数据库),

自分流(没看懂),

日志字符串(JUNIT原理),

清扫测试死角(对异常测试),

不完整测试(中断工作接着恢复的法宝,使测试不完整,它能帮你恢复到离开时的那段记忆)

提交前保证你的所有测试运行通过(测试套件比测试用例更具有意义;未通过的测试强烈表明你对刚刚编码的东西没有充分的了解)

测试驱动的编程是 XP 困扰程序员的一个方面。对于测试驱动的编程意味着什么以及如何去做,大多数人都做出了不正确的假设。这个月,XP 方面的讲师兼 Java 开发人员 Roy Miller 谈论了测试驱动的编程是什么,它为什么可以使程序员的生产力和质量发生巨大变化,以及编写测试的原理。请在与本文相随的 论坛中提出您就本文的想法,以飨笔者和其他读者。(您也可以单击本文顶部或底部的“讨论”来访问该论坛。) 最近 50 年来,测试一直被视为项目结束时要做的事。当然,可以在项目进行之中结合测试测试通常并不是在 所有编码工作结束后才开始,而是一般在稍后阶段进行测试。然而,XP 的提倡者建议完全逆转这个模型。作为一名程序员,应该在编写代码 之前编写测试,然后只编写足以让测试通过的代码即可。这样做将有助于使您的系统尽可能的简单。 先编写测试 XP 涉及两种测试: 程序员测试和 客户测试测试驱动的编程(也称为 测试为先编程)最常指第一种测试,至少我使用这个术语时是这样。测试驱动的编程是让 程序员测试(即单元测试 ― 重申一下,只是换用一个术语)决定您所编写的代码。这意味着您必须在编写代码之前进行测试测试指出您 需要编写的代码,从而也 决定了您要编写的代码。您只需编写足够通过测试的代码即可 ― 不用多,也不用少。XP 规则很简单:如果不进行程序员测试,则您不知道要编写什么代码,所以您不会去编写任何代码。 测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量。本文从开发人员使用的角度,介绍了 TDD 优势、原理、过程、原则、测试技术、Tips 等方面。 背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。其中比较基础、关键的一个技术就是测试驱动开发(Test-Driven Development)。虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用。下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解、掌握、应用这种技术。下面分优势,原理,过程,原则,测试技术,Tips等方面进行讨论。 1. 优势 TDD的基本思路就是通过测试来推动整个开发的进行。而测试驱动开发技术并不只是单纯的测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值