测试驱动开发( 二 )


可以让开发者在开发中拥有更全面的视角 。
负面评价开发者可能只完成满足了测试的代码,而忽略了对实际需求的实现 。有实践者认为用结对编程的方式可以有效的避免这个问题 。
会放慢开发实际代码的速度,特别对于要求开发速度的原型开发造成不利 。这里需要考虑开发速度需要包含功能和品质两个方面,单纯的代码速度可能不能完全代表开发速度 。
对于GUI,资料库和Web套用而言 。构造单元测试比较困难,如果强行构造单元测试,反而给维护带来额外的工作量 。有开发者认为这个是由于设计方法,而不是开发方法造成的困难 。
使得开发更为关注用例和测试案例,而不是设计本身 。当前对于这个观点有较多的争议 。
测试驱动开发会导致单元测试的覆盖度不够,比如可能缺乏边界测试 。在实际的操作中,和非测试驱动开发一样,当代码完成以后还是需要补充单元测试,提高测试的覆盖度 。