极限编程XP- 测试驱动开发- 20210908
2021-09-09 14:35:00 23 举报
AI智能生成
坚持一日一思维导图,加油! 近期钻研主题:敏捷 参考链接:https://www.scrumcn.com/agile/tdd.html 最后,走过路过点个小赞 👍 ,谢谢!
作者其他创作
大纲/内容
测试驱动开发
Test-Driven Development
简称TDD
在编写某个功能的代码之前先编写测试代码
只编写使测试通过的功能代码
通过测试来推动整个开发的进行
有助于
编写简洁可用和高质量的代码
加速开发过程
《测试驱动开发》
Kent Beck先生
在其极限编程(XP)方法论中
推荐“测试驱动”这一最佳实践
基本原理
基本思想
在开发功能代码之前,<br>先编写测试代码,<br>然后只编写使测试通过的功能代码,<br>从而以测试来驱动整个开发过程的进行<br>
基本过程
快速新增一个测试
运行所有的测试(有时候只需要运行一个或一部分),<br>发现新增的测试不能通过<br>
做一些小小的改动,<br>尽快地让测试程序可运行,<br>为此可以在程序中使用一些不合情理的方法<br>
运行所有的测试,并且全部通过
重构代码,以消除重复设计,优化设计结构
口号
不可运行/可运行/重构
本质和优势
测试驱动开发
不是
测试技术
是
分析技术、设计技术
组织所有开发活动的技术
优势
更符合后期开发的需求
TDD根据客户需求编写测试用例,<br>对功能的过程和接口都进行设计,<br>从使用者角度对代码进行的设计<br>通常更符合后期开发的需求<br>
因为
关注用户反馈
及时响应需求变更
从使用者角度出发的简单设计
更快地适应变化
提高系统的可扩展性和抗变性
出于易测试和测试独立性的要求,<br>将促使我们实现松耦合的设计,<br>并更多地依赖于接口而非具体的类,<br>提高系统的可扩展性和抗变性<br>
缩短设计决策的反馈循环
几秒或几分钟之内就能获得反馈
降低后续测试及修复成本,<br>提高代码质量<br>
将测试工作提到编码之前,<br>并频繁地运行所有测试,<br>可以尽量地避免和尽早地发现错误<br>
在测试的保护下
不断重构代码
消除重复设计
优化设计结构
提高代码重用性
提高软件产品质量
持续跟踪整个系统状态
回归测试
有重构的勇气
代码的改动导致系统其他部分产生任何异常,<br>测试都会立刻通知我们<br>
完整的测试
持续地跟踪整个系统的状态
需要担心会产生什么不可预知的副作用
单元测试代码就是<br>最完美的开发者文档<br>
展示了所有的API该如何使用以及是如何运作的
它们与工作代码保持同步,永远是最新的
快乐工作的<br>重要前提<br>
减轻压力
降低忧虑
提高我们对代码的信心
使我们拥有重构的勇气
快速提高开发效率
现状和前景
向敏捷转型
”Forrester的高级分析师Dave West认为,测试驱动开发(TDD)就像是“圣杯”,但是“如果能达到这个目标,付出再多的辛苦也是值得的。”
参考链接
https://www.scrumcn.com/agile/tdd.html
0 条评论
下一页