程序员的测试课
郑晔
前火币网首席架构师,前Thoughtworks首席咨询师
新⼈⾸单¥59.9
1124 人已学习
课程目录
已更新 19 讲 / 共 20 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 为什么写测试是程序员的本职工作?
基础篇 (11讲)
01 | 实战:实现一个 ToDo 的应用(上)
02 | 实战:实现一个 ToDo 的应用(下)
03 | 程序员的测试与测试人员的测试有什么不同?
04 | 自动化测试:为什么程序员做测试其实是有优势的?
05 | 一个好的自动化测试长什么样?
06 | 测试不好做,为什么会和设计有关系?
07 | Mock 框架:怎么让测试变得可控?
08 | 单元测试应该怎么写?
09 | 测试覆盖率:如何找出没有测试到的代码?
10 | 为什么 100% 的测试覆盖率是可以做到的?
11 | 集成测试:单元测试可以解决所有问题吗?
应用篇 (5讲)
12 | 实战:将 ToDo 应用扩展为一个 REST 服务
13 | 在 Spring 项目中如何进行单元测试?
14 | 在 Spring 项目如何进行集成测试?
15 | 测试应该怎么配比?
16 | 怎么在遗留系统上写测试?
扩展篇 (2讲)
17 | TDD 就是先写测试后写代码吗?
18 | BDD 是什么东西?
程序员的测试课
15
15
1.0x
00:00/00:00
登录|注册

18 | BDD 是什么东西?

你好,我是郑晔!
在扩展篇中,我们要讨论的是在不同方向上的写测试探索。在上一讲里,我给你介绍了 TDD。TDD 是在写测试的时机上进行了不同的探索。这一讲,我们再来讲另一个实践——BDD,它是在写测试的表达方式上进行的不同探索。
我们都知道,在软件开发中最重要的一个概念就是分层,也就是在一些模型的基础上,继续构建新的一些模型。程序员最耳熟能详的分层概念就是网络的七层模型,只要一层模型成熟了,就会有人基于这个模型做延伸的思考,这样的做法在测试上也不例外。
当 JUnit 带来的自动化测试框架风潮迅速席卷了整个开发者社区,成了行业的事实标准,就开始有人基于测试框架的模型进行延伸了。各种探索中,最有影响力的就是 BDD。

行为驱动开发

BDD 的全称是 Behavior Driven Development,也就是行为驱动开发。BDD 这个概念是 2003 年由 Dan North 提出来的。
单元测试框架写测试的方式更多的是面向具体的实现,这种做法的层次是很低的,BDD 希望把这个思考的层次拉高。拉到什么程度呢?软件变化的源动力在业务需求上,所以,最好是能够到业务上,而校验业务的正确与否的就是业务行为。这种想法很大程度上是受到当时刚刚兴起的领域驱动设计(Domain Driven Design)中通用语言的影响。在 BDD 的话语体系中,“测试”的概念就由“行为”所代替,所以,这种做法称之为行为驱动开发。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《程序员的测试课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部