Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cucumber 您应该以BDD方式测试,还是Gui测试?_Cucumber_Bdd_Specflow_Gui Testing - Fatal编程技术网

Cucumber 您应该以BDD方式测试,还是Gui测试?

Cucumber 您应该以BDD方式测试,还是Gui测试?,cucumber,bdd,specflow,gui-testing,Cucumber,Bdd,Specflow,Gui Testing,我试图理解您何时应该通过BDD进行测试,例如cucumber/specflow,以及何时应该直接测试您的gui 例如,测试“管理员帮助”按钮只能由管理员看到 此管理按钮位于特定页面上。我是否应该以BDD方式对其进行测试(即: 当管理员登录时 然后他看到AdminHelp按钮 或 编写一个单元测试,将当前用户设置为管理员用户,并测试模板呈现的html是否包含AdminHelp按钮 谢谢。Specflow是一个自动化工具,但它的工作级别高于Selenium或Microsoft UI automati

我试图理解您何时应该通过BDD进行测试,例如cucumber/specflow,以及何时应该直接测试您的gui

例如,测试“管理员帮助”按钮只能由管理员看到

此管理按钮位于特定页面上。我是否应该以BDD方式对其进行测试(即:

  • 当管理员登录时
  • 然后他看到AdminHelp按钮
  • 编写一个单元测试,将当前用户设置为管理员用户,并测试模板呈现的html是否包含AdminHelp按钮


    谢谢。

    Specflow是一个自动化工具,但它的工作级别高于Selenium或Microsoft UI automation。您通常会使用它来描述用户使用应用程序的场景。例如:

    Given Andy Admin is an administrator
    When he logs in
    Then he should be taken to the admin home page.
    
    Given Andy Admin is on the admin home page
    When he wants help
    Then he should be directed to the admin manual.
    
    请注意,我没有在任何地方提到“管理帮助”按钮。Andy可以很容易地向秘书寻求帮助!我们以声明的方式描述这些步骤,根据系统提供的功能。这是BDD的风格

    然后,Specflow将给定的、When和then短语映射到代码步骤。在代码中,您可以使用自动化工具实际单击按钮。但是,使用业务用于描述系统功能的相同语言更易于维护;因为这样,如果UI发生更改,您只需要更改一个步骤,而不需要更改15个场景ios


    此外,在场景中使用更高级的语言往往会让企业保持兴趣,这意味着与他们就这些场景进行对话要容易得多。对话是BDD的核心,我建议先从这里开始,然后再考虑如何做自动化部分。

    你应该这样做,因为这是美国业务发展的一部分I/UX接受标准。你可以用BDD的方式来做。你可以在不同的抽象级别上使用cucumber/specflow