我需要写一些所谓的“技术小黄瓜”,这意味着使用小黄瓜关键字和结构必须从“什么”方面来编写场景(例如:当用户保存记录时,记录就会更新)但详细说明了“如何”(例如:当用户单击“保存”按钮时,记录将被更新并显示在列表中)。我真的没有找到任何有关如何正确执行此操作的文档。有没有人有这方面的经验?
是这样的。请注意大写的行 - 使用第二个版本是个好习惯吗?特别是因为它里面有一个 OR 运算符。任何意见都将受到赞赏。
版本1:
假设用户位于“用户组”面板上
并选择一个用户组
当用户点击“编辑用户组”按钮时
然后出现“用户组编辑”窗口
用户修改“权限”部分中的任何内容
然后单击“保存”按钮
然后会显示一条确认消息
并且User组的权限也更新了
版本2:
假设用户位于“用户组”面板上
并选择一个用户组
当用户点击“编辑用户组”按钮时
然后出现“用户组编辑”窗口
用户单击“权限”部分中的任何复选框或 修改用户列表中的用户
然后单击“保存”按钮
然后会显示一条确认消息
并且User组的权限也更新了
您的“技术小黄瓜”不易于维护。它会在你的结果测试套件中产生很多重复的块。因此,随着项目的发展,您将花费大量时间来更新测试。
使用 OR 不是一种可接受的方法。这是一种称为“条件测试逻辑”的测试气味。
如果您确实关心这两个条件,您应该使用场景大纲
Scenario outline:
...
AND user performs an <action>
...
Examples: Actions
| action |
| CLICK ANY CHECKBOX IN THE "PERMISSION" SECTION |
| MODIFY THE USERS IN THE USER LIST |
如果您不在乎,请使用示例中的第一条语句。