TDD、ATDD、BDD的区别

1. TDD:测试驱动开发(Test Driven Development)

        测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论,TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

        是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。

2. BDD:行为驱动开发(Behavior Driven Development)

        也就是行为驱动开发。这里的B并非指的是Business,实际上BDD可以看作是对TDD的一种补充,让开发、测试、BA以及客户都能在这个基础上达成一致,JBehave之类的BDD框架。

        是测试驱动开发的延伸,开发使用简单的,特定于领域的脚本语言。这些DSL将结构化自然语言语句转换为可执行测试。结果是与给定功能的验收标准以及用于验证该功能的测试之间的关系更密切。因此,它一般是测试驱动开发(TDD)测试的自然延伸

3. ATDD:验收驱动开发(Acceptance Test Driven Development)

        在包含客户在内的一个组织的活动,通过引入用户故事帮组开发人员在提高软件质量的同事,也帮组开发人员开发出真正符合用户需求的软件。

4. DDD:领域驱动开发(Domain Driven Development)

        DDD指的是Domain Drive Design,也就是领域驱动开发,DDD实际上也是建立在这个基础之上,因为它关注的是Service层的设计,着重于业务的实现,将分析和设计结合起来,不再使他们处于分裂的状态,这对于我们正确完整的实现客户的需求,以及建立一个具有业务伸缩性的模型。

        主要利用业务领域分解中各个子领域,并在子领域上建立模型,然后构建成符合当前领域的模型

你可能感兴趣的:(TDD、ATDD、BDD的区别)