gpt4 book ai didi

testing - 关于编写场景(功能测试)的主要想法?

转载 作者:行者123 更新时间:2023-11-28 20:36:04 31 4
gpt4 key购买 nike

你好,

我一直在思考描述特征的实质(Gherkin语法),找不到最佳答案。

同一场景的两个例子:

Scenario: Creation of a new task
Given I see the button for the creation of a new task
When I click the button in order to create a new task
Then I see the task editor

Scenario: Creation of a new task
Given I see the button "Create task"
When I click the button "Create task"
Then I see page "Task editor" has been opened

我看到了主要区别:

  1. 第一个变体是接口(interface)无关的。但是,您必须使用选择器或类似工具来找到确切的元素,然后您可以更改界面中的所有内容,并且这些测试不会失败(作为第二个变体)。

  2. 第一个变体不是声明性的。通常,您不能将其重新用于描述任何其他接口(interface)行为。

  3. 就我的口味而言,第二种变体更容易理解场景中发生的事情。

我认为,第二种变体更加灵活,可以让您更快地编写场景,但同时也存在问题:

  • 您必须在场景中包含接口(interface)数据。这不是一个好习惯。但通过这种(灵 active ),您可以描述任何要测试的内容(例如,作为可见数据),因此此类测试更加准确,并提供更高的质量。

  • 任何时候当您更改接口(interface)时,您都需要修复测试。

那么,你能说说,你是怎么想的吗?

我认为灵 active 、速度、质量和可读性(第二个变体)比第一个变体(除了可读性和“稳定性”什么都没有?)好得多,但我不确定。是的,你在场景中放置了一些数据,但你几乎从不更改它们,即使你会更改它,它也可能在秒/分钟内修复。

您在项目中使用什么,为什么?

而且,主要问题是,哪种变体更好?

请说出你的想法。

最佳答案

在我们目前的公司(数十项服务,企业级,用 BDD 编写),我们从第一个变体开始。

Scenario: Creation of a new task
Given I see the button for the creation of a new task
When I click the button in order to create a new task
Then I see the task editor

我们认为它更面向业务,更具描述性和更清晰。

但是几个月后现实生活告诉我们第二个版本更加灵活,使用这个版本问题更少。

最后我们将所有场景重写为第二个版本

Scenario: Creation of a new task
Given I see the button "Create task"
When I click the button "Create task"
Then I see page "Task editor" has been opened

到目前为止,我们很高兴使用它。

总结:基于使用这两个版本几个月的时间,以团队编写,使用 BDD 风格(首先测试)企业软件:第二个版本获胜。即使使用 BDD 理论,第一个版本可能看起来更好。

关于testing - 关于编写场景(功能测试)的主要想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54070614/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com