软件开发者面试百问-----解释一下什么是测试驱动开发,举出极限编程中的一些原则
2009-04-14 23:05
706 查看
测试驱动开发(Test Driven Development)就是开发代码之前先编写好测试驱动,
然后完成满足编写好的测试用例的代码。
极限编程的十二大原则:
1.计划的制定:包括客户选择的项目大小、程序功能的优先级、各个版本的合成和发布日期
2.小版本:用最少的代码工作量带来最大的业务价值。
3.简单设计:通过所有测试,没有重复和费解的逻辑代码,简单的设计能保证代码的简单
4.测试:一个功能存在的前提是有一个测试能够验证它,任何有被破坏的可能的代码就必须有一个对应的测试。
5.持续整合:大量减少在整合中耗费的时间,减少团队开发问题
6.重构:确保加入新功能后代码仍保持简单,从而保证简单的代码仍然能够运行所有的测试
7.配对编程:提供持续的信息反馈和确保正在编程的人进行重构、测试和遵守编码标准,实现代码共享目的。
8.代码共享:在通过测试的前提下,任何一个人都能够对系统做出修改
9.每周只工作40小时:充分利用你的时间,一个星期工作40小时已经足够了
10.现场客户:讨论,使用程序员和客户都能够的语言描述功能
11.隐喻:普通语言和术语的集合,用来预见项目中的功能
12.编码标准:遵守编码标准,让其它程序员明白代码,减少不必要的沟通
然后完成满足编写好的测试用例的代码。
极限编程的十二大原则:
1.计划的制定:包括客户选择的项目大小、程序功能的优先级、各个版本的合成和发布日期
2.小版本:用最少的代码工作量带来最大的业务价值。
3.简单设计:通过所有测试,没有重复和费解的逻辑代码,简单的设计能保证代码的简单
4.测试:一个功能存在的前提是有一个测试能够验证它,任何有被破坏的可能的代码就必须有一个对应的测试。
5.持续整合:大量减少在整合中耗费的时间,减少团队开发问题
6.重构:确保加入新功能后代码仍保持简单,从而保证简单的代码仍然能够运行所有的测试
7.配对编程:提供持续的信息反馈和确保正在编程的人进行重构、测试和遵守编码标准,实现代码共享目的。
8.代码共享:在通过测试的前提下,任何一个人都能够对系统做出修改
9.每周只工作40小时:充分利用你的时间,一个星期工作40小时已经足够了
10.现场客户:讨论,使用程序员和客户都能够的语言描述功能
11.隐喻:普通语言和术语的集合,用来预见项目中的功能
12.编码标准:遵守编码标准,让其它程序员明白代码,减少不必要的沟通
相关文章推荐
- 软件开发者面试百问-----什么是低耦合和高聚合?封装原则又是什么意思?
- 软件开发者面试百问-----你知道设计模式吗?你用过哪些设计模式?在什么场合下用的?
- 软件开发者面试百问-----描述一下实现一段代码的过程,从需求到最终交付
- 软件开发者面试百问-----看别人代码的时候,你最关心什么地方?
- 软件开发者面试百问-----举出一个你所用过的递归的例子。
- 软件开发者面试百问-----不管是书、杂志还是网络,你从中所学到的最后一点算法知识是什么?
- 软件开发者面试百问-----是否了解什么是无状态的业务层?长事务如何与之相适应?
- 软件开发者面试百问-----你在代码里面怎么提前处理需求的变化?给一些例子。
- 软件开发者面试百问-----在N层架构中都有哪些层?它们各自的职责是什么?
- 软件开发测试过程的一些缩写和解释
- 软件开发者面试百问-----用堆或者栈存储数据的区别是什么?
- 软件开发者面试百问-----队列和堆栈区别是什么?
- 软件开发者面试百问-----你愿意用什么类型的语言来编写复杂的算法?
- 一些IT公司面试问题及经验(软件开发岗或软件测试岗)
- 软件开发者面试百问
- 开发者面试百问-软件项目管理部分答案
- 【软件测试开发工程师】阿里巴巴集团面试经历,一面&二面
- 模型驱动与测试驱动相结合的软件开发过程(2010-09-21)
- “测试驱动的软件开发”,与测试无关
- 软件开发者面试百问