clean code that works,测试驱动开发所追求的目标
1、在你写任何代码之前,先写一个会失败的自动测试程序
2、消除重复设计,优化设计结构
测试驱动开发的流程:
1、写一个小的测试
2、运行所有测试,运行失败
3、适当修改
4、运行测试且成功
5、重构,消除重复设计,优化设计结构
我觉得测试驱动开发的实质,根本就不是为了保证质量的,他有点像是一边写,一边测的概念;不是那种一开始确定好所有的需求,就把所有的测试用例写完的那种;
*是要写哪部分,就先写哪部分功能的用例;
*而且用例的目的就不是为了测试bug,有点像是对功能的说明文档,确认他完成的功能是什么。他还讲究性价比,测试代码应该尽可能的短小精悍。
*而且他有个很高的要求,是要求开发要不断的重构代码,来让代码清晰,让测试更精悍!
*测试是测试驱动开发的副产品,不能取代性能测试,兼容性测试等
另外提到的一个很有意思的关于测试覆盖的论点是:“我们不是通过增加测试覆盖,使其覆盖输入的所有排列组合情况(更确切的说是一个有效地所有可能排列的简化),而是让代码缩减,从而使用相同的测试就能覆盖到各种排列组合情况”
相关链接:
测试驱动开发的读书笔记(一):http://www.cnblogs.com/xwj-pandababy/articles/2128880.html
测试驱动开发的读书笔记(二):http://www.cnblogs.com/xwj-pandababy/articles/2130958.html
测试驱动开发的读书笔记(三):http://www.cnblogs.com/xwj-pandababy/articles/2133841.html
测试驱动开发的读书笔记(四):http://www.cnblogs.com/xwj-pandababy/articles/2133929.html
测试驱动开发的读书笔记(五):http://www.cnblogs.com/xwj-pandababy/articles/2134644.html