gpt4 book ai didi

automated-tests - 使用SpecFlow进行端到端回归测试

转载 作者:行者123 更新时间:2023-12-04 03:39:58 24 4
gpt4 key购买 nike

我们正在使用BDD并使用SpecFlow来驱动我们的开发(ATDD)。

我们的质量检查团队希望定义自己的“端到端回归测试”(使用Gherkin/SpecFlow),并重新使用我们已经定义的步骤。

(请注意-我知道这不是一个很好的例子,但应提供足够的详细信息)

测试可能包括

  • 登录
  • 搜索产品
  • 选择要购买的产品
  • 创建订单
  • 选择传递选项。
  • 提交订单。
  • 取消订单。

  • 这将暗示一个类似的情况。

    鉴于我已登录
    当我搜索产品时
    我选择要购买的产品
    我创建一个订单
    我选择送货方式
    我提交订单
    我取消订单
    然后 ??!!

    这显然是错误的,因为我们没有在每个步骤中检查输出。

    因此,这可以作为一系列场景来解决:

    方案1:
    鉴于我已登录
    当我搜索产品时
    然后我看到产品 list

    方案2:
    当我选择要购买的产品时
    然后我可以创建一个订单

    方案3:
    当我创建订单时
    我选择送货方式
    然后我可以提交订单



    这样做的主要问题是,似乎没有办法指定场景运行的顺序/顺序(nUnit的特性?)。由于场景之间存在依赖关系(未将它们设置为已知的起点),因此必须按顺序运行它们。

    我的问题是:

    a)我们是否试图在圆孔中安装方钉?

    b)有人知道是否可以通过这种方式使用SpecFlow/Gherkin吗?

    c)还是有人知道有什么替代方案吗?

    非常感谢!

    最佳答案

    我会说您在错误的抽象级别上编写方案。但是,这取决于您要使用它们的目的。

    如果您想编写测试脚本,那么您将走上正确的道路……但这将是一个噩梦,因为第一种情况(长脚本)非常脆弱,而第二种情况(几种情况)则需要确保一定的执行顺序。两者都不鼓励,被认为是反模式。

    我建议您合并正在编写的ATDD测试,并与测试部门交谈以获取他们对此事的看法,并包括他们需要确保完全测试系统所需的测试用例。谁知道?您甚至可以互相学习一些东西:P

    当您编写这些“规范”(我宁愿称其为“规范”)时,您将在更高的层次上编写它们。所以不用写:

    Given I am logged in
    When I Search for a product
    And I Select a product to buy
    And I Create an order
    And I Select delivery option
    And I Submit the order

    你写类似
    When I submit an order for product 'Canned beans'

    在该步骤后面的步骤定义中,您将执行所有自动化操作(登录,浏览至产品页面,选择交货选项,提交订单)。

    所有这些都可以在有关如何编写可维护的UI自动化测试的出色文章中进行阅读:
  • http://gojko.net/2010/04/13/how-to-implement-ui-testing-without-shooting-yourself-in-the-foot-2/
  • http://elabs.se/blog/15-you-re-cuking-it-wrong
  • http://www.marcusoft.net/2011/04/clean-up-your-stepsuse-page-objects-in.html
  • http://dhemery.com/pdf/writing_maintainable_automated_acceptance_tests.pdf
  • http://gojko.net/2010/01/05/bdd-in-net-with-cucumber-part-3-scenario-outlines-and-tabular-templates/
  • http://chrismdp.github.com/2011/09/layers-of-abstraction-writing-great-cucumber-code/
  • http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html
  • http://mislav.uniqpath.com/2010/09/cuking-it-right/

  • 我希望这有帮助

    关于automated-tests - 使用SpecFlow进行端到端回归测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489345/

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