Testing ATDD、小黄瓜、Specflow方法、黑盒测试问题

Testing ATDD、小黄瓜、Specflow方法、黑盒测试问题,testing,bdd,specflow,gherkin,atdd,Testing,Bdd,Specflow,Gherkin,Atdd,我正试图在ATDD的内外开发中获得一些经验,现在我遇到了第一个障碍 该应用程序是一个简单的桌面应用程序(wpf),它应该能够在文件系统中搜索重复的文件 我想实现的第一个特性是自定义应该搜索的目录。但我不知道该如何端到端测试该功能 自动创建一个包含2个文件(副本)的测试目录,然后在用户界面上选择该目录,然后启动搜索并验证结果是否为创建的2个文件,这是一种好方法吗 我将测试更多,而不仅仅是指定搜索目录的功能 功能:自定义搜索目录 In order to speed up and better con

我正试图在ATDD的内外开发中获得一些经验,现在我遇到了第一个障碍

该应用程序是一个简单的桌面应用程序(wpf),它应该能够在文件系统中搜索重复的文件

我想实现的第一个特性是自定义应该搜索的目录。但我不知道该如何端到端测试该功能

自动创建一个包含2个文件(副本)的测试目录,然后在用户界面上选择该目录,然后启动搜索并验证结果是否为创建的2个文件,这是一种好方法吗

我将测试更多,而不仅仅是指定搜索目录的功能

功能:自定义搜索目录

In order to speed up and better control the search

As a customer

I want to customize the directories which will be searched

感谢您的反馈,可以减少我在BDD或ATDD中的困惑,如果您愿意,您不必端到端地测试所有内容。以某种方式使用一个系统,然后对其进行监视,并看到预期的事情已经发生,这是完全正确的

在您的情况下,“自定义应该搜索的目录”,我会考虑指定目录,并确保我可以验证它们是否被正确地指定。这并不一定意味着使用用户界面

Scenario: customize the directories which should be searched
  Given Thomas wants to search two directories
  When he selects ./tmp and ./home/thomas
  Then should ./tmp and ./home/thomas be selected
这个例子指定了我想要什么,搜索哪些目录,最后验证将要搜索的正是这些目录。它没有指定是否涉及文件系统,也没有指定任何UI细节。这些东西可以,也应该,在堆栈中向下推送到步骤稍后使用的一些辅助方法

这意味着您可以选择两个目录来验证核心逻辑,也可以从用户界面验证与系统的交互

Scenario: customize the directories which should be searched
  Given Thomas wants to search two directories
  When he selects ./tmp and ./home/thomas
  Then should ./tmp and ./home/thomas be selected

我要做的第一件事是验证核心逻辑。如果需要,我可能会在UI存在时进行验证。

谢谢,这对我帮助很大。作为一个初学者,我发现有时很难决定我真正想测试什么。当我知道要测试什么,然后如何测试它、单元、集成或端到端。