TDD(Test Driven Development)—测试驱动开发模式

 相互独立的测试
(1) 测试都是不依赖顺序的。如果想从这些测试中挑选一部分来测试来运行是可行的。
(2) 把问题分解成一些彼此正交的小问题。使每个测试环境更加简单和快捷。

测试优先
应该什么时候编写测试?在要编写代码之前,先编写这个代码的测试。
测试在前可以减少工作压力,如果测试写在后面,当我们知道自己的测试不够时,会增加我们的工作压力,越是不想测试。

断言优先
断言技术优先测试。什么事正确的结果,怎么去检查结果的正确性。

测试数据

在测试优先中使用什么样的数据。编排数据必须取不同的值,且必须有意义。如果1和2之间没有概念上的差别,那就使用1。
测试数据千万不要用同一个常量来表达多种意思。
尽量使用真实的数据。

显示数据

如何表达数据的意图?让测试自身包含预期的和实际的结果。并且努力使它们之间的关系明显化。
不要在预期结果中使用魔数,尽量使用符号常量或者表达式。
比如测试一个加发方法
assertEquals(2+3,result); 不要写成assertEquals(5,result);

子测试

当测试用例太大时,需要分解,对一个问题做两个不完整测试,同时做子测试。这样可能会犯错误,两个子测试和原来的测试不一样。
需要做出反应。

模拟对象(Mock Object)
如果测试依赖昂贵并且复杂的资源对象,,我们可以创建这些资源的模拟版本。
模拟对象增加可靠性和性能和可读性。如果模拟对象不可靠怎么办?可以通过对实际对象适用的一系列测试来测试模拟对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值