Cucumber行为驱动测试入门 – 让测试用例人人都能读懂

---

前言

大家好,我是小白学测试。做测试3年,刚接触行为驱动测试(BDD)时,发现测试用例可以写得像自然语言一样易懂。今天分享Cucumber BDD测试的入门经验。 ---

一、什么是BDD?

概念

BDD(Behavior-Driven Development)行为驱动开发:

BDD vs 传统测试

| 对比项 | 传统测试 | BDD测试 | |--------|----------|---------| | 用例格式 | 代码/表格 | 自然语言 | | 可读性 | 技术人员 | 所有人 | | 协作 | 测试独立 | 跨角色协作 | ---

二、Cucumber基础

Feature文件

`gherkin Feature: 用户登录功能 作为一名用户 我想要登录系统 以便使用系统功能 Scenario: 使用正确的用户名密码登录成功 Given 用户在登录页面 When 用户输入正确的用户名 "testuser" And 用户输入正确的密码 "password123" And 用户点击登录按钮 Then 用户登录成功 And 页面跳转到首页 `

Step Definition

`java public class LoginSteps { @Given("用户在登录页面") public void userOnLoginPage() { driver.get("https://example.com/login"); } @When("用户输入正确的用户名 {string}") public void inputUsername(String username) { driver.findElement(By.id("username")).sendKeys(username); } @Then("用户登录成功") public void loginSuccess() { assertTrue(driver.getCurrentUrl().contains("home")); } } ` ---

三、完整示例

`gherkin Feature: 订单管理 Scenario Outline: 创建不同类型的订单 Given 用户已登录 When 用户创建订单 Then 订单创建成功 And 订单状态为"待处理" Examples: | 类型 | | 普通 | | 预售 | | 团购 | ` ---

总结

Cucumber BDD要点: | 要素 | 说明 | |------|------| | Feature | 功能描述 | | Scenario | 测试场景 | | Given | 前置条件 | | When | 操作步骤 | | Then | 预期结果 | --- 下期预告:自动化测试框架设计之道 - 分层架构与数据驱动最佳实践
分享到:

探索 RunnerGo 全栈测试平台

RunnerGo 是一款面向企业的全栈测试平台,集接口测试、自动化测试、性能测试、UI测试于一体,助力企业提升研发效能。

接口测试
性能测试
自动化测试
UI测试
免费体验 RunnerGo