You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确编写技术Gherkin语句?版本2是否符合最佳实践?

技术Gherkin编写规范与场景优化建议

一、技术Gherkin的编写思路

技术Gherkin核心是将业务场景拆解为可落地执行的操作细节,区别于业务层Gherkin聚焦“做什么”,它更侧重“怎么做”,目的是让步骤能直接对应自动化测试的执行逻辑,或是手动测试的具体操作流程。编写时需遵循几个关键原则:

  • 步骤要具备可操作性:每个When/Then步骤都要明确到具体交互动作(比如写“点击保存按钮”而非“保存记录”)
  • 拒绝模糊表述:避免“修改任意内容”这类边界不清的描述,要明确操作对象和动作
  • 平衡原子性与简洁性:既不要把单一操作拆得过碎,也不要把多个独立操作合并成模糊的复合步骤

二、关于场景版本的最佳实践建议

版本2中使用OR运算符的做法不符合Gherkin最佳实践,原因如下:

  • Gherkin的每个场景应该对应单一明确的测试路径,OR会引入分支逻辑,让一个场景变成多个测试用例的集合,不利于测试执行的精准性和结果排查
  • 正确的处理方式是把OR覆盖的两种操作拆分为两个独立场景,或是用Background/场景大纲复用公共步骤

优化方案1:拆分为独立场景

# 场景1:修改权限复选框后保存更新
Given 用户处于"User groups"面板
And 已选中一个用户组
When 用户点击"Editing of user group"按钮
And "User group edit"窗口弹出
And 用户勾选/取消勾选"PERMISSION"区域的任意复选框
And 点击"Save"按钮
Then 显示确认消息
And 用户组权限已更新

# 场景2:修改用户列表后保存更新
Given 用户处于"User groups"面板
And 已选中一个用户组
When 用户点击"Editing of user group"按钮
And "User group edit"窗口弹出
And 用户修改用户列表中的成员(添加/移除用户)
And 点击"Save"按钮
Then 显示确认消息
And 用户组权限已更新

优化方案2:用Background复用公共步骤

Background: 进入用户组编辑页面
  Given 用户处于"User groups"面板
  And 已选中一个用户组
  When 用户点击"Editing of user group"按钮
  And "User group edit"窗口弹出

Scenario: 修改权限复选框后保存更新
  When 用户勾选/取消勾选"PERMISSION"区域的任意复选框
  And 点击"Save"按钮
  Then 显示确认消息
  And 用户组权限已更新

Scenario: 修改用户列表后保存更新
  When 用户修改用户列表中的成员(添加/移除用户)
  And 点击"Save"按钮
  Then 显示确认消息
  And 用户组权限已更新

内容的提问来源于stack exchange,提问作者eilenart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:57:32