单元测试与敏捷开发
转载请保留作者信息:
作者:88250
Blog:http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:[email protected]
在要求项目要尽量快地实现的时候,质量与开发进度上会出现一定的矛盾,最突出的就是单元测试代码与逻辑实现代码。
TDD (测试驱动开发)必然没错,但是使用不当会造成开发效率的下降。在敏捷开发实践中,结合前辈经验与自己的经验,
如下几点是要关心的:
1. 为主要的、关键的逻辑组件,关键的逻辑方法进行测试驱动开发
这样对设计、设计演化很有帮助
2. 逻辑类似的组件如果存在多个,优先编写其中一种逻辑组件的测试代码
实践中可能会出现一些组件在逻辑上可能完成差不多的功能(例如类型转换帮助类),可以先只编写其中一种组件的
测试代码以节省时间
3. 发现 Bug 时一定先编写测试代码进行 Debug
在测试和调试之间众说纷纭,我的观点是应该先编写测试代码找出这个 Bug
4. 关键 Utility、Infrastucture 类型的组件请编写测试代码
不要忽视了这些帮助类、基础类的正确性和运行效率
5. 保持测试代码与逻辑代码同步
这里说的“同步”主要包括了测试方法和实现方法的同步;测试代码注释和逻辑代码注释的同步
6. 保证测试用例的独立性
让测试用例独立的可执行,尽量不要依赖其他的测试用例。这样才能让 TDD 与设计保持良好的协作
7. Mock 是必不可少的
使用 Mock 可以让接口的设计得到快速验证与反馈,也对团队的并行开发提供便利