【软件设计】BDD由内而外采用策略
有一个明显但被忽视的采用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由内而外采用策略相关推荐
- 【软件工程】BDD由内而外采用策略
有一个明显但被忽视的采用BDD的策略非常出色. 一个被广泛采用的BDD可以带来不同.这只是分享同一个例子的问题,在软件开发的三个主要角色上有相同的共识.这会带来不同,因为你减少了误解.重复和无用的功能 ...
- 服务器监控报警系统软件设计,基于E—mail的远程监控系统报警软件设计.doc
基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 报警系统是远程监控系统的重要组成部分,实现的关键在于如何对监控对象指 ...
- 软件设计之 数据库设计
[按语:在软件设计或是动态网站开发中,数据库设计时很重要,我觉得可以说是开发工作的核心部分,所以学好数据库设计,是很重要的,也是大有前途的...] ◆.概念 首先要搞清楚容易混淆的两个概念:&quo ...
- 《软件设计精要与模式》前言
缘起 用过去几年互联网上最酷,而在当下已经被用滥的名词来说,我在2004年成为了一名博客,用日志的方式记录自己成长的经历.坦白说,技术的成长远远比身体的发育更加地艰辛与缓慢,尤其是当今信息爆炸的年代, ...
- 《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程
本节书摘来异步社区<挖掘管理价值:企业软件项目管理实战>一书中的第2章,第2.4节,作者: 徐勤 责编: 杨海玲, 更多章节内容可以访问云栖社区"异步社区"公众号查看. ...
- visual studio 设计器不显示_面向国际市场的装置开发运维软件设计与实现
南京南瑞继保电气有限公司的研究人员陈宏君.张磊.徐睿.曾凯.刘坤,在2019年第3期<电气技术>上撰文,分析了面向国际市场的用户软件现状与问题,介绍了新一代控制保护平台PCS-S系列装置配 ...
- 软件设计的第一性原理:结构化抽象
软件设计的第一性原理,是结构化抽象.术生于道,技术生于原理. 引语 所谓的第一性原理,就是无论使用什么方法论,都无法绕过的那最最基础的部分.无论是 DDD 设计,还是面向模式的架构设计,或 微服务架构 ...
- 软件设计是怎样炼成的(1)——什么是优秀的设计?
摘要: 某项目的设计文档评审会上,各路技术大牛进行了"热烈"的讨论,讨论的焦点是怎样的设计才漂亮!大家围绕着如何OO,如何高内聚低耦合,如何反转控制等话题进行了"热烈&q ...
- 软件开发模型_20202021企业软件开发流程(5)软件开发过程模型瀑布模型(2)软件设计、编码...
知识点 1.软件架构(软件体系结构) 软件架构将系统描述为计算构件的描述.计算构件的交互以及构件交互的约束. 2.逻辑架构与物理架构 软件架构设计 逻辑架构:规定了软件系统由哪些逻辑元素组成以及这些逻 ...
- 软件开发、软件设计培训笔记
一.代码质量的提高培训笔记(2013.11.29): 部分内容摘自网络: 1. struct:注意成员排列顺序. 2. #pragma pack(1) :指定按1字节对齐. 3. ...
最新文章
- Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻
- Kubernetes 稳定性保障手册:洞察+预案
- 三招让你成为vue.js大师
- 学好Python爬取京东知乎价值数据
- HALCON学习之旅(一)
- 5数之和python_Python基本语法5:数字和列表,基础,五
- 使用ASP.NET Core和Angular 8的服务器端分页
- 会vue再上手uni-app难度大吗?
- 对于怎么理解js中Event Loop,你可以看这篇文章
- phantom.js - HTML To PDF
- 集合框架之Connection(马士兵教育视频教程总结笔记)
- Python面向对象编程:数据封装、继承和多态
- 使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换
- 倒序输出字符串,如输入i love you,则输出you love i
- nginx日志磁盘空间使用率100%
- 资金合规结算——聚焦银行内部两种不同账户
- 【内网渗透】域横向PTHPTKPTT哈希票据传递
- 在北京坐公交和大人流量地铁站换乘
- 【树莓派】基于树莓派,实现无线路由功能
- 计算机网络——不同网段下的主机通信