首页 技术 正文
技术 2022年11月15日
0 收藏 789 点赞 3,893 浏览 785 个字

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. 运行用例

BDD术语

  • Feature: 用例名
  • Scenaro: 测试场景
  • Given: 前置条件,对应3A里的arrange
  • When: 测试步骤,对应3A里的act
  • Then: 断言,对应3A里的assert
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,996
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,510
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,353
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,137
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848