QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

书评:自动化测试实践

  • 2012-06-06
  • 本文字数:2466 字

    阅读完需:约 8 分钟

编者按:由 InfoQ 主办的全球架构师峰会将于2012 年8 月10 日-12 日在深圳举行,为了更好地诠释架构的意义、方法和实践,InfoQ 中文站近期会集中发布一批与架构相关的文章,本篇即为其中之一。InfoQ 也欢迎读者亲身参与到本次全球架构师峰会中,与来自国内外的顶尖架构师进行面对面的交流。报名参会请点击这里

Dorothy Graham 和 Mark Fewster 的《自动化测试实践》是继他们上本自动化测试参考书的后续。

自动化测试技术在我们完成上本书以后已经得到了显著发展。我们想知道哪些方法已经成功运行,哪些类型的应用正在被测试,以及自动化测试本身发生着什么样的变化。

这本新书主要汇集了那些来自不同组织和技术的成功实战经验。正如笔者对 InfoQ 所说的,其多样性正是他们的意图所在。

我们的意图就是找到那些能够广泛涵盖不同业务,技术和环境的用例。我们唯一想要统一的就是对系统水平上的自动化测试执行的关注(尽管并不具唯一性)。

本书作者从那些接受邀请或自己推荐的作者中选出 28 个例子,对其进行编辑和审阅,并将选择标准统一为以下几点:

  • 该用户故事是否真实(真实事件,而非个人见解)
  • 是否为本书带来独特的亮点(比如,不同于已有用例)
  • 是否具有阅读趣味性(比如,好的用例)
  • 是否有建议性的见解(将会帮助他人)

在序言中,有一表格将例子根据特征进行了分类,使读者能够根据应用领域,项目生命周期或投资回报率来定位相应的例子。同时,结合每个章节内容的简短总结,读者也可方便地定位到书中相关例子。比如,如果你对政府机构中敏捷开发的自动化测试感兴趣,那么就可以快速翻到第七章,然后查看该章节总结,看其是否吸引你。

任何对正在运用的最新系统自动化测试方法感兴趣的人都将发现,这本书全方位涵盖了不同实践(涉及数据库到 SAP 及 Android 测试),是参考书的首选。

尽管如此,它的多样性同时也带来了局限性。每个用例在长度上都有限,读者可能会渴望得到更多关于实际操作上的指导。与此同时,尽管本书对覆盖了多种测试框架,但是缺少详细代码和测试数据例子。

另外,由于例子来自于不同的作者,写作风格多样性成了它另一个不可避免的劣势。并非所有的例子都能带来同样的阅读体验。有的用例采用引人入胜的叙述方式,而有的则如一份评论表格。

但是,作者所带来的评论部分弥补了该书章节间的不统一。作者跨多章节总结了那些常见问题,从而让我们可以受到很大启发。而本书也划分为管理和技术两部分,它们涵盖了自动化测试执行过程中多个关键方面。

在技术方面,作者强调了自动化测试代码应与产品代码保持统一水平准则与良好实践的重要性。同时作者也指出,致力构造一种能支持复用性和可维护性的分层结构(通过在概念和责任上的各个分离 - 测试用例对于可测试化对与测试执行工具)也是自动化测试成功的关键因素之一。

尽管很多组织忽略了该话题,但是我们完全同意可测试化架构非常关键。而通过为可测试化架构分配特定责任也是良好的解决方案(尽可能创建可测试化架构师的角色)。

作者同时也与 InfoQ 分享了他们是如何避免自动化过程中代码上长时间积累的技术债务:

尽管优秀的可测试化架构为避免多数技术债务提供了良好基础,但我们需要不断地地对其进行审查。我们不要害怕改动自动化代码,因为从一开始它就注定不会永远满足我们将来所有需求。不论如何,变化是需要管理的。比如,Lisa Crispin 在她的章节就描述到,每 6 个月他们就有一次致力于自动化代码重构的 sprint。

在管理方面,建立清晰可实践的目标已经成为测试自动化成功的普遍要求。衡量投资回报率有助于为这些目标提供可见性。但是,大多数例子对 ROI 统计局限于自动化成本与相应在重复手动执行上所节省成本进行对比。却往往忽略了组织层面上的因素。只依赖于传统方式、在开发结束时执行 QA 的组织,与自动化执行大量单元测试和静态分析(或其他类型软件验证)的组织相比,他们为同一自动化目的所付出的成本可能无法比拟的。

尽管有部分例子讨论了敏捷开发以及开发人员与其他利益相关者更密切合作所带来的影响,但关于方法论和流程采用的话题并非本书所要讨论的范畴。现在去收集那些由敏捷测试通过实例定义需求在提高系统自动化测试所带来影响,以及在此过程中相应的障碍,可能还为时过早。

