10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

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

关注

评论

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

Flink on K8s 企业生产化实践|社区征文

张浩_house

flink 特征平台 新春征文

罗马建立在水渠上:为什么需要优先建设绿色光网?

脑极体

netty系列之:channelHandlerContext详解

程序那些事

Java Netty nio 程序那些事 2月月更

百度AI融通创新工坊招生中!

百度大脑

iLogtail——一款延迟仅在毫秒级的千万实例可观测采集器利器来了 | 龙蜥技术

OpenAnolis小助手

阿里云 开源 数据采集 技术分享

面试突击:说一下线程生命周期,以及转换过程?

CRMEB

大模型应用新范式:统一特征表示优化(UFO)

百度大脑

腾讯音乐知识图谱搜索实践

NebulaGraph

图数据库 知识图谱 分布式图数据库

大咖说|《商业评论》主编颜杰华:如何看待未来商业的管理趋势?

大咖说

大咖说 财经 数智化 商业评论

自我认为挺全面的【Web Service渗透测试总结】

H

网络安全 渗透测试

3步教你把个人应用服务部署到云服务器ECS上

阿里云弹性计算

Docker 征文投稿 玩转ECS

SQL注入如何预防?

喀拉峻

网络安全

Web Components 系列(十一)—— 实现 MyCard 的可复用

编程三昧

前端 组件化 2月月更 webComponents

PaddleDTX v1.0版本发布,安全性灵活性全面提升!

百度大脑

编译ORB-SLAM 3 出现slots_reference错误

Ayosh

slam

开源每周问答精选:PolarDB for PostgreSQL 是专门面向 OLAP 场景吗?

阿里云数据库开源

数据库 阿里云 开源 polarDB

WeOpen Good 开源公益计划正式启动!聚开源智慧·行科技向善

腾源会

开源 公益 腾源会

龙蜥下游发行版 Alibaba Cloud Linux 3 安全基线正式通过 CIS 认证,云上企业安全性保障更上层楼

OpenAnolis小助手

Linux 开源 cis

解密体育背后AI黑科技:花样滑冰动作识别、多模视频分类和精彩片段剪辑

百度大脑

基于飞桨实现的“太空保卫战士”——地球同步静止轨道空间目标检测系统

百度大脑

35款FL插件免费下载

懒得勤快

一文搞懂MySQL体系架构

程序猿阿星

架构 MySQL 数据库 MySQL InnoDB

人才短缺、成本高昂,制造企业智能化转型路径如何破局?

百度大脑

百年奥运的凌空之美,AI云智剪背后的新算法

阿里云CloudImagine

网络安全kali渗透学习 web渗透入门 NMAP高级使用技巧和漏洞扫描

学神来啦

政企机构用户注意!蠕虫病毒Prometei正在针对局域网横向渗透传播

火绒安全

局域网共享 渗透 蠕虫 病毒 政企

1分钟了解Prometheus的WAL机制

johncming

Prometheus WAL

剑指Offer——JVM 这些基础知识点你全掌握了吗

No Silver Bullet

JVM 垃圾回收 offer 2月月更

使用goby检测log4j漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

关于 AI 边云协同解决方案的研究与讨论 | 社区征文

liuzhen007

AI 新春征文 2月月更

一文带你使用 Python 实现Socket编程

宇宙之一粟

Python socket 2月月更

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