你好,我是郑晔!
在扩展篇中,我们要讨论的是在不同方向上的写测试探索。在上一讲里,我给你介绍了 TDD。TDD 是在写测试的时机上进行了不同的探索。这一讲,我们再来讲另一个实践——BDD,它是在写测试的表达方式上进行的不同探索。
我们都知道,在软件开发中最重要的一个概念就是分层,也就是在一些模型的基础上,继续构建新的一些模型。程序员最耳熟能详的分层概念就是网络的七层模型,只要一层模型成熟了,就会有人基于这个模型做延伸的思考,这样的做法在测试上也不例外。
当 JUnit 带来的自动化测试框架风潮迅速席卷了整个开发者社区,成了行业的事实标准,就开始有人基于测试框架的模型进行延伸了。各种探索中,最有影响力的就是 BDD。
行为驱动开发
BDD 的全称是 Behavior Driven Development,也就是行为驱动开发。BDD 这个概念是 2003 年由 Dan North 提出来的。
单元测试框架写测试的方式更多的是面向具体的实现,这种做法的层次是很低的,BDD 希望把这个思考的层次拉高。拉到什么程度呢?软件变化的源动力在业务需求上,所以,最好是能够到业务上,而校验业务的正确与否的就是业务行为。这种想法很大程度上是受到当时刚刚兴起的领域驱动设计(Domain Driven Design)中通用语言的影响。在 BDD 的话语体系中,“测试”的概念就由“行为”所代替,所以,这种做法称之为行为驱动开发。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
0/1000字
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《程序员的测试课》,如需阅读全部文章,
请订阅文章所属专栏,新⼈⾸单¥59.9
立即订阅