软件开发是一个迭代进程,包含编写、测验和改进代码,直到满意需求。测验驱动开发(TDD)、行为驱动开发(BDD)和检验测验驱动开发(ATDD)是支撑该进程的三种办法。TDD、BDD和ATDD都是软件开发中用于测验和保证质量的办法。虽然它们都以进步软件开发质量为目标,但它们的办法和重视点有所不同。本文将探讨TDD、BDD和ATDD的概念以及它们之间的区别。
测验驱动开发(TDD)
测验驱动开发(TDD)是一种软件开发办法,侧重于在编写代码之前编写测验。这是一个迭代进程,包含编写测验,运行测验,然后编写通过测验的代码。TDD的目标是编写高质量、可维护的代码,这些代码可以做到既满意需求,又没有Bug。
TDD有以下三个阶段:
红:编写一个失利的测验
绿:编写代码以使测验通过
重构:重构代码以进步其质量
TDD通常用于灵敏软件开发办法论中,着重在坚持高质量的同时快速交给软件。TDD关于小的增量更改特别有用,它鼓舞开发人员在编写代码之前考虑代码的设计。
测验驱动开发(TDD)是一种软件开发进程,着重在编写实践代码之前编写自动化测验。TDD进程包含三个阶段:赤色、绿色和重构。
在赤色阶段,开发人员编写一个失利的测验,指定要完成的功用。在绿色阶段,开发人员编写最少量的代码以使测验通过。在重构阶段,开发员进步代码的质量并消除任何重复。
行为驱动开发(BDD)
TDD保证代码是可测验的,而且编写的测验满意需求。TDD有助于在开发周期的前期辨认缺陷,削减修正缺陷的成本并进步代码质量。TDD还鼓舞开发人员编写简略、模块化和可维护的代码。
行为驱动开发(BDD)是TDD的扩展,它重视体系的行为,而不是完成细节。BDD依据这样一种思维,即体系的行为应该以技术和非技术利益相关者都简单了解的方法进行描绘。
在BDD中,测验是用描绘体系行为的更自然的言语编写的。这些测验被称为“场景”,通常以“Given When Then”句子的形式编写。BDD鼓舞开发人员、测验人员和事务利益相关者之间的协作,以保证每个人都对体系的行为有一起的了解。
BDD有以下三个阶段:
1.发现:辨认描绘体系行为的场景。
2.公式化:用每个人都简单了解的自然言语写出场景。
3.自动化:运用测验结构自动化场景。
BDD常常用于灵敏软件开发办法论,其间着重团队成员之间的协作和交流。BDD鼓舞开发人员和测验人员从用户的视点考虑体系的行为,而不仅仅是技术细节。
行为驱动开发(BDD)是TDD的一个扩展,专心于软件的行为。BDD运用范畴特定言语(DSL)以人类可读的格局描绘所需的行为。BDD着重开发人员、测验人员和利益相关者之间的协作,以保证软件满意事务需求。
在BDD中,行为是依据场景来描绘的,场景描绘了用户和体系之间的交互。每个场景都由一组Given When Then过程组成。Given过程指定初始条件,When过程指定操作,然后过程指定预期结果。
BDD保证软件满意事务需求,并以预期的行为交给。BDD改善了利益相关者之间的交流,削减了误解,并保证软件具有所需的功用。
检验测验驱动开发(ATDD)
检验测验驱动开发(ATDD)是一种专心于保证满意体系需求的软件开发办法。ATDD依据这样一种思维,即应该在编写代码之前界说特性的接受规范。这样可以保证该功用契合要求并通过彻底测验。它扩展了TDD和BDD的原理,以重视体系的检验规范。
检验测验驱动开发(ATDD)是一个在编写实践代码之前指定检验规范的进程。ATDD类似于BDD,但侧重于接受规范而非行为。ATDD触及开发人员、测验人员和利益相关者之间的协作,以保证软件契合检验规范。
在ATDD中,检验规范是依据检验测验来界说的,检验测验描绘了体系的预期行为。检验测验以商业可读的格局编写,用于验证体系是否契合检验规范。
ATDD保证软件契合检验规范并提供预期功用。ATDD改进了利益相关者之间的交流,削减了误解,并保证软件满意事务需求。
在ATDD中,测验是在开发人员、测验人员和事务利益相关者之间协作编写的。测验是以从用户的视点描绘体系行为的方法编写的。这些测验被称为“检验测验”,通常以“Given When Then”句子的形式编写。
ATDD有以下三个阶段:
1.规范:界说特性的检验规范。
2.自动化:运用测验结构自动化检验测验。
3.验证:验证特性是否契合检验规范。
ATDD常常用于灵敏软件开发办法论,其间重点是交给满意事务需求的软件。ATDD鼓舞团队成员之间的协作,以保证每个人都对需求有一起的了解,而且该功用契合检验规范。