Please enable JavaScript.
Coggle requires JavaScript to display documents.
测试驱动开发 (介绍 (目标:代码整洁可用 (它给你一个全面正确滴认识和利用代码的机会, 它改善了你的软件用户的生活, 它让软件小组成员之间相互信赖…
测试驱动开发
介绍
目标:代码整洁可用
它给你一个全面正确滴认识和利用代码的机会
它改善了你的软件用户的生活
它让软件小组成员之间相互信赖
这样的代码写起来感觉很好
它是一个可预测的开发方法
两条规则
内容
消除重复设计,优化设计结构
只有自动测试失败,我们才重构代码
技术上的含意
必须通过运行代码所提供的反馈来决定,并以此达到有机设计的目的
必须自己写测试程序,因为测试很多很频繁,不能每天把大量时间浪费在等他人写测试程序上
我们的开发环必须迅速响应哪怕是很小的变化
为使测试简单,我们的整个规划必须是由许多高内聚、低耦合的部分组成
开发阶段
不可运行,写一个不能运行的测试,甚至无法编译
可运行,尽快让这个测试程序工作,可以在程序中使用一些不合情理的方法
重构,消除在让测试程序工作过程中产生的重复设计,优化设计结构
社会意义
代码密度充分减少,QA工作可以由被动保证软件质量,转变为主动
如果开发过程中令人不快的意外能够充分减少,那么项目经理能对软件开发进度有一个精确的把握,以便让其他成员参与日常开
每次技术讨论的主题都足够明确,那么软件工程师的合作是以分钟计算的,而不是每天或每周计算
如果代码密度充分减少,我们每天都可以得到有新功能的产品,并以此招揽新的用户群
疑问
TDD和BDD的关系
TDD和开发先行测试