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
BDD 相关整理---介绍的更多相关文章
- bdd相关整理介绍
BDD介绍 什么是BDD Behavior-driven development In software engineering, behavior-driven development (BDD) ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- opensslBIO系列之2---BIO结构和BIO相关文件介绍
BIO结构和BIO相关文件介绍 (作者:DragonKing Mail:wzhah@263.net 公布于:http://gdwzh.126.com openssl专业论坛) ...
- Oracle 参数文件及相关操作介绍
Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...
- MySQL各类日志文件相关变量介绍
文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量 1 mysql> show global variables li ...
- MyEclipse相关用法介绍
MyEclipse相关用法介绍 ================================================================================ 编辑: ...
- TMF SID性能相关实体介绍
TMF SID性能相关实体介绍 Copyright © TeleManagement Forum 2013. All Rights Reserved. This document and transl ...
- git相关整理
title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...
- PySpark SQL 相关知识介绍
title: PySpark SQL 相关知识介绍 summary: 关键词:大数据 Hadoop Hive Pig Kafka Spark PySpark SQL 集群管理器 PostgreSQL ...
随机推荐
- Spring 快速入门
1.持久层 (1) 域模型层 (2) Dao 持久层接口 (3) DaoImpl 持久层接口实现 2.业务层 Service 业务接口层 ServiceImpl 业务接口实现 3.展现层 Sp ...
- Sublime Text 套件介紹:Pretty JSON
JSON,一個輕量級的資料交換語言,目前許多網站AJAX request的回應結果都是JSON格式 以下是一個標準的JSON格式 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...
- Spring Cloud Zuul 2(基于配置中心的动态API网关)
在大体了解了API Zuul 和 配置中心Config后我们来尝试完成一个基于配置中心的动态API网关 创建项目 命名为api-gateway-dynamic-route并加入config 和 Zuu ...
- C#使用ADO操作Excel
1 说明 把excel当成一个数据库,类似于Access数据库来操作. 2 源代码 2.1 Model层 /// <summary> /// 人员信息 /// </summary&g ...
- 724. Find Pivot Index 找到中轴下标
[抄题]: Given an array of integers nums, write a method that returns the "pivot" index of th ...
- zynq qemu学习
1,ubuntu给软件包降级,先安装aptitude sudo apt-get install aptitude 2,强制降级,等号“=”前后不能有空格 sudo aptitude install ...
- Docker保存修改后的镜像
1.启动镜像并做出修改 docker run -it centos /bin/bash [root@afcaf46e8305 /]# 注意afcaf46e8305是产生的容器ID,前面运行的时候不要- ...
- SparkR 读取数据& Spark运行的配置
1.本地LOCAL环境安装Spark并试运行配置(在Ubuntu系统下例子) # 打开文件配置环境变量: JAVA,SCALA,SPARK,HADOOP,SBT gedit /etc/profile ...
- Luogu 4284 [SHOI2014]概率充电器
BZOJ 3566 树形$dp$ + 概率期望. 每一个点的贡献都是$1$,在本题中期望就等于概率. 发现每一个点要通电会在下面三件事中至少发生一件: 1.它自己通电了. 2.它的父亲给它通电了. 3 ...
- Luogu 4784 [BalticOI 2016 Day2]城市
斯坦纳树复习,我暑假的时候好像写过[JLOI2015]管道连接来着. 设$f_{i, s}$表示以$i$为根,$k$个重要点的连通状态为$s$,($0$代表没有连进最小生成树里面去,$1$代表连进了最 ...