【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

“缺陷狩猎”详解:采访 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:391020

评论

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

补齐AI人才短板!百度飞桨师资培训高校行走进天津大学

百度大脑

人工智能 飞桨

NLP随笔(二)

毛显新

人工智能 自然语言处理 深度学习

阿里P8架构师又传喜讯!最新产出 Java 架构师 1575 道“完美圣经”,汇总十家互联网大厂面试题!

Java 编程 IT 计算机 知识

NLP随笔(一)

毛显新

人工智能 自然语言处理 深度学习

3000人群被字节内部技术图谱“炸”翻了,惊艳级实用

Java架构师迁哥

驶向未来之海的“必备罗盘”:百度智能云升级发布全新智能化中台

百度大脑

人工智能 企业服务

Kali Linux --《网络安全》-- 使用 WireShark 对常用协议抓包并分析原理

学神来啦

安全攻防 网络安全 信息安全 Wireshark

外包三年经验,耗时半年进大厂,整合出 25W 字 Java 全栈面试题,把初心分享出来!

编程 架构 面试 IT 计算机

FastApi-03-查询参数

Python研究所

FastApi 8月日更

FIL挖矿分币系统搭建(现有源码)

Geek_23f0c3

Filecoin fil FIL分币系统

AI系统中的偏差与偏见

百度开发者中心

AI 最佳实践 方法论 系统开发 语言 & 开发

香港服务器流量选择,该如何选择?高防服务器租用防御多少G合适呢?

九河云安全

面试官:你了解Java中的锁优化吗?

程序员阿杜

Java 面试 JVM 同步 8月日更

容器和虚拟机水火不容?不存在的!

谐云

ONES x 知名游戏公司 | 持续快速交付高质量游戏产品

万事ONES

研发管理 解决方案

FIL分币平台系统源码/FIL分币平台搭建

Geek_23f0c3

Filecoin fil挖矿

ClickHouse存储原理初窥

循环智能

性能优化 OLAP Clickhouse

体验百度EasyEdge,畅快部署超多AI芯片

百度大脑

人工智能 飞桨

IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践

JackJiang

全文检索 即时通讯 IM

互联网通信云崛起的“融云曲线”

融云 RongCloud

Android技术分享| 实现视频连麦直播

anyRTC开发者

android 音视频 移动开发 视频直播 视频连麦

258W 字 Java 全栈面试题!实锤:阿里架构师耗时半年整合而来!

Java 编程 架构 面试 计算机

微前端在平台级管理系统中的最佳实践

中原银行

Linux进程调度-CFS调度器原理分析及实现,懂了

Linux服务器开发

Linux服务器开发 Linux内核 Linux后台开发 CFS调度器 Linux进程调度

ApacheCon Asia 2021: Apache APISIX 技术议题一览

API7.ai 技术团队

Apache 开源 网关 APISIX

如何用Camtasia进行内容补充?

淋雨

Camtasia

鬼知道我这一年是怎么过来的?Java 开发从二面被拒到收割阿里架构 offer!

Java 编程 面试 IT 计算机

2021 年最全Java架构面试点+技术点标准手册:完全对准一线大厂,猛攻!

Java 编程 面试 IT 计算机

百度大脑FaceID人脸识别模型量化技术,确保算法精度无损加速一倍

百度大脑

算法 人脸识别 精度

WICC 2021 技术分论坛 “开箱即用”语聊房Demo成亮点

融云 RongCloud

业界良心啊!第五次更新的Spring Cloud Alibaba升级太多内容

Java架构追梦

Java 阿里巴巴 架构 SpringCloud Java技术提升

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