写点什么

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

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

关注

评论

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

从引用聊一聊 Java 垃圾回收

Rayjun

Java 引用 对象

数据与广告系列二:计算广告和推荐系统

黄崇远@数据虫巢

数据挖掘 大数据 互联网 广告 推荐系统

鄙视链 & 全栈

伯薇

学习 能力提升 全栈

时间管理的本质

史方远

职场 心理 成长

其实,还是让我挺震惊的,程序员的换行率竟然高达 40%

非著名程序员

程序员 程序人生 自我思考

MySQL实战四十五讲基础篇总结(六)

一个有志气的DB

MySQL 读写锁

谈谈控制感(9):提升控制感排名第一的武器

史方远

职场 心理 成长

Spring Security密码登录流程源码分析

读钓

源码分析 spring security springboot

MySQL实战四十五讲基础篇总结(五)

一个有志气的DB

MySQL 索引

ArrayList 源码分析

读钓

Java 源码分析 jdk源码

宏在C++中的替代解决方案

老王同学

c++ 模板 template

《陆蓉行为金融学讲义》 - 读后感

石云升

读书笔记 投资 行为金融学 理性 公平

谈谈我的云笔记使用之路

读钓

学习 个人成长 写作

Java 数据持久化系列之JDBC

程序员历小冰

Java JDBC 持久化

谈即时编译优化-以异常堆栈丢失为例

寻筝

ARTS week1

紫枫

ARTS 打卡计划

ARTS打卡Week 01

teoking

android WebRTC

Algorithm week 1: Merge Two Sorted Lists

猫吃小怪兽

算法 链表 ARTS 打卡计划

MySQL实战四十五讲基础篇总结(四)

一个有志气的DB

MySQL 索引结构

MySQL实战四十五讲基础篇总结(七)

一个有志气的DB

MySQL 性能

使用 webpack 搭建一个简单的 React 脚手架

张张张小烦

react.js

青春期的打油诗

李印

随笔

音视频会议系统-Janus的安装与布署

音视频专家-李超

音视频 WebRTC

云直播平台的选型与使用

音视频专家-李超

【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!

一枝花算不算浪漫

并发编程 jdk源码 线程池

k8s 上运行我们的 springboot 服务之——我们的springboot能够在k8s上运行

柠檬

k8s istio springboot

leetcode练级-两数之和

幸福三寸日光

算法 LeetCode js

关于工作的一点总结

李印

工作思路

Tomcat学习分享

李印

tomcat

编程入门整理

紫枫

读书笔记

RabbitMQ-AMQP

云淡风轻

RabbitMQ

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