BDD 相关整理---介绍
# BDD介绍
### 什么是BDD
Behavior-driven development
In software engineering, behavior-driven development (BDD) is a software development process that emerged from test-driven development (TDD).Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software development and management teams with shared tools and a shared process to collaborate on software development
[详情](https://en.wikipedia.org/wiki/Behavior-driven_development)
### BDD产生的背景
* 软件与客户需求之间出现偏差
* 开发与需求之间产生理解误差
* 开发与测试对需求产生偏差
* 测试与产品经理对需求的理解不一致
为什么软件开发过程中会出现这么多问题呢?
* 站在不同的角度看问题
* 客户的需求未真正理解并传达
* 客户不知道如何去表述需求
* 客户与软件开发者所处行业不同
### 如何解决这些问题
采用BDD工作流
首先我们需要跟客户说同一种语言(DSL),也就是站在同一个维度讨论问题。比如我们规定一些专有名词,B端表示卖家,C端表示买家之类的。
1. 客户先描述需求
2. 根据需求先写出自然语言的用例(用例即文档)
3. 实现用例
4. 运行用例
5. 用例运行失败
6. fix失败用例
7. 添加用例
8. 运行用例
9. ...
10. ...
11. ...
### BDD术语
* Feature: 用例名
* Scenaro: 测试场景
* Given: 前置条件,对应3A里的arrange
* When: 测试步骤,对应3A里的act
* Then: 断言,对应3A里的assert
最新文章
- 人人都是 DBA(VI)SQL Server 事务日志
- 高可用与负载均衡(1)之linux系统的数据链路层负载均衡
- BZOJ1012[JSOI2008]最大数maxnumber 题解
- POJ 2001:Shortest Prefixes
- Matrix-Tree定理
- Windows 7 IIS HTTP 错误 500.21 – Internal Server Error 解决方法
- 8、WPF体系架构和运行机制
- Helpers\PHPMailer
- WPF自定义圆形按钮样式资源文件
- Android高级开发专题晋升班
- 使用Jenkins进行持续集成ionic3项目
- 构建微服务开发环境1————如何安装JDK
- Codeforces Round#403 (Div. 1)
- 文本离散表示(二):新闻语料的one-hot编码
- Python游戏编程入门3
- jdk1.8.0环境变量设置
- Oracle 11g 的 自动内存管理
- Java基础(basis)-----关键字break、continue、return的区别
- a:hover应用精粹
- cocos源码分析--绘制顺序LocalZOrder、GlobalZOrder、OrderOfArrival