写点什么

行为驱动开发关注点从数据库转向领域模型

  • 2013-08-06
  • 本文字数:757 字

    阅读完需:约 2 分钟

Julie Lerman 在 MSDN 杂志中建议,设计应用的时候应开始使用行为驱动开发(BDD),并着重关注在领域模型而不是数据库。

Julie Lerman,这位自 2003 年以来的一直都是微软 MVP、同时担任顾问和.NET 平台的导师说,BDD 让开发者在构建逻辑和测试的时候关注用例和行为,并用作在和客户讨论问题时定义验收的标准。对于BDD 的初学者,Julie 使用Visual Studio、C#和SpecFlow 实现了一个例子。

SpecFlow 是一个在.NET 平台上开源的工具,作为 Cucumber 家族中的一员,它也支持其他平台的集成。他们使用 Gherkin ,一种基于关键字的语言去描述一个用户故事场景,其中最重要的是 Given,When 和 then。Julie 给出了场景中的一个小例子:

Given(对于)指定的某个用户输入了用户的信息,

When(当) 她完成输入了更多的信息

then(那么) 这个用户的信息应该保存在系统中

SpecFlow 整合了 Visual Studio 并能为指定场景生成和执行测试。从一个简单的用例故事开始,Julie 使用这些工具创建了测试项目并且执行了需要为描述用户故事场景所创建和运行的测试的步骤。

Julies 认为自己是一名数据极客,她十分关注和客户的协作和对其业务的理解。因此她相信领域驱动开发 (DDD) 和行为驱动开发是需要遵守的重要原则。

用户可以在 SpecFlow 的网站上找到更多的导学手册文档

BDD 是在大约 2006 年由 Dan North 创立的,他还写了一篇介绍和关于从BDD 角度去看用例故事的文章。

《实例化需求》一书介绍的是一种跟BDD 关系密切的需求定义方法。

查看英文原文: Get Started With Behaviour-Driven Development Focusing on the Domain Instead of on the Database


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-08-06 01:582098
用户头像

发布了 81 篇内容, 共 29.2 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | Golang协程池的使用

测吧(北京)科技有限公司

测试

Ribbon都有哪些负载均衡的策略?

想要飞的猪

Ribbon

软件测试 | 测试开发 | UI遍历中页面定义和动作事件筛选方法

测吧(北京)科技有限公司

测试

IPQ5018, 802.11ax,wifi 6e,QCN9074//IPQ8072A IPQ8072 IPQ8074 IPQ8074A 4x4/8x8 2.4G & 5G 802.11ax //Wallys

wallys-wifi6

IPQ8072 ipq5018 IPQ8074

OBCP实验全面升级|官方为你送上备考攻略+福利

OceanBase 数据库

软件测试 | 测试开发 | code2vec 代码的连续分布式矢量表示

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 用模拟器实现视频流的音画分离

测吧(北京)科技有限公司

测试

KaiwuDB 正式加入中国信通院数据库应用创新实验室

KaiwuDB

不会还有程序员不知道跳槽季靠这1700道java面试题就能平淌大厂吧

Geek_0c76c3

Java 数据库 程序员 架构 面试

阿里面试官内部题库!阿里发布2022年Java社招岗(正式版)面试题

Geek_0c76c3

Java 数据库 开源 程序员 架构

8万字208道Java经典面试题总结(附答案)

Geek_0c76c3

Java 数据库 开源 程序员 开发

软件测试 | 测试开发 | 分布式锁的实现方案

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Aiomysql 与 Sqlalchemy 的使用

测吧(北京)科技有限公司

测试

阿里云云通信作为CPaaS全球代表服务商,上榜Gartner报告

阿里云CloudImagine

阿里云 云通信 通信云 Gartner

基于EMR的新一代数据湖存储加速技术详解

阿里云大数据AI技术

大数据 企业号九月金秋榜

软件测试 | 测试开发 | 如何提高站内SEO

测吧(北京)科技有限公司

测试

105道Java面试题,认真思考对你面试很有价值

Geek_0c76c3

Java 数据库 开源 程序员 面试

系统集成行业如何进行降本增效

Onegun

小程序 小程序容器

软件测试 | 测试开发 | Pandas数据分析及可视化应用实践

测吧(北京)科技有限公司

测试

开发者有话说|谢谢当年那个埋下对科技热爱的种子那个少年

宇宙之一粟

个人成长 人生故事 9月月更

软件测试 | 测试开发 | Vue3.0 如何写自定义指令

测吧(北京)科技有限公司

测试

hystrix熔断器的工作流程与它的舱壁模式

想要飞的猪

Hystrix hystrix名词概念

软件测试 | 测试开发 | 基于NSQ搭建高可用分布式消息队列

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | TorchServe搭建codeBERT分类模型服务

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 如何用 docker 搭建虚拟环境

测吧(北京)科技有限公司

测试

如何保障物联网平台的安全性与健壮性

EMQ映云科技

物联网 IoT emqx SSL/TLS 9月月更

探究MYSQL之索引

C++后台开发

MySQL 中间件 后端开发 C++开发 数据库索引

软件测试 | 测试开发 | kafka 从入门到了解

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 分布式自增ID算法Snowflake简介

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | GraphQl:让你的接口所得即所要

测吧(北京)科技有限公司

测试

喜迎华诞!10月月更伴随着国之盛庆向你走来!

InfoQ写作社区官方

热门活动 10月月更

行为驱动开发关注点从数据库转向领域模型_语言 & 开发_Jan Stenberg_InfoQ精选文章