NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

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

关注

评论

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

中国量子产业集结,用知识产权助力量子应用化

脑极体

如何将「知识」体系化管理

Java 架构 职场 知识管理

Redis链表底层实现以及生产实战

做梦都在改BUG

Java redis 缓存 源码 链表

SecureCRT for Mac(强大的终端SSH工具)附许可证 v9.3.2正式版

魔仙苹果mac堡

SSH工具 SecureCRT下载 SecureCRT破解版 SecureCRT许可证

华为全新发布2023春季旗舰新品,智慧生活再进化

最新动态

DrawerLayout(官方侧滑菜单)的简单使用

智趣匠

ViewPager DrawerLayout SlidingMenu

Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?

股市老人

Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?

EOSdreamer111

火山引擎边缘渲染,驱动游戏体验升级

火山引擎边缘云

边缘计算 火山引擎 渲染 边缘云

循序渐进讲解负载均衡vivoGateway(VGW)

vivo互联网技术

负载均衡 网关

Docker 开始清退开源组织,不付费就删除所有私镜像怎么看

HoneyMoose

尤大:不会说 Rap 的前端不是好前端!写一个 v-rap 指令!

泰罗凹凸曼

JavaScript 有趣的技术知识

Bitmap、RoaringBitmap原理分析

京东科技开发者

数据结构 算法 存储 BitMap 企业号 3 月 PK 榜

Movist Pro for mac播放流畅、观影愉悦!

Rose

苹果电脑 视频播放器 Movist Pro Mac Movist Pro 中文版

pd虚拟机专用windows系统镜像(m1/intel)

魔仙苹果mac堡

pd 18 pd虚拟机 Win11系统下载

华大北斗上榜“深圳知名品牌”

江湖老铁

Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?

鳄鱼视界

如何针对多租户 SaaS 使用案例扩展机器学习推理

亚马逊云科技 (Amazon Web Services)

Amazon SageMaker

压测模式该怎么选?RunnerGo五大压测模式详解

爱研究代码的极客人

Jmeter 性能测试 自动化测试 压力测试 LoadRunner

Acrobat DC弹窗:“未找到IMSlib,Acrobat服务将无法正常工作”,如何解决?

Rose

Acrobat DC 服务将无法正常工作

Ableton Live 11 Suite 音乐制作软件v11.2.11中文版安装教程

Rose

音乐制作 Ableton Live 11 Suite Ableton Live

IntelliJ IDEA 2022 for Mac(Java开发工具) v2022.3.3汉化版

魔仙苹果mac堡

IntelliJ IDEA IntelliJ IDEA激活码 IntelliJ IDEA2022

给程序加个进度条吧!1行Python代码,快速搞定~

程序员晚枫

Python pip 进度条

数据库+chatGPT3.5 优化、索引、注释、SQL就是一句话的事了

非喵鱼

Java 数据库 openai ChatGPT ChatGPT4

Error:SyntaxError:JSON Parse error:Unexpected EOF 解决办法

Rose

adobe 安装报错

深入浅出RPC服务 | 不同层的网络协议

京东科技开发者

网络协议 RPC调用 应用层 jsf 企业号 3 月 PK 榜

内部开发者平台与门户:二者有何关联?

SEAL安全

企业号 3 月 PK 榜 内部开发者平台 内部开发门户

2万字60道MySQL经典面试题总结(附答案)

程序员大彬

MySQL 数据库 java面试

窄带高清画质增强之生成式细节修复

阿里云视频云

云计算 窄带高清

Microsoft 365 for Mac(原Office 365) v16.71正式版

魔仙苹果mac堡

Office 365 office许可证

MacDroid mac版:实现安卓手机数据传输

魔仙苹果mac堡

android Mac 数据传输 MacDroid for mac

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