跟踪BDD时单元测试与端到端(集成本身)之间的关系

问题描述 投票:1回答:3

我的问题也与谁在典型的BDD中做什么有关。我的理解是,产品所有者提出了用户故事(Gherkin可能会或可能不会),QA编写端到端测试方案(在功能文件中),Dev编写他的代码(如何以及在何处,他是否也遵循BDD) ?)。此时,如果Dev编写了自动化单元测试,那么QA是否可以利用端到端的杠杆作用,或者它们可以完全不同?

我的问题是Dev和QA如何在遵循BDD的同时在编码方面利用彼此的工作。我不知道如何连接点。

让我们以基于JAVA的应用程序为例,QA已经使用Cucumber和Selenium Webdriver进行自动化测试。

java unit-testing cucumber bdd gherkin
3个回答
3
投票

如果您正在练习BDD,那么您将首先创建规范(定义行为),然后才实现此行为(即编写生产代码)。您在哪个级别定义行为的相关性较低,尽管在单元测试级别,大多数人会将此称为“TDD”(即使它不一定是测试驱动,因为“test”是您要编写的代码的设计)。开发人员和QA将合作定义行为并实现测试和生产代码。理想情况下,我期望在不同级别进行不同的测试,最终(最高)级别是E2E测试。我还要确保不要在每个级别上重新测试所有内容,而只是测试在该级别上有意义的内容。例如:计算值的方法应该是单元测试的,前端显示的值如何在前端测试(仍然可以是单元测试),如何从后端获取值将是一个你可能有兴趣在这里阅读更多关于BDD的信息:https://docs.cucumber.io/bdd/,在这里的任何相关博客中:https://docs.cucumber.io/community/blog-posts/或者在The Cucumber Book / The Cucumber for Java Book中。


1
投票

我正在申请一个应用BDD的项目。 BA创建故障单并记下所有方案时,会将其分配给开发人员。同时QA还创建了与该DEV票证相关的QA票证。但只有当DEV票据的代码正在审核或已经完成时,QA才会开始编写自动化测试。这是因为该功能需要可用于测试。当QA开始编码时,应该完成该票证的所有单元测试。因此,为了利用DEV和QA的工作,我们提出了一个解决方案。虽然它处于试点阶段,但尚未正式申请。质量保证需要参与单元测试审核。这意味着他/她需要查看所有单元测试并发表评论,如果他/她认为需要添加或删除更多案例。此外,QA可以在单元测试中获得测试覆盖率,并决定根据该覆盖范围编写自动化测试。在这里,质量保证需要积极参与并决定在e2e中测试什么。如果您可以与开发人员面对面讨论获得单元测试覆盖率会更容易,但我认为审查代码更客观。还有f2f,没有任何DEV愿意告诉QA他的工作是什么。但是,此解决方案需要QA工程师的更多技能。没有任何QA可以读取和理解DEV代码。

这是我们的QA团队在当前项目中给出的想法,我不知道是否有任何项目适用于此。这是一个非常好的问题。我还希望听到其他人的更多意见/想法,他们也希望利用QA和DEV的工作。


0
投票

如何在Dev和QA个体之间进行BDD / TDD对等编程,从而产生e2e测试自动化。

这可能需要

  1. E2e服务和应用程序部署自动化(一次性 - 理想情况下适用于任何工程师笔记本电脑)
  2. 用例设置 设置行为应用程序状态(更新数据存储区/数据库中的数据/数据库模式,如果功能使用密钥开关则配置文件) 决定行为输入和输出的明确定义 定义功能触发器和验证规则 实现应用逻辑 验证验证规则与实施的逻辑

我可能听起来有很多想法立即做,因此很多人都不鼓励实施e2e,我想使用正确的工具集,这个过程可以非常容易实现。

© www.soinside.com 2019 - 2024. All rights reserved.