LEAP

LEAPWORK的自动化见解和生产力提示。

所有帖子

行为驱动开发(BDD)简介

在传统的软件开发过程中,开发人员编写程序和构建功能,然后测试人员测试编写的软件。但是,企业现在以更快的速度运转,因此,软件开发需要跟上业务需求。

为了保证软件质量以这种发展节奏, 传统软件开发过程 已经转向更敏捷的方法论。其中之一是行为驱动开发(BDD)。

什么是行为驱动开发?

行为驱动开发(BDD)是一种方法 敏捷软件开发 目的是缩小团队成员之间的沟通差距。通过这种方法,鼓励软件项目中的开发人员,质量保证人员和非技术或业务分析人员之间进行协作。它鼓励团队使用对话和实际示例来增进对应用程序行为的更好的共享理解。 

BBD过程行为驱动的开发过程

 

它来自测试驱动开发(TDD),在测试驱动开发中,在代码之前编写测试,通过测试是软件开发的关键驱动力。 BDD利用TDD的一般技术和原理,同时为所有相关团队提供了共享的流程来协作进行软件开发。

通过使用一个简单的方法,可以促进此共享过程 特定领域语言(DSL) 使用正常的语言结构(如英语句子)来表达行为和预期结果。

 

行为驱动开发和测试自动化

行为驱动的开发使我们重新思考单元测试和验收测试的方法,从而避免了自然出现的问题。

应当根据所需的单元行为(即企业设定的要求)来指定单元测试。通过预先指定这些术语,我们确保开发人员不必因为需求被误解而重新访问工作。

在BBD中,单元测试名称是完整的句子,以条件动词(“应该”)开头,以业务价值的顺序编写。在功能文件的最开始,我们使用用户故事的标准敏捷框架编写验收测试:

  • 作为[角色]
  • 我想要[功能]
  • 这样[好处]

一旦功能文件被业务参与者建立并同意,我们便编写接受标准以测试该行为。功能的接受标准写为 情景 并实现为类。这允许使用正则表达式– DSL –将功能文件中的步骤映射到具体操作。方案以以下格式编写:

  • 给定[初始上下文]
  • 当[事件发生]
  • 然后[确保结果]
  • 和/但[如果有更多结果]

BBD允许轻松进行测试自动化。单元测试套件不断提供反馈,以确保每个关键组件仍在工作。单元测试是常绿的文档,因此在某种程度上, 测试套件还可以作为错误的回归安全网.

 

重要要点

  • BDD是一种协作方法,需要由客户/客户,BA,QA,测试人员,UI组成的跨职能团队&用户体验设计师和软件开发人员。
  • 这是一种由外而内的活动,这意味着已委托正在建设的软件单元的实体可确保对“所需行为”的控制。
  • 它使用特定领域的语言(DSL),每个人都可以轻松阅读和理解。
  • 测试用例清楚地阐明了我们需要我们的代码要做的事情。
  • 由于开发人员需要在开发生产代码之前完全了解所需的结果产品以及如何对其进行测试,因此它会强制进行关键的分析和设计。反过来,这减少了常见的开发人员障碍所引起的开销。

通过将BDD用作测试自动化的一种形式,公司可以简化软件开发中的活动。无论您是想避免由于不愿重构代码而造成的技术时间浪费,还是由于切换和孤岛而导致的反馈缓慢,或者由于含糊的要求而导致的返工,BDD都可以提供一种主动的软件开发方法。

BDD是一种工作方式,既适用于上面的使用单元测试的上述示例中所述的开发,也适用于QA。在此博客中,您可以阅读有关如何 LEAPWORK可用于质量检查 在选择使用行为驱动的开发方法的公司中。

下载BDD白皮书

相关文章

如何克服跨平台测试中的挑战

随着越来越多的企业在网络上或转移到网络上,很少会看到新的桌面应用程序版本。但是事实仍然存在-许多公司依靠复杂的桌面应用程序,Web应用程序和旧式系统来执行关键业务流程。

测试自动化中的AI:2021年您将遇到的4种AI

人工智能再次被视为来年的关键技术趋势。但这对测试自动化意味着什么?在这篇文章中,我们将分解关键术语并解释质量保证如何在2021年及以后的时间里从这些技术中受益。

如何使用无代码硒自动化移动Web测试

在持续的大流行中,随着实体店的关闭,网站,尤其是电子商务网站,比以往任何时候都必须更加专注于在线创建优质的客户体验。这就需要更快的测试和新的网站功能。