虽然《自动化测试实践》并非一本前后连贯的书籍,但是它作为实用的参考,能够为有经验的读者在多种领域和技术上提供相应方法、障碍和解决方案的例子,以及作者具有启发性的概述。然而,对那些在系统自动化测试领域内还是新手的读者,更好的建议是查阅《软件自动化测试》一书,以初步掌握该话题相关的知识。

关于本书作者

Dorothy Graham 是一位在软件测试有近 40 多年经验的全球知名咨询师、演讲者及作家。经过在 Grove Consultants 的 19 年经验,她现在致力于会议与写作。她曾经是 1993 年和 2009 年 EuroSTAR 会议上的主持,并获有软件测试上的 European Excellence Award。她在 Addison-Wesleys 上的书籍包括《软件复审》(与 Tom Gilb 合著于 1993 年),《软件测试自动化》(与 Mark Fewster 合著于 1999 年),和《自动化测试实践》(与 Mark Fewster 合著于 2012 年)。

Mark Fewster 拥有 30 年软件测试和自动化经验。作为一位多平台图形化应用的开发者和经理,他设计出一种可长期使用的自动化测试架构。自从 1993 年加入 Grove Consultants 以来,他一直致力于提供软件测试各个方面的培训和咨询。他在 Addison-Wesley 上的书籍包括《软件测试自动化》(与 Dorothy Graham 合著于 1999 年),及《自动化测试实践》(与 Dorothy Graham 合著于 2012 年)。

该访问基于《自动化测试实践:软件测试自动化实例》一书,由 Dorothy Graham 和 Mark Fewster 合著,并由 Pearson/Addison-Wesley Professional 于 2012 年 1 月出版。ISBN 0321754069。更多信息参见作者网站

查看英文原文: Book Review: Experiences of Test Automation


感谢侯伯薇对本文的审校。

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

2012-06-06 00:002673
用户头像

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

关注

评论

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

架构师训练营第四周作业

烟雨濛濛

ARTS - Week 4

Khirye

ARTS 打卡计划 arts

iOS 动画 - 窗景篇(三·完结)

柯烂

ios swift 动画 移动互联网 动效

融云年中大促钜惠来袭 IM+RTC 超值套餐最低6折起

Geek_116789

Dart vs Swift

柠檬水

swift dart

架构师训练营第四周学习总结

张明森

区块链≠分布式账本,别再傻傻分不清

CECBC

区块链技术 高考 信息防篡改

限频/限流的一些思考

i风语

Java redis 微服务 sentinel ratelimiter

软件架构语录

烟雨濛濛

那些会阻碍程序员成长的细节[3]

MavenTalker

程序员 职业规划 职业成长

MySQL系列 - SQL查询与修改执行过程

俊俊哥

MySQL 性能优化 关系型数据库 存储

来了!8M/S+速度,Pdown复活!

程序员生活志

一二线城市知名 IT 互联网公司名单(新版)

程序员生活志

互联网 IT 大厂

势能造就下的互联网大厂程序员为什么去开滴滴了?

非著名程序员

程序员 程序人生 提升认知

一群龙舟划手 “拍了拍” 你:端午节安康~

博睿数据

【写作群星榜】6.20~6.26 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

创新管理体系标准ISO56002介绍

涛哥 数字产品和业务架构

数字化转型 创新

MySQL实战45讲笔记(1)

程序员老王

msyql

了不起的 TypeScript 入门教程 [1.2 w字]

阿宝哥

Java typescript 大前端 Web

揭秘!中国人一定要知道的北斗卫星系统

程序那些事

北斗卫星 北斗系统 卫星定位 卫星授时 黑科技

玩转Java8中的 Stream 之从零认识 Stream

Java小咖秀

学习 面试 stream java8 经验

重学 Java 设计模式:实战中介者模式「按照Mybatis原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

小傅哥

设计模式 小傅哥 代码优化 代码规范 中介者模式

IM聊天教程:发送图片/视频/语音/表情

GoEasy消息推送

websocket 即时通讯 聊天室 聊天

深入浅出kubernetes之WorkQueue详解

博文视点Broadview

Kubernetes 源码分析 k8s 队列 延迟队列

海阅优品致力打造新零售蓝海

Geek_116789

告别静默式看房 融云音视频助力上海中原 App 上线 VR 带看服务

Geek_116789

架构师训练营第四周作业

张明森

从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持

渔子长

flutter 大前端

计算机操作系统基础(五)---Linux的进程管理

书旅

php 线程 多线程 操作系统 进程

对直播带货的一点思考

Neco.W

直播 直播带货

为什么建议你使用枚举?

王磊

Java 枚举

书评:自动化测试实践_DevOps & 平台工程_Manuel Pais_InfoQ精选文章