超越梦想,一起飞!!!

宁静致远,淡泊明志!

大话TDD,BDD,ATDD的本质

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



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

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



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


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



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


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


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







阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chancein007/article/details/53959603
文章标签: TDD BDD ATDD java 大话
个人分类: 编程实践
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

大话TDD,BDD,ATDD的本质

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