我的公司正在将 BDD 引入我们的项目中。我们的客户有不同的流程案例,也可能在特定点分叉。手动测试每个案例和每个分支都是一项漫长而乏味的工作。
试用 Selenium 是我的工作。因此,我编写了 Selenium 测试并将我们可怜的测试人员从这项任务中解放出来。我在我的测试中考虑了很多想法,比如返回工作的助手(即点击分页,直到找到链接 foo,总是在未来设置截止日期,为用户栏生成新的电子邮件地址......)或为 stepstones 编写类比如面试,然后包括方法(“fail_interview”等)。最后,我能够重用很多代码,并且可以扩展测试,一旦编写了基础,整个过程相对较快。
我们的管理层和糟糕的测试人员非常赞赏这些测试;-)
然而,并不是我们所有的开发人员都支持我们现在使用 Selenium 的方式。说它们几乎没用,因为测试与我们的源代码没有直接联系,并且采用 Selenium 测试来进行更改(例如更改的 button_id 或其他内容)将花费太长时间。我可能会补充一点,我们之前从未使用过任何类型的测试,而是手动进行。
我同意这一点,我们也应该将 TDD 包含到我们的项目中。但是现在,我不确定是否应该定位“我的”Selenium 测试。
那么,推荐使用 Selenium 测试的场景是什么?“点击所有内容”是个好主意吗?什么应该和不应该用 Selenium 进行测试?