【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

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

关注

评论

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

大型软件开发集成类项目管理思路

大黄蜂

项目管理 大型软件开发 管理思路

全息电网 数字孪生智慧电网Web3D运维系统

2D3D前端可视化开发

智慧电网 数字电网 智能电网 数字孪生智慧电网 智慧电网三维可视化

写给go开发者的gRPC教程-protobuf基础

凉凉的知识库

golang 微服务 gRPC protobuf 微服务框架

湖仓一体电商项目(十八):业务实现之编写写入DWD层业务代码

Lansonli

数据湖 湖仓一体电商项目

「AVL平衡树专项」带你领略常用的AVL树与红黑树的奥秘(规则篇)

C++后台开发

数据结构 后端开发 红黑树 linux开发 C++开发

什么是可演进架构

agnostic

从原理源码到企业级实战,腾讯大佬纯手打的Spring Boot笔记(2023版)真香

程序员小毕

spring 后端 springboot java程序员 java面试

2023JAVA面试题全集(超全面!超系统!超实用!)早做准备,早上岸!

架构师之道

Java 编程 程序员 计算机 java面试

信用卡APP评测系列——工银e生活5.0打造个人生活服务平台,引领用户美好生活

易观分析

金融 银行 信用卡

gcc属性__attribute__((naked))使用场景

SkyFire

GCC 内嵌汇编

案例研究:让线上故障沉淀为团队的经验

石云升

极客时间 2月月更 技术领导力实战笔记

Zebec 上线投票治理机制,全新流支付生态正在起航

EOSdreamer111

深度剖析 Linux 伙伴系统的设计与实现

bin的技术小屋

Linux 内存管理 Linux内核 内存分配 Linux内核源码

D触发器 (D-FF)详解

timerring

FPGA

CTO:假如Java微服务随机掉线,你会怎么排查?

Java永远的神

Java 程序员 面试 微服务 架构师

FLStudio2023水果中文版软件如何下载?

茶色酒

flstudio FLStudio21

同时踩下刹车和油门:英特尔的“精神内耗”

脑极体

芯片 英特尔

Zebec 投票治理机制上线,全新流支付生态正在起航

西柚子

沿着数字中国的大江大河,领略云上三峡

脑极体

华为云 三峡

活动预告 | 2023 QCon 全球软件开发大会 - AI 基础架构论坛

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Zebec 上线投票治理机制,全新流支付生态正在起航

股市老人

Jackson 的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES

HoneyMoose

ABBYY FineReader16最新版本更新下载

茶色酒

ABBYY FineReader16 ABBYY16

人工智能可能是创业最后的末班车

felix

人工智能 创业 互联网 中小企业

模块五作业

程序员小张

「架构实战营」

CleanMyMac2023知名MAC电脑清理软件

茶色酒

CleanMyMac X

有了HotSpot JVM为什么还需要OpenJ9?

骑牛上青山

Java jdk JVM 虚拟机

硬核!互联网资深大佬手码2023版高并发编程速成笔记涵盖了并发编程的所有骚操作

Java永远的神

程序员 面试 后端 高并发 架构师

Zebec 上线投票治理机制,全新流支付生态正在起航

鳄鱼视界

Java高手速成 | EL表达式语言

TiAmo

Java EL

Portraiture4.0版本最新永久免费版下载

茶色酒

Portraiture2023 Portraiture

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