大话TDD,BDD,ATDD的本质

原创 2017年01月01日 01:06:29

最近在研究软件工程中最佳实践,接触了TDD(测试驱动开发),BDD(行为驱动开发), ATDD(可接受性测试驱动开发)。有一天,在路上走的时候,突然想了一下,他们之间有什么共通点呢?TDD,BDD,ATDD的本质是什么呢?



带着这个问题,咱们先看看上面这张图,我们知道在软件开发或者维护过程中,基本的主流角色有,开发,测试,客户,用户,项目经理,运维人员等。 而我们知道,在生产和开发一个软件的过程中,处处充满风险,这个时候,从宏观角度来说,做正确的事是最重要的;从微观角度来说,正确的做事也很重要。

首先来看,做正确的事是最最重要的,如果大家看过玩过或者看过传递猜词语游戏的话,应该知道,第一个人看到一个正确的词语,然后用动作表达出来,然第二个人猜意思,然后,在动作表达给第三个人。。。。。 往往到了最后,意思可能大相径庭。



那么,在软件开发的需求分析和实现阶段又何尝不是这样呢?本来客户需要的是一辆自行车,


结果却得到了一辆摩托车,



这一切的一切都是沟通惹的祸,其实就是没有做正确的被期望的事情。而BDD(行为驱动开发), ATDD(可接受性测试驱动开发)就是为了解决这个问题。我们知道,BDD或者ATDD,就是先写需求功能点描述,这种描述客户,经理,开发,测试都能看懂,既是没有写过任何代码的人都能看懂,而且是基于文本的。目的说白了,就是让开发出来的系统正是客户需要的,做正确的事情,正如上面的图所示,客户需要的是自行车,就真正开发出来自行车,而不是开发出摩托车。


而TDD(先写测试,再写实现代码,然后不停的迭代重构,循环)最要是为了给开发人员自己看的,为了让程序员对自己的程序有信心,也就是说开发写的程序是在做正确的事情。


所以,其本质都是围绕,做正确的事和正确的做事。以上只是代表个人观点,不喜勿喷!!!!!新年的第一天,关机睡了,祝大家在新的一年里心想事成!!!!!







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

BDD:源于TDD而胜于TDD

什么是BDD?    Behave Driven Development(行为驱动开发?)为什么要有BDD?     TDD其实是测试行为的     TDD的测试用例太专业,业务和需求人员...
  • kiol
  • kiol
  • 2006年12月08日 14:54
  • 4229

浅谈TDD、BDD与ATDD软件开发

这些知识之前就了解了一点,还没来得急总结,现在总结一下。 1. 首先了解一下这三个开发模式都是什么意思: TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发...

浅谈TDD、BDD与ATDD软件开发 (敏捷开发模式)

这些知识之前就了解了一点,还没来得急总结,现在总结一下。 1. 首先了解一下这三个开发模式都是什么意思: TDD:测试驱动开发(Test-Driven Development) 测试驱动开发...

TDD/ATDD

1,用正确的方法解决正确的问题.  代码质量影响缺陷率和可维护性.  传统开发模型经常产出不满足客户需求的产品(需求理解不准确或变化). 在细节层面,以TDD方式编写代码(用正确的方法做...

怎样看待活文档“ATDD”---记敏捷中国2012 open space

为什么要有一份活文档? 在现实中有太多这样的情形:新介入一个项目,老人会丢过来一堆的文档或者链接地址,并告诉你说,这些是与这个项目相关的一些文档资料,这些资料里有些内容是已经过时了的,项目有些最新的...
  • janne09
  • janne09
  • 2012年12月17日 17:46
  • 1773

如何把BDD,ATDD和TDD结合起来?

笔者最近在研究BDD,尽管在做BDD(行为驱动开发,或者ATDD,可接受性测试)的时候,不一定需要TDD(测试驱动开发),或者在做TDD(测试驱动开发)的时候也不需要BDD(为驱动开发)。但是如果项目...

基于spring下的TDD开发

好些日子没有写BLOG了,因为,看着自己的日志的质量一天比一天低,就好像一个一天天老去的女人看着自己的脸日渐老去一样难受,还不如忘却的好.在这样的心态下,前两天看到自己的BLOG在CSDN的"排行榜"...

软件测试框架——自动化测试框架(专题)

Normal 0 7.8 磅 0 2 false false false Microsof...

浅谈TDD、BDD与ATDD软件开发

原文链接地址 http://blog.csdn.net/zhenyu5211314/article/details/22033295 这些知识之前就了解了一点,还没来得急总结,现在总结一下。 1...

ATDD和TDD的区别是什么?

ATDD和TDD区别
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大话TDD,BDD,ATDD的本质
举报原因:
原因补充:

(最多只允许输入30个字)