阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

Elizabeth Hendrickson 谈“缺陷传染症”

  • 2012-08-19
  • 本文字数:889 字

    阅读完需:约 3 分钟

Elizabeth Hendrickson 最近发表文章,讨论了发生在缺陷评估会议上的浪费。在她的博客 testobsessed.com ,她指出,很多公司花了很多时间和金钱在测试上,但又不真正地利用好测试结果。

就像她在她的文章中解释得那样,软件工程社区中有一个常见但错误的观点:缺陷是不可避免的,而且不是所有缺陷都需要修复的。这也就是为什么“可以根据 ROI 来决定某个缺陷要修复还是先放一放”。

她曾经工作过的两个公司都深受这种观点之害。公司没有被缺陷直接整垮,但是就像 Hendrickson 解释得那样,缺陷成为了“弥漫的传染病”,降低了生产力,也拖死了测试人员和工程师。具体表现为:

那个隐性成本侵蚀了我们的生活:在缺陷评估会议上的争吵时间;一次又一次地受已知问题影响的时间;为了一些小的变更不断地修改脆弱而且易错的代码库的时间;不断重新分类、排列待办事项列表的时间。这些花费非常让人沮丧,也是相当昂贵的!

Hendrickson 根据她的经验,给出了结论。

取消所有缺陷评估会议;花时间预防缺陷;尽早测试,多测试,从而能更早发现缺陷;一旦发现缺陷立即修复;尽早修复你的“破窗户”

很多读者评论了这篇文章,比如,Jim Gay 说道:

我的经历是某些缺陷其实表明了业务流程有问题。比如一个分析人员告诉你,你应该去做 X,于是你开发了 X,但用户质疑你为什么不做 Y。不管代码上的缺陷抑或流程缺陷都意味着你得去着手修复它们。

Gabe Newcomb 不同意 Hendrickson 的所有观点:

这暗示所有的缺陷都是值得修复的,而且修复缺陷比实现新的功能更加重要。这跟我的经验不符合。缺陷评估流程很好地回答了诸如什么时候(是否)修复一个缺陷,它和其他工作有什么关联等重要问题。你又准备怎么来回答这些问题呢?

Steve Fenton 是个程序员,他也认为所有的缺陷都应该被修复,因为:

修复缺陷所花的时间几乎总是要比容忍它所带来的无尽的循环要短,也比对客户产生的影响要值得。在会议上讨论一个历史遗留缺陷,或者碰巧一次又一次地被测试人员提出,又被程序员一次又一次地以重复缺陷为由而关闭。缺陷拖得越久,产生的成本也就非常可能比直接修复的成本要来得更高。

查看英文原文: Elizabeth Hendrickson On The Bugs Spread Disease

2012-08-19 04:071097
用户头像

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

关注

评论

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

预约直播 | 主流视觉算法介绍及在PAI上的应用

阿里云大数据AI技术

机器学习 视觉算法

2022年,中轻度游戏出海路在何方?

Geek_2d6073

对象的访问机制及其他

Jason199

js 原型链 6月月更

K8S学习笔记--一起来看容器的本质

IT蜗壳-Tango

IT蜗壳教学 6月月更

聊聊我的远程工作体验 | 社区征文

Nick

远程办公 初夏征文 高效办公 WLB 在线会议

亿级月活全民K歌Feed业务在腾讯云MongoDB中的应用及优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 分布式数据库mongodb NoSQL 数据库

简析攻防演练中蓝队的自查内容

穿过生命散发芬芳

6月月更 攻防演练

linux之git高级命令

入门小站

Linux

前端食堂技术周刊第 42 期:Vue 2.7 Beta、TS 4.8 Beta、React 开源奖、ECMAScript 2022

童欧巴

JavaScript typescript Vue 前端 React

Elasticsearch 在地理信息空间索引的探索和演进

vivo互联网技术

elasticsearch 数据分析 数据检索

通过Rust语言计算加速技术突破图片识别性能瓶颈​​

宇宙之一粟

rust 6月月更

IIS 部署静态网站和 FTP 服务

乌龟哥哥

6月月更

TDengine 邀请函:做用技术改变世界的超级英雄,成为 TD Hero

TDengine

数据库 tdengine

基于STM32设计的蓝牙健康管理设备

DS小龙哥

6月月更

Flutter TextField详解

yechaoa

flutter 6月月更 TextField

微博评论高性能高可用架构

intelamd

架构实战营模块五作业

融冰

maven编译遇到"编码GBK的不可映射字符"警告的处理

程序员欣宸

Java maven 6月月更

模块五作业

Elvis FAN

【题解】剑指 Offer 15. 二进制中1的个数(C语言)

未见花闻

6月月更

数据治理啥都干

奔向架构师

数据治理 数据资产 6月月更

LabVIEW Arduino TCP/IP远程智能家居系统(项目篇—5)

不脱发的程序猿

物联网 传感器 LabVIEW Arduino 远程智能家居系统

在线文本数字识别列表求和工具

入门小站

工具

leetcode 1143. Longest Commom Subsequence 最长公共子序列(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!

小傅哥

小傅哥 异常 bug 连接池 面试问题

获取Windows操作系统的语言版本

dvlinker

操作系统语言 UI Language MSDN

HotSpot JVM 「02」Java Object Layout

Samson

学习笔记 hotspot 6月月更

TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘

大卡尔

Kubernetes 云原生 6月月更

flutter系列之:flutter中的flow

程序那些事

flutter 程序那些事 6月月更

Maven的安装使用

zarmnosaj

6月月更

疫情期间居家办公的总结体会 |社区征文

三掌柜

初夏征文

Elizabeth Hendrickson谈“缺陷传染症”_研发效能_Michael Stal_InfoQ精选文章