HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

书评:自动化测试实践

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

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

关注

评论

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

强大的Git客户端 Tower for Mac激活码

mac大玩家j

git Mac软件 Git客户端

用户案例合集 | 物联网平台的时序数据处理难点与优化实践

TDengine

时序数据库 ​TDengine 国产时序数据库

操作系统迁移难?Alibaba Cloud Linux 支持跨版本升级 | 龙蜥技术

OpenAnolis小助手

开源 操作系统 迁移 阿里云服务器 龙蜥社区

《用战略规划的方式做孩子的人生规划》-置顶向下-战略七力

Jxin

育儿 教育 职业生涯规划 战略规划

Mac电脑数据转换 EasyDataTransform激活最新

胖墩儿不胖y

数据处理 Mac软件 数据处理工具 编辑数据

OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击

华为云PaaS服务小智

云计算 软件开发 华为云

DevOps平台建设的关键点是什么?

laofo

DevOps cicd 研发效能 持续交付 效能度量

体验华为云CodeArts Check IDE插件国际化展示效果

华为云PaaS服务小智

软件开发 代码质量 华为云 代码检查

电力行业首个自主可控的大模型发布了!百度飞桨、文心大模型提供支持

飞桨PaddlePaddle

飞桨 大模型 文心大模型

大模型太贵?找找自己的原因好吧?

白洞计划

大模型

开发人员的首选:CodeWhisperer

亚马逊云科技 (Amazon Web Services)

#人工智能

Moblink与深度链接:用户裂变的增长利器

MobTech袤博科技

大数据

火山引擎DataTester智能发布:助力产品降低功能迭代风险

字节跳动数据平台

大数据 A/B 测试 对比实验 数字化增长 企业号10月PK榜

如何在Mobpush中配置应用包名

MobTech袤博科技

大数据

从 Greenplum 到 YMatrix,某头部动力电池厂商核心业务数据的迁移实践

YMatrix 超融合数据库

greenplum 迁移数据 超融合数据库 YMatrix 电池厂商

零售业:别让数据安全成为业务的绊脚石!

极盾科技

数据安全 零售行业

Python 元组完全指南1

小万哥

Python 程序员 软件 后端 开发

ShareSDK:社会化分享是如何助力APP拉新促活的

MobTech袤博科技

大数据 前端

EMQ 云边协同的 IIoT 解决方案架构,亮相 2023 工博会

新消费日报

要体验 AI 编程助手吗?

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 AIGC

解读亚马逊云服务器 EC2 预留实例与按需实例的区别,及其在成本节约的优势

亚马逊云科技 (Amazon Web Services)

sdk 云服务器 Amazon EC2

文心一言 VS 讯飞星火 VS chatgpt (107)-- 算法导论10.1 5题

福大大架构师每日一题

福大大架构师每日一题

Rust语言中,const 和 static 的区别

0x5d0de9

​Rust

深入理解MySQL中的Join算法

Java随想录

Java MySQL

华为云API自然语言处理的魅力—AI情感分析、文本分析

华为云PaaS服务小智

人工智能 软件开发 API

DCloud崔红保:云开发与跨端技术,构建企业降本增效新篇章

TRaaS

支付宝小程序 云开发 DCloud

socks5代理怎么帮助广告投放?

巨量HTTP

http代理

大模型太贵?找找自己的原因好吧?

脑极体

AI

简单好用的网页设计:EverWeb 中文版最新

mac大玩家j

网页设计 Mac软件 网页制作

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