前几天,我向我的公司的一名测试人员展示了我用黄瓜编写的一些测试(2个功能,5个场景)。然后他问我一个问题,我无法回答:
这比selenium或任何其他功能测试记录工具好吗?
我知道黄瓜是一种不同的技术,并且它处于不同的测试级别,但是我不明白为什么我应该费心编写和维护Cucumber / Capybara测试。
有人可以给我关于使用黄瓜/水豚而不是仅selenium的合理解释吗?
这个问题是边缘性征求意见。您的问题实际上是对我说的:“什么工具适合我?” 我之所以这样说,是因为您没有给出选择黄瓜和水豚的原因。我相信要回答测试者的问题,您首先需要再回答几个问题:
1.)您将在过程的哪个阶段编写这些测试?
黄瓜可能不是单元测试的正确选择,具体取决于您使用的语言。但是它可以用于从单元到集成再到最终用户的任何级别的测试。
2.)谁来维护您的测试?您?其他开发商?测试人员?业务分析师?项目经理?
必须维护自动测试,并且知道谁将执行此操作可以帮助您选择工具-因为某些工具对于某些用户来说太技术性了。
3.)谁来定义新测试?
黄瓜应在开发,质量保证和企业所有者之间协作使用。它是利用所有人的知识进行自动化测试过程的理想工具。然而,这需要开发一种普遍存在的语言。您可以在James Shore的“敏捷艺术”页面上阅读有关内容。
回答完这些问题后,就可以准备解决测试人员的问题了。
但是,在比较记录工具(例如Selenium IDE,HP Quick Test Pro,IBM Rational Functional Tester)与开发工具(nUnit,jUnit,RSpec,Selenium webdriver,Capybara)时,有几点需要牢记:他们针对不同的受众。他们也有不同的优缺点。
录制工具易于任何人使用,但它们创建的脚本很脆弱。它们容易断裂,需要更多维护。它们非常适合一次性自动测试,您需要快速完成它并拥有非技术人员。
开发工具的学习曲线较大,需要编程(或至少是脚本编写)经验。这些脚本通常更健壮,但是需要更多的技术知识来维护。当您需要可重复性并计划长时间使用测试时,它们是一个很好的解决方案。
我强烈建议您阅读《黄瓜书》。它确实可以帮助您确定黄瓜是否是您的正确选择。