先测试设计,后进行开发,这样的流程是什么原因?有哪些好处和坏处?

先测试设计,后进行开发,这样的流程是什么原因?有哪些好处和坏处?这样的流程是否正确?

阅读 2.5k
2 个回答

你应该在说Test Driven Development(TDD)吧。
原因?因为用这种流程的人觉得它有用啊。
好处坏处是个见仁见智的问题,如果你认真想知道,可以多查查资料,并亲身体会后自己判断。
是否正确更无从说起。这只是一种流程而已。就如同PHP和python是两种语言,能说其中的某个是正确还是不正确么?

作为TDD的采用者,我看到的好处和坏处。
好处:

  1. 一开始就从被使用的角度思考,避免开发了半天最终发现根本就不需要的情况

  2. 首先写出测试,便于接口各方尽早达成共识,并在开发过程中保持

  3. 先写测试并且执行验证,这时测试必然是失败的。然后在修改了实现代码后再次验证测试成功。这样既验证了实现的行为按照预期改变,也验证了测试确实反映出了系统的行为变化。

  4. 有利于把待解决问题具体化,并进行分解。避免分析麻痹。

  5. 保证开发中每时每刻代码都是可验证的。

坏处:

  1. 如果确信目前写的代码不需要很高质量,TDD有可能过分严格导致增加工作量。

  2. 虽然写出的测试可以看见,但是TDD本身是难以度量和考核的。导致领导很难把握。如果不是开发人员自己主动采用,而是由上而下的规定,一般都是变为虚有其表的形式主义。

这个想法很好,开发的过程经常遇到不合理的地方,这时候改只是口头,忽略修改设计稿,到最后口头的约定已经忘了,开发出来的东西和设计原型偏离了很远。如果先测试设计,再开发,可能会避免掉很大的不便。
可设计,原型,怎么测呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题