TDD:测试驱动开发(Test-Driven Development)
ATDD:验收测试驱动开发(Acceptance Test Driven Development)
BDD:行为驱动开发(Behavior Driven Development)
DDD:领域驱动开发(Domain Drive Design)
携程等框架模式
https://todomvc.com/examples/react/#/
Cucumber Puppeteer
Cucumber + Puppeteer = @ctrip/cucumber_web_common
image.png
mocha是一个功能丰富的javascript测试框架
CukeTest是开发测试自动化脚本的一个灵巧方便的工具
image.png image.png
Features:剧本(测试项的目运行文件都在features目录下,以 .feature 结尾的为剧本文件,一个剧本文件中可以包含多个场景,一个场景包含多个操作步骤。)
Scenarios:场景(每个剧本可以有一个或多个场景)
Scenario(场景)
场景是gherkin核心结构之一。每个场景都以“Scenario:”关键字(中文格式中“场景”)开头,后面跟着一个可选的场景标题。每个剧本可以有一个或多个场景,每个场景由一个或多个步骤组成。
Scenario Outline(场景大纲)
有时开发者会将一个场景复制和粘贴成多份,仅仅为了以使用不同的参数值。但这种重复是令人乏味的。场景大纲允许我们通过使用带占位符的模板来更加简洁地表达这些示例。场景大纲的步骤提供了一个不会直接运行的模板。每个场景大纲包含一个或多个示例表,示例表中的每行都运行一次这个场景大纲的步骤(不包括标题行)。场景大纲使用占位符来标识参数,在场景大纲步骤中用“< >”
括起来的就是占位符。
Background(背景)
背景允许你在单个剧本中的所有场景中添加“背景”。背景就是一个无标题的场景,包含许多步骤。不同之处在于它们运行的时机:背景在每个场景之前运行,但是在场景的“Before” hook(钩子函数)之后运行。
Steps:步骤(每个场景由一个或多个步骤组成)
Step Definitions:步骤定义(步骤具体代码实现方法或定义,.feature 文件中描述的业务步骤要 运行起来,需要根据业务场景定义操作行为 。)
Support Code:支持代码(公共方法或函数可提出作调用)
Automation Library:自动化库(自动化API支持)
Business Facing:面向业务(自然语言表示的测试用例,开发可读懂)
Technology Facing:面向技术(技术代码语言表示的测试代码,开发可读懂)
创建新项目时,5个项目模板可选择:
Basic:基本的Cucumber.js项目
Web:使用selenium-webdriver的Web测试项目
API:API测试项目
Windows: Windows测试项目
Mobile: iOS或安卓应用测试项目
image.png image.png image.png
安装效果
image.png快速写用例用文本格式识别
框架
/HuddleEng/Muppeteer
如何理解行为和用例转化
————————————————————————————————————————————
敏捷实践中,推荐使用行为驱动开发(Behavior-driven development,缩写BDD)的方式来写验收标准,即使用GWT格式。
Given (在什么样的情景或条件下)
When (采取了什么行动)
Then (得到什么结果)
举个例子:
Given (假设) 我在搜索界面
When (当) 我填写入住城市,选择住宿时间
Then (于是) 我可以浏览该城市和该时间段内 空闲酒店的名字和价格
在编写验收标准时,应重点关注可以验证需求实现的用户场景上,更多的是正向验证用户需求实现完成,切忌将验收标准写成测试用例或者测试点。
image.png image.png
CukeTest 运行配置
网友评论