速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 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:182609
用户头像

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

关注

评论

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

golang和java的性能对比及golang内存管理

hanaper

官方线索|2021 长沙·中国 1024 程序员节

穿过生命散发芬芳

1024我在现场

和12岁小同志搞创客开发:如何驱动红外遥控器?

不脱发的程序猿

少儿编程 DIY 红外遥控器 创客开发

Apache APISIX 2.10.0 正式发布,带来第一个 LTS 版本!

API7.ai 技术团队

开源 API网关 APISIX Apache APISIX

官方线索|Gitee2021程序员节特别活动

穿过生命散发芬芳

1024我在现场

Java常用容器笔记

风翱

java 10月月更

架构:微内核架构(Microkernel Architecture)二

程序员架构进阶

架构 规则引擎 微内核架构 OSGi 10月月更

Golang网络编程

CodeWithBuff

golang 网络编程 Go 语言 web socket

官方线索|2021 长沙·中国 1024 程序员节

耳东@Erdong

1024我在现场 10月月更

基于分布式认知工业互联网的汽车零部件质量溯源平台

CECBC

这篇博客和你唠唠 python 并发,滚雪球学python第四季,第16篇

梦想橡皮擦

10月月更

官方线索|RTE2021 实时互联网大会

穿过生命散发芬芳

1024我在现场

Android开发中遇到加载有相同函数的so库时的问题

轻口味

10月月更

网站性能优化的实战指南

devpoint

html 性能优化 10月月更

官方线索|CCF CED 中国工程师文化日

穿过生命散发芬芳

1024我在现场

技术人在职场应该知道的沟通技巧

baiyutang

沟通模型 10月月更

Apache APISIX 社区周报 | 2021 10.1-10.14

API7.ai 技术团队

开源社区 API网关 APISIX 社区周报 Apache APISIX

SQL注入进阶篇一php代码审计

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

官方线索|第二届1024国际智能投研开发者大会

穿过生命散发芬芳

1024我在现场

数字货币已被世界公认,中国市场即将爆发

CECBC

在线中文繁简体转换工具

入门小站

工具

【设计模式】第三篇-单例模式

Brave

设计模式 单例模式 10月月更

线程池处理批量接口请求实践

FunTester

线程池 性能测试 接口测试 测试框架 FunTester

从转移工具到移动急救室,5G救护车给行业带来了什么变化?

脑极体

我与消息队列的八年情缘

勇哥java实战分享

RocketMQ 消息队列 Activemq

【Flutter 专题】27 图解 ListView/GridView 混用时滑动冲突小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

官方线索|【云+社区】程序员过节指南:如何玩转你的1024 ?

Regan Yue

1024 1024我在现场

不了解Zookeeper的童鞋看过来哦~

Regan Yue

zookeeper 10月月更

官方线索|鸿蒙1024程序员节

轻口味

1024我在现场

竞跑加速! 数字人民币场景全覆盖

CECBC

linux之sed使用技巧

入门小站

Linux

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