BDD - 介绍 Behavior-Driven Development 行为驱动开发

article/2025/10/15 17:57:42

BDD - Behavior-Driven Development 行为驱动开发

  • 引言
  • 什么是 BDD
  • 相关软件开发流程
    • TDD
    • ATDD
    • BDD 和 TDD 的关系
  • BDD 原则
  • BDD 流程
  • BDD 优势

引言

自从接触到 BDD,深有感触,BDD 是广大 QA 的福音,测试领域的天空豁然开朗。BDD 模式更有助于团队合作,提高工作效率,加快产品上线。即使一个不会代码的 QA,也有可能快速的实现自动化用例。当然前提是你的团队有一个核心的人,搭好了 BDD 测试框架。本文主要是介绍一下有关 BDD 概念。

什么是 BDD

Behavior-driven development (BDD) 是一个软件开发流程,根据预期行为增量地构建功能。

BDD 有助于团队协作,通过下列方式消除业务人员和技术人员之间的分歧:

  • 鼓励跨角色协作,针对要解决的问题建立共同的理解。
  • 工作效率高,通过小型迭代获取反馈和价值。
  • 产生系统文档用来自动检验系统行为。

用具体,现实的示例来解释系统的行为。在持续协作的过程中,用这些示例来引导我们从概念到实现。

相关软件开发流程

TDD

Test-Driven Development (TDD) 测试驱动开发,侧重于系统的实现。
在这里插入图片描述

ATDD

Acceptance-Test-Driven Development (ATDD) 验收测试驱动开发,侧重验收测试捕获系统需求。

在这里插入图片描述

BDD 和 TDD 的关系

BDD 是 TDD 的演变,将以测试为中心改进成以需求为中心。

TDD 用于单元测试,BDD 用于验收测试。
在这里插入图片描述

BDD 原则

Specification by Example (SbE) 示例以会话的形式阐明业务规则。
Test Driven Development (TDD) 将示例转换成人类可读,可执行的需求说明。

SbE 的流程:
在这里插入图片描述

BDD 流程

  1. 从一开始确认和鉴别特性行为
  2. 用 “Given-When-Then” Scenarios 场景描述行为。
    1)使用 Gherkin 语言
    2)Gherkin 步骤用直白的英文描述,大家都能明白
    3)帮助 PO(product owners), 开发和 QA 更好的协作
  3. 自动化 Scenarios 场景
  4. BDD 完美结合 Agile 敏捷软件开发

Senario Example
比如, 我们在百度搜索 BDD,就可以用 Gherkin 描述示例场景。
Given the user is on Baidu home page
When the user searches for “BDD”
Then the results page shows document links for “BDD”

BDD 优势

  • 代码质量高:
    产品和测试代码
    可测试的代码在设计上更佳
    模块化,灵活性,可读性。
  • 信心
    测试覆盖较小,增量片系统需求
    测试也覆盖已经存在的功能
    作为一个安全网,覆盖现有的功能测试行为
    团队可以成长,变化更容易
  • 快速发布
    Scenarios 场景容易写,特别是可以重复利用步骤
    方便添加新的功能需求场景,不影响现有的场景。
    通过左移 “shifting left”,快速解决误解和争执

http://chatgpt.dhexx.cn/article/IUEunoKX.shtml

相关文章

BDD自动化测试

