自己做婚恋网站,合肥网站推广外包公司,outline免费服务器,慕课网网站建设目的为什么需要TDD#xff1f;
传统开发方式#xff0c;带来大量的低质量代码#xff0c;而代码质量带来的问题#xff1a; 1.在缺陷的泥潭中挣扎 开发长时间投入在缺陷的修复中#xff0c;修复完依赖测试做长时间的回归测试 2.维护困难#xff0c;开发缓慢 比如重复代码
传统开发方式带来大量的低质量代码而代码质量带来的问题 1.在缺陷的泥潭中挣扎 开发长时间投入在缺陷的修复中修复完依赖测试做长时间的回归测试 2.维护困难开发缓慢 比如重复代码不好理解的代码等特别担心改了一个地方影响另外一个地方 代码的信息来源于现场的长时间运行这一版在现场跑了一个月问题很少所以稳定
如何解决上面的问题
采用TDD和ATDD的结合
细节层面以TDD测试驱动开发的方式编写代码不断在微循环中交付功能不断小步向前同时重构代码软件特性和功能层面以ATDD形式构建系统
什么是TDD
TDD 是敏捷开发中的一项核心实践和技术也是一种设计方法论。TDD的原理是在开发功能代码之前先编写单元测试用例代码测试代码确定需要编写什么产品代码。
TDD的机理
DLP后期调试编程VS TDD测试驱动开发 DLP慢反馈导致出错代码上堆积其他改动定位bug的时间长其次有些代码已经依赖了出错代码面临推倒重来 TDD许愿、及时反馈、微循环、预期bug、开发完天然带有测试
有人说那我开发完了再去补测试行不行 如果没有强制的要求这基本上是天方夜谭都已经交付给现场了还有几个人愿意再补测试 而且你还会发现想补也补不上因为你开发的时候根本没有考虑过可测试性 那TDD是怎么样的呢因为要先写测试所以必须考虑可测试性会让我们的代码耦合度低更符合面向对象的思想因为只有这样才更好测试。 而且你在写测试的时候相当于你自己调用了一遍自己写的接口功能那好不好调用设计的如何自己心里是有数的
TDD的好处
产生的bug更少 定位bug的时间短 有节奏的开发 改善设计 活文档 勇气 内心的平静