写点什么

书评:验收测试驱动开发实践指南

  • 2013-06-26
  • 本文字数:1211 字

    阅读完需:约 4 分钟

《验收测试驱动开发实践指南》一书作为介绍性使用指南,旨在为那些从零开始执行和运用验收测试驱动开发的团队提供指导。

在开头几页简单介绍之后,读者马上就会接触到大量对详细需求的讨论,在紧接着的第二章读者则会接触 cucumber scenarios 和 Ruby 测试自动化代码。作者以一个小型 web 程序为例说明了如何通过实例来促进共同理解,以及测试和开发如何在一起协作自动化测试。同时作者也在这一部分展示了其它好的实践,其中包括:在定义实例时关注业务重点(从而避免了规范中用户界面交互细节),还有采用测试驱动开发(TDD)原则(失败/ 成功/ 重构)来演进自动化测试代码。

书中的第二部分转而讨论了使用 Fitness 测试和 Java 自动化来执行一个从外到内的开发实践,从而驱动领域代码发现。该实践在如何避免还未对领域有充分理解前就直接开发产品代码,以及如何将 TDD 结合到 ATDD 上带来了一些启示。但遗憾的是,作者在 Fitness 测试框架繁琐细节上花费了太多的精力,以至于模糊了那些相关的见解,造成了更密集的阅读。

尽管该技术开始时可能会吸引开发人员或测试中的软件工程师,但也可能疏远那些非技术读者。任何团队中的功能测试工程师,需求分析师和产品负责人等人员都是成功执行验收测试驱动方法的关键。如果缺少他们,那该实践中的“验收”部分就毫无意义,只是一个假设而已。

本书的第二部分讨论了ATDD 的原则。尽管偶尔涉及书中第一部分的例子,但是对很多概念及想法,作者并没有提供任何实际案例。而且,对偶尔涉及到某些参考书上的例子,作者也假设读者都已经阅读过,从而在某种程度上削弱了它作为一本入门书籍的意图。

尽管如此,本书该部分确实在指出并总结多个与测试相关的,并且是成功敏捷测试人员必须掌握的实践上做出了不错的工作:从行为驱动测试(BDD)到测试设计技能,再到实例化需求实践,一直到清理测试代码和重构。

总的来说,《验收测试驱动开发实践指南》最终并没有真正为某一层次读者提供他们所需要的东西。因为对于有经验的读者来说,它过于简单;而对于新手来说,它又太过于宽泛而无法开始。读者最好进一步阅读相关书籍来明确自己对ATDD 需求及兴趣点。读者可以通过 GojkoAdzic 的《SpecificationByExample》来改进流程和减少开发中的费用和失败,通过 KentBeck 的经典书籍来理解测试驱动开发的主旨,实施 BDD using Cucumber ,或者只是理解什么是敏捷测试

关于本书作者

MarkusGärtner就职于德国汉堡的 it-agileGmbH 并担任敏捷测试,培训师,教练及顾问。他在 2011 年组织成立了德国敏捷测试探索讨论会(GermanAgileTestingandExploratoryworkshop),并在 2011 联合创办了周末测试的欧洲分会(EuropeanchapterofWeekendTesting)。

参考原文链接: BookReview:ATDDByExample


感谢陈菲对本文的审校。

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

2013-06-26 09:182902
用户头像

发布了 39 篇内容, 共 14.8 次阅读, 收获喜欢 2 次。

关注

评论

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

训练营第二周作业

爱码士

1分钟教你如何整理 React 知识体系

Leo

学习 大前端 React

Flink State 误用之痛,你中招了吗?

Apache Flink

flink

架构师训练营第 1 期第 7 周作业

业哥

为什么 React Hooks 优于 HOCs(译)

西贝

Java 翻译 React Hooks HOC

5G应用的实时决策

VoltDB

5G 物联网 工业互联网 技术分享

Redis还可以做哪些事?

Java旅途

redis

进“大厂”的故事

北风

职业规划 职业成长 大厂

物联网时代存储告急 边缘存储如何缓解存储压力?

京东科技开发者

云计算 云服务 云存储

老板下了死命令,要把日志系统切换到Logback

沉默王二

Java logback 日志系统

队列实现栈的3种方法,全都击败了100%的用户!

王磊

Java 算法和数据结构

java安全编码指南之:文件和共享目录的安全性

程序那些事

代码规范 java安全 java安全编码指南 java编码 程序那些事

TCP/IP 基础知识总结

苹果看辽宁体育

后端 计算机网络 计算机

网络直播打赏背后的套路:刺激用户不理智消费

石头IT视角

Java-技术专题-时间工具类的使用方案

码界西柚

元模型驱动(二)构建元模型ーGME构建分层模型

KaYa

DDD Kaya MDA GME MDD

训练营第二周课程总结

爱码士

训练营

基于服务设计的线上展览

京东科技开发者

云安全

从零实现一个动态表单设计(编辑)器

徐小夕

Java 编辑器 H5 Node React

sharding-jdbc 分库分表的 4种分片策略,还蛮简单的

程序员小富

Java 分库分表

【架构师训练营 1 期】第六周作业

诺乐

元模型驱动(一)构建元模型ーGME入门

KaYa

DDD Kaya MDA GME MDD

轻量型GPU应用首选 京东智联云推出NVIDIA vGPU实例

京东科技开发者

人工智能 gpu

【架构师训练营 1 期】第六周学习总结

诺乐

JAVA魅力之神奇的数组带给你不一样的乐趣

小Q

Java 学习 架构 面试 数组

面试官:讲一下缓存穿透、缓存雪崩和缓存击穿?

bigsai

redis 缓存穿透 缓存击穿 缓存雪崩

酷睿i5-10600KF对标锐龙7 3700X,游戏表现领先且售价更香

E科讯

给打工人熬一锅「毒」鸡汤

Java_若依框架教程

程序员 打工人 毒鸡汤

接口测试(apipost、jmeter和python脚本)

测试人生路

Python 接口测试 测试工具

Go 与异步 IO - io_uring 的思考

IceberGu

Linux 异步IO io_uring Go 语言

阿里二面惨败,痛定思痛狂刷1000+面试题,成功五面上岸滴滴(面经+面试题分享)

Java架构追梦

Java 架构 腾讯 面试 蚂蚁金服

书评:验收测试驱动开发实践指南_DevOps & 平台工程_Manuel Pais_InfoQ精选文章