写点什么

为什么传统的自动化测试工具会扼杀敏捷?

  • 2008-05-07
  • 本文字数:1362 字

    阅读完需:约 4 分钟

最近,关于下一代功能测试工具发展方向的讨论热闹地开了锅。不过,还是众多组织仍然在努力让传统的“录制- 回放”测试工具跟上敏捷的脚步。被称为“测试狂人”的 Elisabeth Hendrickson 告诉他们为什么不要再白费功夫了。

Hendrickson 将她的看法出色地总结为下面这种索引卡片的形式:

为什么传统的、“录制 - 回放”式的、重量级的、商业化测试自动化解决方案做不到敏捷
三个原因:

  1. 对于敏捷团队来说,类似工具所鼓励的“最后再测试”的工作流程是完全错误的。
  2. 类似工具创建的无法维护的脚本会成为敏捷所需的变更的障碍。
  3. 这样的特定工具会需要专门的自动化测试专家,因此会形成单打独斗的局面。

Hendrickson 首先讲述 “录制 - 回放”式工具的“最后再测试”方式是如何难以取得成功的,而无关乎项目是否敏捷。她解释了为什么这对敏捷项目来说尤其是个伤害。在敏捷项目中,“最后再测试”的工作流程至少有下列问题:

  • 浪费:同样的信息在手工和自动化回归测试中会重复出现。实际上,它也在其他地方有所重复。不过我们可以先将注意力放在手工和自动化测试之上。
  • 反馈延迟:这种工作流程中,大量的测试都是手工方式,这就是说要花费几天甚至几周的时间才能发现原先给出的变更所产生的效果。如果我们的 Sprint 是四周一次,那用三至四周的时间等待回归测试结果就无法令人接受。

……进一步说,“最后再测试”工具无法支持“验收测试驱动开发(Acceptance Test Driven Development)”。敏捷团队需要的测试工具要支持“首先测试”的方式,并可以马上开始进行自动化测试。

Hendrickson 解释了测试脚本如何成为这些“录制 - 回放”测试工具的基础,而且会无可避免地造成类似意大利面的混乱局面,将 UI 代码中有关业务上的期待和具体实现细节混杂在一起,从而导致敏捷项目很容易变为一场维护的噩梦。她简明地说:

敏捷团队需要可以将要测试的业务实质内容与实现细节相分离的工具。这样的分离是良好设计的标志,并可以增加可维护性。

接下来,在很大程度上出于考虑高昂成本和代码所有权的需要,典型的“录制回放”工具会将大多数组织引向创建专有的“自动化测试专家”小组之路,并且他们会被授权负责监控自动化测试。Hendrickson 强调了这样的方式是如何对有效敏捷所需的协作方式形成阻碍的。

敏捷团队通过破除单干的局面来提升工作效率,这凭一些所谓的自动化测试“超级英雄”无法完成。也就是说自动化测试成为需要协作完成的工作。业务利益相关者、分析师和黑盒测试人员,他们都可以通过可自动化的形式(比如 Fit 表格)来做出对测试的贡献;而程序员则负责编写代码将测试与实现相关联。

最后,Hendrickson 讨论了敏捷团队确实需要什么样的自动化测试工具,并以此作为结束:

敏捷团队需要的自动化测试工具或框架要像这样: - 要支持“首先测试”的方式,并可以马上开始进行自动化测试。

  • 将要测试的业务实质内容与实现细节相分离。
  • 在自动化测试需要编码的部分,支持并鼓励好的编程实践。
  • 支持使用真正的开发语言、真正的 IDE 来编写自动化测试代码。
  • 促进协作。

Fit FitNesse 以及相关工具可以达成上述要求。

很值得花费一些时间来读 Elisebeth Hendrickson 这篇完整的博客帖子,这样更加了解她深入的想法和经验。此外还可以阅读 Brian Marrick 的博客来获取更多关于敏捷测试的专家级建议。

查看英文原文: Why Traditional Test-Automation Tools Stifle Agility.

2008-05-07 11:351290
用户头像

发布了 479 篇内容, 共 157.3 次阅读, 收获喜欢 49 次。

关注

评论

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

安如泰山 华为云发布制品仓库CodeArts Artifact

路过的憨憨

强大的克隆备份软件:EaseUS Todo Backup直装激活版

真大的脸盆

Mac Mac 软件 备份软件 克隆工具

华为云低代码平台Astro|通过零代码快速搭建打卡小程序

路过的憨憨

前阿里架构师离职带出的Spring Security实战开发学习手册震撼开源

开心学Java

Java aop ioc springsecurity 框架

软件测试/测试开发丨app自动化测试之Andriod微信小程序的自动化测试

测试人

微信小程序 软件测试 自动化测试 测试开发

Moblink节省开发者时间精力和公司成本

MobTech袤博科技

性能最大提升60%,阿里云第八代企业级实例ECSg8i正式上线

云布道师

阿里云 ECS

分布式日志系统的设计和实践

Java你猿哥

Java 分布式 后端 分布式日志

深入解析线程池,就这一篇

Java你猿哥

Java 线程池 线程池工作原理 Java工程师 线程池状态

简单好用的剪切板工具:Paste激活版

真大的脸盆

Mac 软件 mac剪切板工具 剪切板工具

智慧公厕管理系统哪家好?

光明源智慧厕所

智慧城市

OpenHarmony关系型数据库[1]

白晓明

关系型数据库 OpenHarmony

ChatGPT编程秀-3:适合面向ChatGPT编程的架构

仝键

JavaScript 架构 java ChatGPT

通信系统综合仿真

timerring

通信系统 通信系统仿真

灵魂一问:SELECT COUNT(*) 会造成全表扫描吗?

Java你猿哥

Java MySQL sql ssm

旺链科技荣获“高新技术企业证书”殊荣

旺链科技

区块链 区块链+ 高新技术企业

某头部零售集团的数据云平台“多租户安全”实践 | 奇点云技术分享

奇点云

数据安全 多租户技术 奇点云

开心档之Go 语言环境安装

雪奈椰子

网心科技荣获“深圳市自主创新百强中小企业”称号

网心科技

专精特新

机器学习算法(四): 基于支持向量机的分类预测

汀丶人工智能

数据挖掘 机器学习 SVM

入选Gartner低代码魔力象限 |『华为云Astro』低调的背后

路过的憨憨

RocketMQ源码-broker 消息接收流程(写入commitLog)

小小怪下士

Java 程序员 RocketMQ 后端 消息中间件

点击量破百万!阿里内产微服务进阶讲义,简直是Java开发者的福音

Java你猿哥

Java 面试 面经 Java工程师

上传iOS应用变得更加容易 - 在Windows上架iOS APP的工具介绍

雪奈椰子

九科企业级超级自动化平台引入ChatGPT,新技术助推产品能力全面提升

九科Ninetech

【3ds MAX 插件】近期发布的几个小插件,总有一款适合你

Finovy Cloud

插件 3ds Max

通透!阿里P8撰写《深入解析Java虚拟机HotSpot 》让我涨薪70%

Java你猿哥

Java 后端 Java虚拟机 jvm调优

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

股市老人

SRE是什么,与传统运维有什么不同?

不思jo

SRE #运维

DPU 厂商北中网芯加入龙蜥社区,共建网络通信与安全

OpenAnolis小助手

开源 龙蜥社区 DPU CLA 北中网芯

为什么传统的自动化测试工具会扼杀敏捷?_研发效能_Mike Bria_InfoQ精选文章