Gherkin 语言如何弥合客户与开发者之间的差距

Gherkin 语法帮助您思考与技术交易的过程,然后帮助您以一种可以转化为程序员逻辑的形式将其写下来。
1 位读者喜欢这篇文章。
Practicing empathy

Melissa Hogan,CC BY-SA 4.0,通过 Wikimedia Commons

与软件开发者沟通通常可能是一项繁重的任务,特别是当人们缺乏技术知识和技术词汇时。这就是为什么项目经理经常使用 用户故事 和通用的系统隐喻

您可以通过利用旨在促进项目干系人与开发者之间讨论的技术来进一步协助沟通。

Cucumber 框架

Cucumber 是一个开源框架,它可以使用易于编写和通用的语言来创建自动化软件测试。 它基于 行为驱动开发 (BDD) 的概念,该概念规定创建软件应定义用户希望应用程序在特定条件为真时的行为方式。

Cucumber 框架不是现代意义上的“技术”。它不是位和字节的集合。相反,它是一种用自然语言(本文中使用英语,但到目前为止,Gherkin 已被翻译成 70 多种语言)编写的方式。当使用 Cucumber 框架时,您无需知道如何阅读或编写代码。您只需要能够写下您对工作方式的想法。您还应该使用一组特定的术语和指南来记录您希望技术如何为您工作。

什么是 Gherkin 语言?

Cucumber 使用 Gherkin 作为定义用例的一种方式。它主要用于生成明确的项目需求 换句话说,它的目的是允许用户精确地描述他们要求软件做什么,不留任何解释或例外的余地。它可以帮助您思考与技术交易的过程,然后帮助您以一种可以转化为程序员逻辑的形式将其写下来。

这是一个示例

Feature: The Current Account Holder withdraws money
Scenario: The account in question is not lacking in funds
Given that the account balance is £200
And the debit card is valid
And the cash machine contains enough money
When the Current Account Holder requests £50
Then the cash machine dispenses £50
And the account balance is £150
And the debit card is returned

正如您所见,这是一个高度具体的场景,其中一位假想用户请求 50 英镑,ATM 机提供 50 英镑并相应地调整用户的帐户余额。此场景只是 ATM 机用途的一部分,它仅代表一个人与自动取款机交互的特定组成部分。当程序员被赋予编程机器以响应用户请求的任务时,这清楚地表明了涉及哪些因素。

什么是 Gherkin 关键字?

Gherkin 语法使用了五个必不可少的语句来描述执行任务所需的动作

  • Feature:表示对任何给定软件功能的高级描述

  • Scenario:描述一个具体的示例

  • Given:解释系统的初始上下文

  • When:指定事件或动作

  • Then:描述预期的结果或结果

  • And(或 but):增加文本流畅性

通过使用这些简单的关键字,客户、分析师、测试人员和软件程序员可以相互交流,使用的术语是所有人都能识别的。

可执行的需求和自动化测试

更棒的是,Gherkin 需求也是可执行的。 这是通过将每个关键字映射到其预期的(和明确声明的)功能来完成的。因此,为了与上面的示例保持一致,任何已实现的内容都可以自动以绿色显示

When the Current Account Holder requests £50*
Then the cash machine dispenses £50*
And the account balance is £150
And the debit card is returned

通过扩展,Gherkin 使开发者能够将需求转化为可测试的代码。在实践中,您可以使用特定的短语来检查您的软件解决方案!如果您的当前代码无法正常工作,或者新的更改意外地导致了一个或两个软件错误,那么您可以轻松地在修复问题之前查明问题。

结论

感谢 Gherkin 语法,您的客户将不再陷入困境。您可以弥合企业和开发者之间的鸿沟,并以比以往更大的信心交付出色的产品。

访问 Cucumber 网站 或其 Git 存储库,了解有关 Gherkin 的更多信息。

标签
David Blackwood, Tech Reporter at Software Planet Group
自从获得新闻学学士学位以来,我一直在 Software Planet Group 担任技术传播者,帮助非技术业务干系人掌握最新的 IT 趋势。我热衷于创新和技术,并撰写有关软件开发和设计的引人入胜的文章。SPG 技术记者 (https://softwareplanetgroup.co.uk)

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.