BDD(行为驱动开发)自动化测试在软件测试领域一直在发展。随着agile思想在越来越多的项目中推广,以及非开发人员在项目的更多参与,BDD风格的自动化测试被越来越多项目组采纳并实施。 BDD(Behavior Driven Development&…

端到端视频编码:DVC

本文来自CVPR 2019论文《DVC: An End-to-end Deep Video Compression Framework》 官方开源代码地址:https://github.com/GuoLusjtu/DVC DVC是一个端到端的视频编码模型,之前也有过一些基于DNN的视频编码方法,但是通常是使用DNN模型替换视频…

主流视频编码压缩技术基本概念(二) 算法分析

主流视频编码压缩技术基本概念(二) 算法分析 一、MPEG-1技术介绍1、 MPEG-1的层次及语法结构①、运动补偿序列(Sequence)②、图片组(GOP)③、 图片(Picture)④、 图片切片(Slice)⑤、…

视频编码解码基本知识

最近在做摄像头视频的数据处理,得到了网络相机的.h264格式的数据,需要做解码处理,由于对视频的编码解码原理不太了解,因此查找资料总结一下 为什么要进行视频编码? 视频编码又称为视频压缩,伴随着用户对高…

FFMpeg 实现视频编码、解码

FFMpeg 作为音视频领域的开源工具,它几乎可以实现所有针对音视频的处理,本文主要利用 FFMpeg 官方提供的 SDK 实现音视频最简单的几个实例:编码、解码、封装、解封装、转码、缩放以及添加水印。 接下来会由发现问题->分析问题->解决问题->实现方案,循序渐进的完成。…

感知视频编码

感知视频编码就是在视频编码的过程中,将HVS应用进去,挖掘主观视频感知冗余,进一步提高视频编码压缩效率。 1.Computational visual perception:三种视觉感知计算模型 (1)视觉敏感模型 (2)视觉注…

Android视频编码的坑

视频开发是一个核心方向,那Camera开发一直是Android的一个核心,笔者做过Camera HAL,也做过Camera App, 同时也开发过Camera 滤镜,这个过程中也遇到和解决过很多棘手的问题,也一直想总结一篇,看到这篇后感觉…

视频编码未来简史

首先我们回顾一下视频编码的历史,视频编码起源于广播电视,在很长一段时间里视频编解码的变革主要推动力是来自于广播电视。当然,今天我们看互联网的视频编码是速度越来越快,昨天在ICET2017年世界大会上,ICET的主席还说…

PCS2021:针对游戏内容的视频编码工具分析和数据集

本文来自PCS2021论文《Video Coding Tool Analysis and Dataset for Gaming Content》 随着近几年游戏市场的逐渐壮大,新的游戏形态(AR、VR、云游戏等)逐渐发展。和传统的摄像机内容和屏幕内容相比,游戏内容有着不同的特点导致对于…

视频编码综述

你用手机、电脑看电影追剧时,是看的高清还是标清?我想只要网速够得上应该没有人愿意再看标清了吧!毕竟高清视频的高分辨率和清晰画质总是能让人有更好的观影体验。 伴随着用户对高清视频的需求量的增加,视频多媒体的视频数据量也在…

混合视频编码方法

参考文献: IP网络视频传输:技术、标准和应用 朱秀昌,唐贵进。--北京:人民邮电出版社,2017.9 预测编码和变换编码是混合编码的基础,当然除此之外还有运动估计、运动补偿、量化、熵编码、去方块滤波等。下面…

【视频编解码-02】视频编码的目的、条件和目标

视频编码,是视频处理中的一个核心技术。 现代我们所看到的所有视频,包括电视、互联网、手机等等,几乎所有的视频都会被编码、解码。 整个视频技术的基本流程是:视频数据的采集、视频数据的编码、视频数据的传输、视频数据的解码、…

【视频】视频文件格式和视频编码

我们经常在电脑、电视、手机或者其他终端产品看视频,我们对视频有个大概了解,比如清晰度、大小、视频类型等,但是对于视频内部结构我们应该一无所知,现在我们来一步一步解开视频的神秘面纱。 首先大家要清楚两个概念,视…

H.265视频编码原理总结

H.265视频编码原理总结 转载地址 1 概述 H.265(HEVC High Efficiency Video Coding)是现行H.264标准于2003年实现标准化以来时隔10年推出的新标准,将成为支撑未来十年的影像服务和产品的视频压缩技术。其特点是,支持1080p以上的…

视频编码流程详解

1、视频编码整体流程 2、FFmpeg视频编码详细流程 从本地读取YUV数据编码为H264格式的数据,然后再存入到本地,编码后的数据有带startcode。 与FFmpeg示例音频编码的流程基本一致。 3、关键函数说明 (1)avcodec_find_encoder_by_n…

视频编码知识

记录一下学习视频编码的过程和自己的理解 视频 数字图像在计算机中的表示:二维矩阵,或三维矩阵(彩色)。 矩阵中的每个点为像素,数值的大小反应色彩的强度,颜色深度需要使用一定数据空间存储,每…

视频的专业基础知识(一)常用的编码格式和参数

1. 常用的编码格式 编码格式:一个视频文件本身,通常由音频和视频两部分组成。例如视频文件,就是由avc视频编码AAC音频编码组成的,常见的视频编码格式有Xvid,AVC/H.264,MPEG1,MPEG2 等&#xff…

常见视频编码格式解析

常见视频编码格式解析 文章目录 常见视频编码格式解析1、MPEG2-TS编码技术1.1. MPEG-TS简介1.2. 基本概念及TS流概述1.3. 基本流程1.4. TS流传输包(简称TS包)结构分析1.4.1. TS包包头1.4.2. TS包净荷部分1.5. PS节目流2、MPEG-4编码技术2.1. MPEG-4概述2.2. MPEG-4各部分2.3.…

视频编码全流程

视频编解码用到的一些算法: 正反傅里叶变换、fft算法 dct变换、快速dct变换 如何自己实现一个视频编解码器: (1)取一帧作为I帧,类似jpeg压缩编码,也就是 rgb转yuv,然后dct去除高频信息。因为这种压缩会造成边界bloc…

视频编码技术详解

1、引言 如今我们所处的时代,是移动互联网时代,也可以说是视频时代。从快播到抖音,从“三生三世”到“延禧攻略”,我们的生活,被越来越多的视频元素所影响。 而这一切,离不开视频拍摄技术的不断升级&#x…