51Testing软件测试论坛

标题: cucumber之基础概念 [打印本页]

作者: 巴黎的灯光下    时间: 2019-3-1 15:53
标题: cucumber之基础概念

cucumber是一个帮助编写自动化验收测试的框架。


单元测试用例是由开发人员编写,目的是保证当前写的代码可以正常运行,即 做的事是对的.

验收测试用例是有需求方编写,目的是保证当前的代码能完成目标功能,即 做对的事.


我们需要验收测试,因为开发人员和业务人员只见是有沟通成本的,而且还有可能理解了错误的需求,而导致最后写的代码可以运行,但是无用,即开发了错误的功能。而验收测试就起到了这个沟通效果,也可以说它就是产品的可执行的规格说明书 以及文档。传统的文档的坏处是书写一次后需要不断维护然后与代码进行同步,不然就会逐渐过时,而cucumber编写验收测试则是要保证是一直可执行的,所以它是实时反应了项目在当前的真实状态,当功能发生变化时它也需要维护更新但是成本比较低。


cucumber里有给需求方书写的feature 文件,其格式形如:

[attach]122501[/attach]

Feature 特性 代表了产品的一个功能点

Scenario 情形 代表了用户使用该功能的一个特定情形

Given When Then And 是对这个情形的步骤和验证描述

这一套Feature语法结构在cucumber约定里叫Gherkin


cucumber是需求方和开发人员的一个沟通工具,需要需求方和开发一起参与,他的完整流程如下

[attach]122502[/attach]

前边3步都是对上文提到的Feature文件,即功能特性文件的书写。它是由业务人员完成。

后边3步则是对Feature文件里,所涉及的step动作的定义以及实现,是有开发人员完成。




作者: applepen    时间: 2019-10-28 15:22
我是不是可以理解为,cucumber是产品/业务人员写的需求(这部分大多数是由他们完成)。然后交由开发,
开发根据这个描述来写代码。保证代码和功能的一致性。
作者: Miss_love    时间: 2020-12-25 14:03
这个是工具?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2