问题标签 [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.
.net - 在进行 BDD 时,我必须先对通过验收测试所需的每段代码进行 TDD 吗?
周末有人给了我一个 kata 工作。在开始之前,我真的只是想收集一些想法。我不是在寻找解决方案,只是关于最佳方法/实践的一些想法。
从我的谈话来看,我似乎需要使用 BDD --> ATDD(与 gherkin 中的场景相关) --> TDD 方法。我只是想找出最好的方法。
我目前的想法是
1)创建一个specflow项目并将用户故事提炼成一个小黄瓜。
2)使用 GWT 语法在小黄瓜(场景)中创建相关的验收测试,从而在 [binding] 类中生成我的 ATTD 样式测试(右键单击“生成”)。
3) 使小黄瓜 ATDD 测试通过。
我遇到的难题是,直接链接到我的小黄瓜文件中的 ATTD 测试的测试没有给我足够低级别的测试。
那我该怎么办?我要编写高级 ATDD 测试,然后在使它们通过之前,我是否深入挖掘并编写纯 TDD 测试来设计我的低级对象?
是的,我还没有弄清楚如何以完全 BDD 方式(纯风格)工作,但我只是想知道我是如何挖掘的。我很欣赏您应该逐步工作并完成一项测试并通过,但我觉得我需要从高级 ATDD 测试开始,然后更深入,所以在我使低级代码工作之前,更高级别的测试将无法工作,但要遵循TDD 我需要测试那个低级代码,所以我已经打破了 1 个单元测试然后通过然后重构的原则......
希望有人明白如何告诉我“如何”在没有实际操作的情况下解决这个问题。但这是提供给我的问题......(我很感激如果测试人员看到这一点,他们可能会因为在这里问我而失败,但更重要的是我学习而不是得到这份工作)。是的,我知道我很生气 :-)
我也很想知道我是否应该为我的纯 TDD 测试创建一个单独的项目。最好的项目结构是什么?我正在考虑 1 个 specflow 项目和一个 .test 项目以及一个类库和一个用于运行时的控制台应用程序。
PS任何帮助我的人都有我欠他们的人情。拥抱或慈善捐赠。或者我想这里的 +1 是你真正想要的:-/
剪刀石头布
不懂游戏?http://en.wikipedia.org/wiki/Rock-paper-scissors
我正在寻找一个缩小版本(想想最小的可行产品)。没有数据库(即会话存储),简单的界面 - 2 或 3 小时的工作(顶部)是完全合理的。我不是在寻找一个完整的东西,只是一个精心制作的小东西。如果这是 Java 而不是 .NET,并且更面向后端,我会使用控制台应用程序。在 C# 中寻找单元测试和精心设计的代码。我正在寻找的是碰巧使用 C# ASP.Net MVC 的编码器。
testing - 验收测试驱动开发具有多个客户的服务
我有一个与验收测试驱动开发 (ATDD) 相关的问题。我的应用程序是作为 REST 服务开发的,它可能有多个客户端 - 网站、移动设备、桌面。ATDD 概念说我应该从端到端测试开始每个功能。由于我的服务可能有多个提供相同用例的客户端应用程序(端),所以在编写验收测试时应该使用什么方法?验收测试是否应该将对 REST 服务或客户端应用程序的直接请求作为输入?或两者?我知道如果我的验收测试从 REST 请求开始,我会省略客户端部分,这绝对不行。如果这些从客户端开始,我将为每个客户端重复基本相同的功能测试。我需要找到一种位于这些边缘中间某处的方法。
selenium - 使用 Selenium 在 Behat 中执行功能文件时找不到表单字段
我正在运行 Behat 功能文件,我尝试在表单字段中选择一个选项
其中“Lisa Hayes”是表单名称“settings_custom[Counselor][]”中的值之一。元素详细信息如下:
在命令行上执行功能文件时出现错误
未找到具有 id|name|label|value“settings_custom[Counselor][]”的表单字段。
我的默认驱动程序是 selenium2(我有 selenium-server-standalone-2.32.0.jar 服务器在后台运行,我的浏览器是 firefox)。
请注意,当我将默认驱动程序从 selenium(Web 驱动程序)更改为 goutte(无头)时,这非常有效。
我试图搜索这个论坛并用谷歌搜索任何细节,但没有找到任何有用的信息。
如果您需要更多信息,请与我们联系。谢谢!
java - Cucumber 报告不能使用多个格式化程序?
出于某种原因,我的代码只会在使用一种格式化程序时运行。
如果我添加另一个:
我得到一个 IndexOutOfBoundsException:
如果我添加另一个:
这次我得到另一个 IndexOutOfBoundsException = -1:
谁能帮我弄清楚这是怎么回事!!!!?
版本:
bdd - BDD/ATDD 故事是否取代了对传统需求的需求?
从在线论坛和帖子中我可以看出,BDD/ATDD 的主要关注点之一似乎是讨论并确保客户、开发人员、测试人员和其他相关方参与了解系统必须做什么。
问题 1: BDD/ATDD 故事是否取代了对传统需求规范的需求,例如使用Volere 模板捕获的需求规范?
因为传统的需求规范是开发人员和测试人员的关键输入之一,所以传统的需求规范往往是全面的。
问题 2: BDD/ATDD 故事是否也应该足够全面,以允许对系统进行全面测试?
bdd - 使用 Gerrit 作为主要沟通媒介捕获和提炼用户故事
我继承了一个使用 gerrit 来捕获和协作处理用户故事的过程。
该过程用于捕获故事的早期阶段,与白板方法相比,它似乎非常冗长。
感觉这个过程违背了用户故事的精神,其中协作和面对面的讨论似乎受到青睐。
此外,gerrit 工具更多地针对技术用户。需要 git 知识来编辑故事,这似乎将编写故事推给技术团队。
问题:是否可以使用 gerrit 有效地捕捉和协作处理故事?如果是这样,如何做到这一点?
testing - 我可以使用机器人框架进行报告而无需创建 testcase.txt 文件吗?
我有很多用纯 Java 编写的 Java 测试用例。然后我使用 testng 和 ant 运行测试用例并报告一个 xml 文件,该文件提供通过和失败的测试用例以及测试套件等。在这种情况下,testng 本质上是一个框架,并且提供的灵活性很小。
我已经阅读了 Robot Framework,对它还是很陌生,并且想将我们的测试模型转移到验收测试和验收测试驱动的开发。看起来机器人框架支持一个english-written-testcase.txt,并将其转换为它运行的实际测试,并在一个output.xml类型的文件中报告结果。
所以,我想知道有没有什么办法让机器人框架只处理 .java 文件的代码并运行测试用例,而无需返回并编写 .txt 文件才能启动测试用例。
然后让它报告某种 output.xml 报告。
基本上,我需要保持当前工作的能力,但同时允许我慢慢过渡到机器人框架可以提供的 testcase.txt 文件模型。
bdd - SBE 规范应该有多完整?
我正在研究一个相当大的现有代码库,其中创建了 SBE 规范来定义产品的行为。
目前大约有 450 个场景,随着代码库中添加的每个新功能,这个数字还在增长。
与传统的单行需求陈述相比,由于 SBE 规范的冗长性质,很难对系统的功能有高层次的理解。例如,这些故事目前共有 46,830 个单词:
另一个问题是我们正在使用gerrit 代码审查工具来协作处理故事,这导致了团队之间的正式沟通。
问题 1:SBE 是否应该是一个完整而全面的回归测试套件(示例)?或者,他们是否应该只关注每个 sprint 所需的关键功能?
问题 2 :正如这里的答案所提到的,是否需要诸如问题跟踪器之类的工具来管理大型项目的故事?