问题标签 [atdd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tdd - IdentityServer4第一次验收测试
我正在开始一个新项目,以使用 TDD 之后的 IdentityServer4 创建身份验证 api。许多微服务和网站将使用它来验证用户。但我无法弄清楚该项目的前 3 个验收测试。任何帮助将不胜感激。
注:我最近读过goos
bdd - 我的验收测试示例应该有多具体?
我是 Gherkin / ATDD / BDD 的新手。我正在起草以下验收测试:
这是否足够具体,或者我应该修改 Given 子句以表示更具体的示例(以SBE术语思考),例如通过引用特定角色而不只是“用户”或引用正在进行的确切“操作”(例如:获取客户列表)?
谢谢,托尼
testing - ATDD、Gherkin、Specflow 方法、黑盒测试问题
我正在尝试获得一些使用 ATDD 进行外部开发的经验,现在我遇到了第一个障碍。
该应用程序是一个简单的桌面应用程序 (wpf),它应该能够在文件系统中搜索重复项。
我要实现的第一个功能是自定义应该搜索的目录。但我不知道我应该如何端到端地测试该功能。
用 2 个文件(重复)创建一个测试目录,然后在用户界面上选择该目录,然后开始搜索并验证结果是 2 个创建的文件,这会是一种很好的自动化方法吗?
我将测试更多,而不仅仅是指定搜索目录的功能。
功能:自定义搜索目录
感谢您的反馈,可以减少我的困惑
typescript - 使用 Cucumber Protractor 和 Typescript 重定向 URL 测试
代码的最后一步因 Assertion 错误而失败,因为实际值仍然是LoginPage,我猜是因为该步骤在浏览器实际重定向到HomePage之前完成。
我尝试使用browser.sleep(10000)
and browser.wait()
,但它们对我不起作用。处理此类问题的正确方法是什么?
cucumber - 是否有任何 After 关键字可用,例如 Background 用于运行黄瓜步骤
我知道 Background 关键字可用于在运行每个场景之前运行常见步骤。同样,在每个场景之后是否有任何类似“After”关键字的内容可用于公共步骤,而不是 java 代码中的逻辑步骤,例如 after hooks,我的意思是在小黄瓜步骤本身中。我需要像下面这样
unit-testing - 当使用自动化测试来驱动自动化框架的设计时,这叫什么?
我们使用一种非常有效的技术为我们的系统开发自动化功能测试。我们首先基于手动测试用例编写功能测试(如 Selenium 测试),然后使用这些测试来驱动我们的自动化框架的开发,而不是被测系统。
这种开发方式还会被归类为 TDD 吗?我只在单元测试方面看到过 TDD。在这种情况下,我们使用单元测试作为驱动最终测试系统开发的需求。所以我觉得它和我上面提到的有点不同。
这也与验收测试驱动开发有点不同,因为整个团队不会开会讨论将用于稍后验证系统的验收测试。相反,自动化工程师只需使用手动测试用例的步骤来驱动自动化系统的设计。不是被测系统。
这几乎感觉像是功能测试驱动的自动化,或类似的东西。但是,我还没有看到在任何地方使用过这样的术语。有什么想法吗?
java - 为批处理作业编写 ATDD
我正在尝试为批处理作业编写 ATDD。该作业具有以下场景:它检查数据库,如果某个事件已在 7 天前记录,它将获取该事件并重新处理。在这里,7 天是处理它的先决条件。在重新处理时,系统将与多个服务交互。所以,在这里我必须通过我的 ATDD 创建这个场景,并想要验证作业是否成功运行。意味着我的 ATDD 必须创建创建日期早 1 周的特定数据。我对 Cucumber+Java 的 ATDD 有足够的经验,所以想继续工作。有人能给出一些想法是否可以实现吗?
python - 有没有办法配置机器人框架,所以执行不会因失败而停止
我知道 Run Keyword and Continue on Failure / Run Keyword And Ignore Error / Run 关键字和 return status 内置关键字,但我有一组非常广泛的测试用例,在特定情况下不应因任何原因停止,我想知道是否有一个选项可以在默认情况下不让执行在失败时停止,而不必通过这些关键字来管理它并在我的上层关键字中添加与业务无关的语法。
bdd - 验证黄瓜/小黄瓜中的许多领域的最佳实践是什么?
验证在 cucumber/Gherkin 中包含多个相关字段的 REST 响应的最佳实践是什么?我们正在使用场景大纲,因此使用示例表对事物进行参数化。
以下是我考虑过的一些方法:
最简单的方法是将每个字段添加为示例表中的列。但这很快就变得非常难以阅读,因为示例表超出了屏幕的宽度,我们最终在表单的每个场景中都有近十几个步骤:And the <fieldName> should be <value>
. 这是非常冗长的,显然与 Gherkin 旨在模仿自然语言的精神背道而驰。
接下来,我考虑将响应主体作为一个整体放入 JSON 格式的文件中,并在一个步骤中验证它And the response matches <file containing expected response>
(示例表将只包含文件的路径)。但是,这使得我在测试中验证的内容非常不透明,因为实际的字段和数据值隐藏在另一个文件中。此外,我读到测试步骤不应该关注数据的确切格式(JSON、XML 或其他)。
之后我阅读了这篇文章,在指定多个字段的步骤之后使用垂直表。导致这样的事情:
但是,我不确定如何参数化它。单个原子值进入示例表中的一列,但整个其他表呢?我调查了是否支持嵌套表,但似乎有些人认为这是不可读和不好的做法。
那么,这种情况的一般最佳实践是什么?对于参数化场景,哪种方法可以在自然语言可读性和准确传达您的期望之间取得最佳平衡?