1、行为驱动开发(BDD)

行为驱动开发 (BDD) 是一种开发技术,它更侧重于软件应用程序的行为。主要是它创建一个可执行规范,该规范由于相应的功能不存在而失败,然后编写可以使规范通过的最简单的代码,结果我们在系统中实现了所需的行为。实际上,这是一种团队方法,开发人员,客户,QA都参与其中。

BDD的流程:

  • 编写应用程序的行为
  • 编写自动化脚本
  • 然后实现功能代码
  • 检查行为是否成功,如果不成功,则修复它
  • 组织代码(可选)
  • 对其他行为重复上述步骤

2、测试驱动开发(TDD)

测试驱动开发(TDD)是一种开发技术,它更侧重于软件应用程序/产品功能的实现。主要是指编写一个失败的测试用例,因为指定的功能不存在,然后更新可以使测试用例通过的代码,结果我们在系统中实现了该功能。实际上,这是一种开发人员参与其中的开发实践。

TDD的流程:

  • 添加测试用例
  • 运行测试用例并观察测试失败
  • 更新代码
  • 再次运行测试用例
  • 重构代码(可选)
  • 对另一个测试用例重复这些步骤

BDD与TDD的区别:

编号 行为驱动开发 测试驱动开发
1 行为驱动开发是一种开发技术,它更侧重于软件应用程序的行为。 测试驱动开发是一种开发技术,它更侧重于软件应用程序/产品功能的实现。
2 在BDD中,参与者是开发人员,客户,QA。 在TDD中,参与者是开发人员。
3 主要是它创建一个可执行规范,该规范由于相应的功能不存在而失败,然后编写可以使规范通过的最简单的代码,结果在系统中实现了所需的行为。 主要是指编写一个失败的测试用例,因为指定的功能不存在,然后更新可以使测试用例通过的代码,结果在系统中实现了该功能。
4 它的主要重点是系统要求。 它的主要重点是单元测试。
5 在BDD中,起点是一个场景。 在TDD中,起点是一个测试用例。
6 这是一种团队方法论。 这是一种发展实践。
7 这里用于编写行为/场景的语言是简单的英语。 这里使用的语言类似于用于功能开发的语言,如编程语言。
8 在BDD中,所有利益相关者之间都需要协作。 在TDD中,只有在开发人员之间才需要协作。
9 对于由用户行为驱动的项目开发来说,这是一个很好的方法。 对于涉及 API 和第三方工具的项目来说,这是一个很好的方法。
10 使用的一些工具是Cucumber,Dave,JBehave,Spec Flow,Concordian,BeanSpec等。 使用的一些工具是JBehave,JDave,Cucumber,Spec Flow,BeanSpec,FitNesse等。

行为驱动开发和测试驱动开发的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:行为驱动开发和测试驱动开发的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-bdd-vs-tdd-in-software-engineering.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。

相关主题

随机