写点什么

“缺陷狩猎”详解:采访 Klaus Olsen

  • 2014-03-25
  • 本文字数:1491 字

    阅读完需:约 5 分钟

InfoQ:您能否就“缺陷狩猎”技术的起源再多谈一些呢?

早在 2003 年我就从 James Whittaker 的一本名为“How to Break Software【译注 2】”的书中读到了它。James Whittaker 在此书中用了一整页的篇幅来阐述他在佛罗里达理工学院所使用的体系,他所描述的内容使我深受启发,于是我在丹麦本地的 SIGIST(2003 年成立的软件测试领域专门兴趣团体)进行了实验来尝试他的观点,然后在阿姆斯特丹举行的 EuroSTAR 2003 大会上,我将“缺陷狩猎”的想法作为实验品进行了展示并获得了成功。

此后在我所工作的几家公司中,我们使用了“缺陷狩猎”技术。在这些经历的基础上,我建立起了对“缺陷狩猎”技术的一些研究成果和经验教训,随后,在印度新德里、澳大利亚的悉尼和堪培拉、欧洲的布拉格和赫尔辛基以及这次在里斯本举行的一系列大会上,我将我的研究成果进行了展示。

InfoQ:您是从何时起被这种技术所吸引的?为什么?

我对“缺陷狩猎”技术可以说是一见钟情。因为“缺陷狩猎”在测试中混合使用了多种测试技术,而结对工作的方式促进了测试技术及专业领域知识的分享和传播,更加锦上添花的是,与此同时你还进行了团队建设。

此外还有一个天大的好处:你获得了被测软件的相关知识,从而能够详细全面的记录被测软件的质量情况。绝大多数情况下,测试团队将识别出一份软件内部缺陷的列表,这份列表上的缺陷都是可修复的,一旦我们修复了这些缺陷,并再一次测试这些缺陷以确保修复有效,再加上一般意义上的回归测试,我们就能提高软件的质量。

InfoQ:在你看来,使用“缺陷狩猎”技术最主要的优点是什么?

“缺陷狩猎”技术可以非常快捷的确保任意一件软件的质量。如果在一个精心准备的时长两小时、由 10 至 16 人执行的缺陷狩猎活动中,被测软件上没有发现任何缺陷或发现的缺陷非常少(当然,这要基于该软件的规模和复杂度),那么我的经验告诉我,起码在我这些年接触并测试过的软件当中,这款被测软件的质量也可能会是中等偏上的。

当你获得了另一家公司的软件产品,并且你的公司准备执行验收测试时,把“缺陷狩猎”作为一种高效的冒烟测试使用将取得非常好的效果。在验收测试之前执行的“缺陷狩猎”可以作为一个质量检查保障机制来执行,通过该机制,你就可以判断待验收的软件是否已经足够好,从而决定是否需要抽调人手去帮忙进行验收测试。

如果在“缺陷狩猎”中你发现了大量的缺陷和很多高优先级的缺陷,那么你就知道了验收测试必须推迟而且待验收软件的质量必须提高,在此之前你是不会抽调人手去进行验收测试的。

InfoQ:您引用了名言“没有银弹”,那么,您建议将何种技术和“缺陷狩猎”配合使用呢?您能否给出一些具体例子?

“缺陷狩猎”是建立在“探索性测试”基础上的,我认为“探索性测试”就是一个很好的测试方式 / 方法,但是如果你仅仅把你的测试建立在软件运行时可见的部分上时,它会有一个缺点。

这个缺点就是,由于你只进行了探索性测试,那么如果有一些需求没有被实现到被测软件中去的话,在测试中你将有可能无法识别出这些缺失的部分。出于这个原因,你需要让测试有一些层次结构,以保证需求和测试用例之间是可追溯的。

如果想追求测试对需求的覆盖率,那么这会是一个更好的做法。

【译注 1】TMMi:测试成熟度模型集成。详见: http://tmmi.org

