写点什么

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

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

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

关注

评论

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

shell运算详解,看这一篇就够了!

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

测试开发【Mock 平台】08 开发:项目管理(四)编辑功能和Component抽离

MegaQi

8月月更

机器学习模型验证:被低估的重要一环

澳鹏Appen

人工智能 机器学习 模型开发 模型开发训练 模型验证

参天生长大模型:昇腾AI如何强壮模型开发与创新之根?

脑极体

HarmonyOS自动化测试框架—Hypium

HarmonyOS开发者

HarmonyOS

网络可观测性:让您的网络监控更上一层楼|TechGenix

观测云

【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)

荣耀开发者服务平台

手机 新手指南 安卓 荣耀 honor

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Xd

Java 接口测试

搭载2.8K 120Hz OLED华硕好屏 无畏Pro15 2022锐龙版屏开得胜

科技热闻

开源一夏 | mysql5.7 安装部署 -二进制安装

zhangpfly

MySQL 开源 MySQL 运维 #开源 8月月更

Apache DolphinScheduler 3.0.0 正式版发布!

白鲸开源

海豚调度 DolphinScheduler 调度器 版本发布

RocketMQ整体架构与基本概念

急需上岸的小谢

8月月更

120Hz OLED拒绝“烧屏”!华硕无双全能轻薄本

科技热闻

AIRIOT答疑第8期|AIRIOT的金字塔服务体系是如何搞定客户的?

AIRIOT

低代码 物联网 低代码,项目开发

一次由groovy引起的fullGC问题排查

转转技术团队

从Delta 2.0开始聊聊我们需要怎样的数据湖

网易数帆

大数据 数据湖 Arctic 湖仓一体

RocketMQ 消息集成:多类型业务消息——定时消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

What's new in dubbo-go-pixiu 0.5.1

apache/dubbo-go

dubbogo Dubbo3 Dubbo网关

开源一夏 | 提高代码可重用性,减少重复劳动--手把手带你实现Python自定义模块并上传到pypi,贡献自己创造的轮子为所有人使用,让Python开发更加简单

迷彩

Python 开源 签约计划第三季 8月月更 自定义模块

Java System.lineSeparator 方法

HoneyMoose

6月各手机银行活跃用户较快增长,创半年新高

易观分析

数据分析 金融 电子银行

CEO对今天的CIO们真正的要求是什么?

BeeWorks

什么是企业知识库?有什么作用?如何搭建?

金陵老街

vue cli 知识库 spring-boot

云渲染的应用正在扩大,越来越多的行业需要可视化服务

Finovy Cloud

云渲染 GPU渲染

【C#】WCF和TCP消息通信练习,实现群聊功能

南蓬幽

签约计划第三季 8月月更

企业即时通讯是什么?可以应用在哪些场景?

BeeWorks

选择是公有云还或是私有云,这很重要吗?

BeeWorks

兼具外观、性能、屏幕!华硕灵耀X 14火热抢购中

科技热闻

MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先

阿里巴巴云原生

数据库 阿里云 微服务 云原生 限流

从企业的视角来看,数据中台到底意味着什么?

BeeWorks

每日一R「03」Borrow 语义与引用

Samson

8月月更 ​Rust

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