Cucumber/Capybara vs Selenium?

tre*_*eaz 16 ruby selenium cucumber capybara

前几天我向我公司的一位测试人员展示了我用黄瓜写的一些测试(2个功能,5个场景).然后他问了我无法回答的问题:

这比硒或任何其他功能测试录音工具更好吗?

我知道黄瓜是一种不同的技术,它处于不同的测试水平,但我不明白为什么我应该费心去编写和维护Cucumber/Capybara测试.

有人能给我一个合理的解释,使用Cucumber/Capybara而不仅仅是Selenium吗?

Dou*_*oel 16

这个问题是边缘问题.你的问题实际上告诉我,"什么工具适合我?" 我这样说是因为你没有说明为什么选择Cucumber和Capybara.我相信回答测试人员的问题,你需要先回答几个问题:

1.)在这个过程的哪个阶段你要编写这些测试?

根据您使用的语言,黄瓜可能不是单元测试的正确选择.但它可用于任何级别的测试,从单元到集成再到最终用户.

2.)谁将维持你的考试?您?其他开发者?测试人员吗?业务分析师?项目经理?

必须保持自动化测试,并且知道谁将会这样做可以帮助您决定工具 - 因为某些工具对某些用户而言过于技术化.

3.)谁将定义新的测试?

黄瓜意味着在开发,QA和企业主之间协同使用.它是将每个人的知识融入自动化测试过程的完美工具.然而,它需要开发无处不在的语言才能生效.您可以在James Shore的Art of Agile页面上阅读.

一旦你回答了这些问题,你就可以解决测试人员的问题.

但是,在比较录制工具(例如Selenium IDE,HP Quick Test Pro,IBM Rational Functional Tester)与开发工具(nUnit,jUnit,RSpec,Selenium webdriver,Capybara)时,需要记住几点.它们针对不同的受众.他们也有不同的优点和缺点.

任何人都可以轻松使用录制工具,但他们创建的脚本很脆弱.它们易于破碎并需要更多维护.它们非常适合一次性自动化测试,您需要快速完成并拥有非技术人员.

开发工具具有更大的学习曲线,需要编程(或至少编写脚本)经验.脚本通常更强大,但需要更多的技术知识来维护.当您需要可重复性并计划长时间使用测试时,它们是一个很好的解决方案.

我强烈建议你阅读The Cucumber Book.这将真正帮助您确定黄瓜是否适合您.


And*_*lov 9

黄瓜不仅是一种测试工具.除了测试Cucumber功能之外,还需要一个文档,一个与利益相关者和需求存储协作的机制(如果你以声明的方式编写它们).

您不必将黄瓜与Capybara一起使用.你可以直接使用selenium.但Capybara为所有支持驱动程序提供相同的高级API .它比Selenium更高级,允许更快地编写测试.从一个驱动程序切换到另一个驱动程序时,您不必更改代码.

使用测试记录工具构建的测试通常更糟糕.Selenium IDE可能会生成有效的编程代码,但它看起来并不好看,因而很难保持安静.