微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

行为驱动开发(BDD)和验收测试驱动开发(ATDD)之间有什么区别?

我正在写一篇简短的论文来阐述单元测试和TDD的好处.我在最后加入了一个名为“超越TDD”的短片,其中我希望特别介绍一些基于TDD,BDD和ATDD的不同方法.

我对BDD很熟悉(我玩过SpecFlow),但在读完ATDD之后,听起来非常相似. BDD和ATDD只是基本上相同过程的两个名称 – 以“普遍存在的”语言记录行为,生成自动验收测试套件,然后继续进行验收测试?

虽然我一般同意gishu的帖子,但有几个方面我不同意.在IMHO部分,他将BDD规范作为由Rachel Davies等人开发的用户故事规范呈现:作为……我想……这样.

BDD规范是给定的…当……然后……如同

Given that the user is logged in,when the user clicks on x,then we should see Y.

这与条件,行动和期望有关,是BDD的核心.

正如gishu建议的那样,ATDD是通过使用验收测试规范来推动开发的实践,实施为可执行的验收标准. BDD形式的规范既不是必需的,也不是“最佳实践”.然而,在实践中,将思维和语言集中在如何验证工作是否令人满意并满足要求方面是有效的.

请注意,BDD并非特别基于TDD. ATDD松散地基于TDD,因为它是在开发完成之前进行的测试.除此之外,它不是关注开发人员的工作,而是关注项目的总体方向和验证. ATDD与Story Mapping很好地融合在一起,因为它在发现阶段发挥得很好,当时正在编写更高级别的要求,并且知道“我们怎么知道它何时正确完成?”很重要.

原文地址:https://www.jb51.cc/javaschema/281693.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