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

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等。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/295071.html

(0)
上一篇 2023年2月28日 06:37
下一篇 2023年2月28日 06:37

相关推荐

发表回复

登录后才能评论