测试类型分小,中,大三种。

小型测试对应单元测试,主要使用Mock和Fake测试方法,验证代码的正确性。

如果没有专门的测试环境,SET则难以执行中大型测试,适合开发伴随单元测试,高效且保证质量。

小中型测试应该实现自动化,要有测试结果;在必要的情况,或者测试环境不能执行完成的条件下,必要的提供测试钩子,显示系统测试状态,以保持信心。

Wikipedia 上的定义:
测试驱动开发 (TDD) 是一种以非常短的开发周期不断迭代的软件开发过程:首先开发者对将要实现的功能或者新的方法写一个失败的自动化测试用例,然后就去写代码来通过这个测试用例,最终通过重构代码让一其达到可接受的水准。Kent Beck, 这个技术创造者或者说重新发现者,在2003年声明TDD 鼓励简单的设计和激励信心。

TDD的原则就是不写多余的生产代码,刚好让测试通过即可。在开发中,先写失败的测试用例,在编码实现使测试通过。

虽然我们的代码并不多,但是每一步都写得很有信心,这就是TDD的好处。

用TDD的方式写程序的另一个好处,就是编码之前不需要对单个模块进行仔细的设计,可以在写测试的时候进行设计。这样开发出来的模块既可以满足用户需要,也不会冗余。

重要的是测试能够执行下去,这需要灵活的技巧。


参考链接
1.用phpunit进行TDD入门
2.单元测试:通过简单例子理解测试驱动开发(TDD)
3.[转]测试驱动开发在PHP中的应用
4.PHP之道:测试驱动开发
5.浅析 PHP 官方自动化测试方法