有一个明显但被忽视的采用BDD的策略非常出色。

一个被广泛采用的BDD可以带来不同。这只是分享同一个例子的问题,在软件开发的三个主要角色上有相同的共识。这会带来不同,因为你减少了误解、重复和无用的功能。它之所以有效,是因为它专注于做正确的功能,而不是做正确的功能。

经典的BDD采用策略

经典的策略是教三个主要角色通过Gherkin 进行协作。业务人员学习编写场景,开发人员将其转换为代码,QA验证它们。但在这种采用中有一个共同的问题:Gherkin是一种编程语言,企业不知道如何编写代码。

开始写Gherkin 有一个次要的影响:开发者通常认为商业是一个无可争议的权威。因此,开发人员没有勇气帮助企业修复场景。QA在这方面取得了更大的成功,因为他们把Gherkin 视为质量测试,他们对质量有最终决定权。

这就是问题所在。开发人员是唯一能够正确处理编程语言的人,他们太忙,太害怕,无法提前采用。因此,采用失败,并以两种可能性之一告终:BDD停止,或BDD继续处于次优状态,永远无法充分发挥其潜力。

由内而外的BDD采用策略。

这种策略是如此明显,以至于我不知道我们怎么都没有注意到它。

BDD是开发人员的需求,而不是业务,也不是QA。开发人员创建它是为了满足它的需求,然后它传播开来。BDD在开发者手中太强大了,以至于它一直在增长和传播,直到今天。那么,为什么不复制这种策略呢?

由内而外的BDD采用策略是模仿BDD本身的创建,但速度更快。它是由内而外的,因为它从开发人员开始,并通过业务和QA展开。在这个策略中,BDD不是传授的东西,而是希望的东西。

要了解这项工作的原因,我们需要了解开发人员在日常工作中面临的问题。开发人员收到用模糊语言编写的指令,他们必须进行解释和实现。一旦他们完成了,QA就会审查他们的工作。QA增加了自己的标准,QA可能会提出不同的需求和要求。开发人员正在进行猜测和重做。

BDD可以作为一种工具呈现给开发人员,以避免猜测和重复。在任何工作之前,如果有不清楚的地方,开发人员可以正确地编写Gherkin 场景。他们会把它作为一个商业例子,因为它读起来像英语,他们会有明确的回应。QA也是一样,如果他们认为在任何可能引起讨论的边缘情况下,他们可以在编写代码之前编写场景,然后询问QA。对于开发者来说,Gherkin 成了解决疑问和避免重复的工具。

后来,随着Gherkin 的来来往往,企业会了解Gherkin 以及它们如何影响产品行为。他们学到了一些只有通过实践才能学到的东西。QA也是如此。这两个角色都是在开发人员的日常实践中开始学习的,所以最终,所有人都会齐心协力。

有好多人好奇Gherkin 是什么?Gherkin是一种商业可读的、特定于领域的语言,专门为行为描述而创建。它使您能够从行为测试中删除逻辑细节。

本文 链接
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号 【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号 【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号 【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球 向大咖提问,近距离接触,或者获得私密资料分享。

喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
微博 【智能时刻】 智能时刻
哔哩哔哩 【超级架构师】

抖音 【cea_cio】超级架构师

快手 【cea_cio_cto】超级架构师

小红书 【cea_csa_cto】超级架构师

谢谢大家关注,转发,点赞和点在看。

