自动化接受测试
自动化接受测试是从用户的角度出发来保证测试有效性的一种方法。
Cucumber是一种测试用例以文本写成并关联测试代码的测试框架。这种方式被称为行为驱动开发(behaVior-driven development)。Cucumber原本是用Ruby实现的,但是现在已经移植到了多种不同的语言。
DevOps的角度来看,Cucumber的吸引力在于它尝试将不同的角色结合在一起。
Cucumber中feature的定义是用对话的形式实现的,而且不需要任何编程技巧也可以完成。
测试运行所需要的实际数据会从描述中提取出来,用于测试。
这么做的意图很好,但是实现Cucumber测试的难度并不那么一目了然。尽管语言的行为规范基本上是自由文本,但它们仍然需要简化和形式化,否则编写匹配的代码和从描述中提取数据会变得困难。这使得编写规范对于最初编写它们的角色失去了吸引力。之后就会变成程序员去编写规范,但他们不喜欢冗繁,更倾向于编写普通的单元测试。
和很多事情一样,这里的精髓在于合作。只有开发人员和产品负责人一起合作努力编写规范,Cucumber才能发挥作用。