【译注 2】中译版本由电子工业出版社出版,中译名《实用软件测试指南》,ISBN:7505381601

查看英文原文: Klaus Olsen Elaborates on Bug Hunting Top of Form


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-03-25 23:391165

评论

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

小灯塔系列-中小企业数字化转型系列研究——BI测评报告

向量智库

多款国产服务器、操作系统与摩斯隐私计算完成兼容性互认

科技热闻

【专家观点】数智化组织模型大力驱动全球化

用友BIP

库存预占架构升级方案设计-交易库存中心 | 京东物流技术团队

京东科技开发者

架构设计 库存系统 架构升级 企业号 8 月 PK 榜

一文搞懂MySQL 数据库 MongoDB

java易二三

Java MySQL 数据库 程序员 计算机

“产业应用创新奖2023”启动征集

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型

一次性搞清楚,Java并发编程在各主流框架中的应用,保证看懂

java易二三

Java spring 程序员 计算机

昨晚做梦面试官问我三色标记算法

Java随想录

Java JVM

企业数字化转型,财务规划与分析(FP&A)团队应该如何应对

智达方通

数字化转型 智达方通EPM 财务规划与分析

使用秘籍|如何实现图数据库 NebulaGraph 的高效建模、快速导入、性能优化

NebulaGraph

图数据库 NebulaGraph

Mac软件推荐:ZBrush v2023.2.2中文激活版+可用补丁

mac大玩家j

数字雕刻软件 绘画工具 Mac软件推荐

ECMAScript 2023新增特性

数新网络官方账号

GC面临的困境,JVM是如何解决跨代引用的?

Java随想录

Java JVM

当小白遇到FullGC | 京东云技术团队

京东科技开发者

企业号 8 月 PK 榜 Full GC TP99

MongoDB中国用户大会北京站及深圳站火热报名中

Geek_2d6073

从头到尾说一次 Spring 事务管理(器) | 京东云技术团队

京东科技开发者

spring spring事务管理 事务管理 企业号 8 月 PK 榜

千万级数据深分页查询SQL性能优化实践 | 京东云技术团队

京东科技开发者

MySQL 性能优化 sql 分页查询 企业号 8 月 PK 榜

我的心血全在这了,这种方式讲@Async原理,你别再不懂Spring了

java易二三

Java spring 程序员 计算机

龙蜥白皮书精选:云原生混部资源隔离技术

OpenAnolis小助手

开源 云原生 白皮书 内核 龙蜥社区

优化重复冗余代码的8种方式

java易二三

Java 编程 程序员 计算机

pycharm pro v2023.2最新中文+激活码安装

胖墩儿不胖y

代码编辑器 代码编辑 编辑代码 代码编辑工具

科技新秀巅峰决战,百度商业AI技术创新大赛圆满收官

百度Geek说

人工智能 企业号 8 月 PK 榜

阿里云大语言模型(LLM)实战训练营,火热开营中!

阿里云大数据AI技术

LLM模型

带你读论文丨S&P2019 HOLMES Real-time APT Detection

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v7.0版已发布

JackJiang

网络编程 即时通讯 即时通讯IM

大规模块存储 EC 系统构建

Baidu AICLOUD

分布式存储 块存储 纠删码

【腾讯云 TDSQL-C Serverless 产品体验】 使用 Python 向 TDSQL-C 添加读取数据 实现词云图

全栈若城

Python 腾讯云 Serverless 词云图 tdsql

途牛科技与火山引擎数智平台合作 打造企业大数据系统“降本”新范式

字节跳动数据平台

大数据 云服务 企业号 8 月 PK 榜 数据支持

用友BIP重磅升级,发布新品:用友BIP|商业网络

用友BIP

2023全球商业创新大会

“缺陷狩猎”详解:采访Klaus Olsen_研发效能_Rui Miguel Ferreira_InfoQ精选文章