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

详情

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相关整理介绍的更多相关文章

  1. BDD 相关整理---介绍

    # BDD介绍 ### 什么是BDD Behavior-driven development In software engineering, behavior-driven development ...

  2. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  3. opensslBIO系列之2---BIO结构和BIO相关文件介绍

    BIO结构和BIO相关文件介绍     (作者:DragonKing Mail:wzhah@263.net 公布于:http://gdwzh.126.com openssl专业论坛)          ...

  4. Oracle 参数文件及相关操作介绍

    Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...

  5. MySQL各类日志文件相关变量介绍

    文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量   1 mysql> show global variables li ...

  6. MyEclipse相关用法介绍

    MyEclipse相关用法介绍 ================================================================================ 编辑: ...

  7. TMF SID性能相关实体介绍

    TMF SID性能相关实体介绍 Copyright © TeleManagement Forum 2013. All Rights Reserved. This document and transl ...

  8. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  9. PySpark SQL 相关知识介绍

    title: PySpark SQL 相关知识介绍 summary: 关键词:大数据 Hadoop Hive Pig Kafka Spark PySpark SQL 集群管理器 PostgreSQL ...

随机推荐

  1. 视频x264编码浅析

    声明 x264_param_t 结构体变量: x264_param_t params; x264_param_default_preset(&params, "ultrafast&q ...

  2. windows下安装ubuntu 12.04---利用ubuntu的iso包中的wubi.exe工具安装

    一.下载ubuntu-12.04-desktop-amd64.iso后,用winrar打开,提取出wubi.exe这个文件.把ubuntu-12.04-desktop-amd64.iso和wubi.e ...

  3. js点击按钮获取验证码倒计时

    //发送验证码倒计时 var clock = ''; var nums = 60; var btn; $("#btnGetVerCode").click(function () { ...

  4. 面试题:TCP协议三次握手

    一.首先了解TCP报文格式 其中必须了解的字段有: 1.源端口与目的端口:16位,标识出发送端与接收端的端口号. 2.序号:32位,也叫顺序号.seg序号,本报文段所发送的数据的第一个字节的序号,用来 ...

  5. https抓包

  6. C#使用var定义变量时的四个特点

    使用var定义变量时有以下四个特点: 1. 必须在定义时初始化.也就是必须是var s = “abcd”形式: 2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了. 3.   var要求是 ...

  7. 如何偷Android的内存-Tricking Android MemoryFile

    之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下 What is it MemoryFile是 ...

  8. css总结20:TCP通信协议WebSocket

    HTML5 WebSocket 1 介绍: WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. 在WebSocket API中,浏览器和服务器只需要做一个握手的动 ...

  9. 如何较为方便的在GMap.Net中实现车辆运行轨迹

    一.简单的思路 要实现车辆运行轨迹,我们可能需要一个定时触发的机制用来更新Marker的位置,除了位置移动,我们可能还需要动态改变车辆的方向,如下图: 首先,位置移动是最简单的,关键是方向的动态改变如 ...

  10. .Net Core 项目引用本地类库方式(一)

    最近了解到.NET Core 项目,引用本地类库DLL的方式有三种 1.非同解决方案下的引用,直接引用,浏览,找到对应的DLL,然后确定引用. 这种方式有个不好的地方就是,如果引用的DLL文件里面,也 ...