不要再用BDD了

某公司遇到的困境

之前在某公司咨询的时候,遇到了这种场景,公司想做敏捷转型,然后自己找了很多敏捷相关的实践,这其中就包含BDD。 由于之前公司之前并没有自动化的测试,所以在讨论自动化的实施的时候,听说BDD这个敏捷实践很不错,就专门花重金找了一个测试专家搭建了一套BDD的测试框架。 然后同样又花重金请人教会了他们测试人员如何去运用这套BDD框架写自动化测试用例,甚至从外面招聘有BDD自动化经验的人。做完了所有的准备工作之后,大家对产品瞬间就有信心了,于是就开始了他们BDD之旅。

做法很简单,就是开发去做卡,做完之后就交给测试去测试,最后由测试去写BDD的测试。所有的BDD的测试都是端到端的测试,大家做了很多这种端到端的自动化测试,随着时间的推移,这种自动化越来越多,大家发现好像BDD的测试框架好像并没有像预期的那样发现很多问题,帮助他们改善质量。相反的,维护这些测试用例却花费了大量的时间。由于BDD是公司的领导层想推行的实践,大家也不好去反对。慢慢的BDD变成了一种形式,花了很多时间去写,但是却没有达到预期的效果。  

问题出在哪?

我们在尝试运用某个敏捷方法的时候,至少需要想考虑清楚两方面,第一个是这个敏捷方法的使用场景,第二个是这个敏捷方法能够带来哪些价值。

BDD的概念

基于上面所提出的问题,我们首先来看下一下BDD的概念: 

Behavior-Driven Development (BDD) is a set of software engineering practices designed to help teams build and deliver more valuable, higher quality software faster. It draws on Agile and lean practices including, in particular, Test-Driven Development (TDD) and Domain-Driven Design (DDD). But most importantly, BDD provides a common language based on simple, structured sentences expressed in English (or in the native language of the stakeholders) that facilitate communication between project team members and business stakeholders.

从这中间我们可以提炼出一下几个关键点:1)行为驱动开发是一个软件工程的实践,能够帮助团队快速构建和交付更多价值和质量的软件产品。   2)BDD提供了一种通用的,简单的,结构化的描述语言,能够很方便让项目成员和业务干系人非常顺畅的沟通需求。

从中我们可以看到BDD的价值在于能够沟通与协作,能够把利益关系人、交付团队等不同方面的项目相关人员集中到一起,形成共同的理解,共同的价值观以及共同的期望值。这个是BDD的价值所在。

BDD到底应该怎样解读

那接下来我们来分析下BDD到底适合什么样的场景呢? 我们可以从他的价值来进行分析,如果利益关系人沟通完全没有障碍,那根本不需要运用BDD,这很容易理解,比如简单的一次性的项目,或者业务比较轻量,重在技术方面的项目,大可不必运用BDD,因为在这种项目下,项目关系人对整个项目也不会存在理解上的问题。相反的,业务复杂、团队成员较多的项目,沟通成本高,BDD有可能就很有必要。

还有一个误区,上面的例子也提到了,把BDD当成仅仅是测试相关的。其实BDD并只是关于测试,它是一个敏捷方法,是一种协作方式,更多的BDD应该关注的是业务也不是技术。我们可以用以下的图来表示


另外一个很大的误区在上面例子中也有所体现,在实施的时候他们仅仅只是把BDD定义为端到端的自动化测试,这个是完全不对的,BDD的自动化可以是端到端的自动化,可以是API测试,可以是单元测试,甚至可以是他们的结合体,比如在BDD的设计中,用API去创建数据,然后再写端到端的测试。

其实对于敏捷来说,不管我们运用哪些时间,BDD?TDD?Code Review? 还是别的,我们需要基于这些具体的实践,去分析这些实践能给我们带来哪些价值。不能盲目的用。

如果通过分析发现BDD对于项目没有价值,那么勇敢的提出来,“不要再用BDD了” 。

具体BDD应该怎样正确的去做,我在以后的简书里面会提到,这里就不再累赘了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 上大学谈了一段感情,快4年的时光,最后却已他的失踪而结束。那时的我很沮丧,很无助,一个相处这么久的人怎么可能一...
    安娜shining阅读 349评论 4 1
  • 家中有小娃,可别小看他。 多动又好奇,什么都探察。 小手爱抠洞,易把手指卡。 脚丫不停闲,遇水就踩踏。 掉进下水道...
    墨趣356阅读 263评论 15 17
  • 随遇而安,三年之前的我喜欢这个词。每个人的价值观都不是完全一样的,我最终选择文科就是内心里有一丝对一板一眼抵触。相...
    君小卜阅读 867评论 5 4