【软件设计】BDD由内而外采用策略相关推荐

  1. 【软件工程】BDD由内而外采用策略

    有一个明显但被忽视的采用BDD的策略非常出色. 一个被广泛采用的BDD可以带来不同.这只是分享同一个例子的问题,在软件开发的三个主要角色上有相同的共识.这会带来不同,因为你减少了误解.重复和无用的功能 ...

  2. 服务器监控报警系统软件设计,基于E—mail的远程监控系统报警软件设计.doc

    基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 报警系统是远程监控系统的重要组成部分,实现的关键在于如何对监控对象指 ...

  3. 软件设计之 数据库设计

    [按语:在软件设计或是动态网站开发中,数据库设计时很重要,我觉得可以说是开发工作的核心部分,所以学好数据库设计,是很重要的,也是大有前途的...]  ◆.概念 首先要搞清楚容易混淆的两个概念:&quo ...

  4. 《软件设计精要与模式》前言

    缘起 用过去几年互联网上最酷,而在当下已经被用滥的名词来说,我在2004年成为了一名博客,用日志的方式记录自己成长的经历.坦白说,技术的成长远远比身体的发育更加地艰辛与缓慢,尤其是当今信息爆炸的年代, ...

  5. 《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程

    本节书摘来异步社区<挖掘管理价值:企业软件项目管理实战>一书中的第2章,第2.4节,作者: 徐勤 责编: 杨海玲, 更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  6. visual studio 设计器不显示_面向国际市场的装置开发运维软件设计与实现

    南京南瑞继保电气有限公司的研究人员陈宏君.张磊.徐睿.曾凯.刘坤,在2019年第3期<电气技术>上撰文,分析了面向国际市场的用户软件现状与问题,介绍了新一代控制保护平台PCS-S系列装置配 ...

  7. 软件设计的第一性原理:结构化抽象

    软件设计的第一性原理,是结构化抽象.术生于道,技术生于原理. 引语 所谓的第一性原理,就是无论使用什么方法论,都无法绕过的那最最基础的部分.无论是 DDD 设计,还是面向模式的架构设计,或 微服务架构 ...

  8. 软件设计是怎样炼成的(1)——什么是优秀的设计?

    摘要: 某项目的设计文档评审会上,各路技术大牛进行了"热烈"的讨论,讨论的焦点是怎样的设计才漂亮!大家围绕着如何OO,如何高内聚低耦合,如何反转控制等话题进行了"热烈&q ...

  9. 软件开发模型_20202021企业软件开发流程(5)软件开发过程模型瀑布模型(2)软件设计、编码...

    知识点 1.软件架构(软件体系结构) 软件架构将系统描述为计算构件的描述.计算构件的交互以及构件交互的约束. 2.逻辑架构与物理架构 软件架构设计 逻辑架构:规定了软件系统由哪些逻辑元素组成以及这些逻 ...

  10. 软件开发、软件设计培训笔记

    一.代码质量的提高培训笔记(2013.11.29): 部分内容摘自网络: 1.      struct:注意成员排列顺序. 2.      #pragma pack(1) :指定按1字节对齐. 3.  ...

最新文章

  1. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻
  2. Kubernetes 稳定性保障手册:洞察+预案
  3. 三招让你成为vue.js大师
  4. 学好Python爬取京东知乎价值数据
  5. HALCON学习之旅(一)
  6. 5数之和python_Python基本语法5:数字和列表,基础,五
  7. 使用ASP.NET Core和Angular 8的服务器端分页
  8. 会vue再上手uni-app难度大吗?
  9. 对于怎么理解js中Event Loop,你可以看这篇文章
  10. phantom.js - HTML To PDF
  11. 集合框架之Connection(马士兵教育视频教程总结笔记)
  12. Python面向对象编程:数据封装、继承和多态
  13. 使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换
  14. 倒序输出字符串,如输入i love you,则输出you love i
  15. nginx日志磁盘空间使用率100%
  16. 资金合规结算——聚焦银行内部两种不同账户
  17. 【内网渗透】域横向PTHPTKPTT哈希票据传递
  18. 在北京坐公交和大人流量地铁站换乘
  19. 【树莓派】基于树莓派,实现无线路由功能
  20. 计算机网络——不同网段下的主机通信

热门文章

  1. Android MTK log分析
  2. 深度学习安装笔记(二)显卡、显卡驱动、CUDA 的关系以及显卡驱动升级
  3. Mybatis-plus最新代码生成器(3.5.1+)的使用
  4. linux防挂马软件,Linux利用Python脚本检测网站挂马程序
  5. python opencv 修改局部区域像素值
  6. VBA写入公式(4):数字转大写金额公式
  7. 四线电阻式触摸屏原理
  8. 整形平台新氧的商标纠纷案背后:商标是创业公司命根子
  9. 网络学习笔记之路由器基本命令行操作
  10. 怎么样对阿里云ECS主机进行绑定域名