Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 是否有可能将BDD纳入一个即将完成的项目中?_Testing_Selenium_Rspec_Bdd_Selenium Webdriver - Fatal编程技术网

Testing 是否有可能将BDD纳入一个即将完成的项目中?

Testing 是否有可能将BDD纳入一个即将完成的项目中?,testing,selenium,rspec,bdd,selenium-webdriver,Testing,Selenium,Rspec,Bdd,Selenium Webdriver,我的软件公司以前从未做过BDD甚至TDD。以前的测试意味着在部署前几天简单地试用新软件 我们最近的项目大约完成了70%。我们还将其作为新技术、工具和开发方式的游乐场。我的老板想让我换成“测试” 我试过Selenium 2和RSpec。两者都有希望,但如何赶上几个月的发展?进一步的问题是: 新语言 我自己从来没有写过一行代码 巨大的部分是由自由职业者写的 很多花哨的黑客 除了一些源代码注释和流程图之外,没有任何文档 我所能做的就是用硒覆盖整个过程。这似乎是相当痛苦的(但仍然可能),因为该软件显

我的软件公司以前从未做过BDD甚至TDD。以前的测试意味着在部署前几天简单地试用新软件

我们最近的项目大约完成了70%。我们还将其作为新技术、工具和开发方式的游乐场。我的老板想让我换成“测试”

我试过Selenium 2和RSpec。两者都有希望,但如何赶上几个月的发展?进一步的问题是:

  • 新语言
  • 我自己从来没有写过一行代码
  • 巨大的部分是由自由职业者写的
  • 很多花哨的黑客
  • 除了一些源代码注释和流程图之外,没有任何文档
我所能做的就是用硒覆盖整个过程。这似乎是相当痛苦的(但仍然可能),因为该软件显然从未打算以这种方式进行测试。我们有很多动态生成的id、奇特的jQuery等等。甚至不知道如何开始RSpec


那么,是否仍有可能将BDD应用于该项目?还是我应该跑得很远再也不回来?

读这本书可能会有帮助。在你开始之前还有一个问题-你有没有问过你的老板他对测试的评价?我会先和你的老板澄清这件事。系统级BDD的主要好处在于在编写代码之前与业务涉众进行对话。如果您所做的只是包装现有的代码,那么您将无法得到这个结果。在单元级,主要的好处在于质疑类的责任和它们的行为,这也是你无法得到的。不过,它可能有助于帮助您理解应用程序的价值和每一级代码

如果你的老板只是想尝试BDD或TDD,那么启动一个新项目,甚至从其他人那里获取一个现有项目来完成一些测试可能会更简单。如果他真的想在遗留代码的基础上尝试BDD,那么值得坚持使用@Esko的书。围绕现有功能进行更高级别的系统测试可以帮助您避免在重构较低级别的代码时出现问题(如果您希望将测试落实到位,则需要这样做)。我另外推荐

RSpec最适合在单位级别应用BDD,作为TDD的一个变体。如果您希望围绕整个环境包装自动化测试,请看Cucumber。它使重用步骤变得简单得多。然后可以直接从步骤中调用Selenium


我整理了一页关于BDD的链接,希望能帮助新手更好地理解它。祝你好运。

BDD意味着你首先编写测试。您可以为新代码这样做,但根据定义,您不能为已经存在的代码这样做。