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

从动物觅食学到的测试经验

  • 2018-01-15
  • 本文字数:1773 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

James Bach 说,我们可以通过动物如何觅食来学习如何更好地理解测试。随着时间的推移,测试人员会发现产品中哪里有 bug,但是测试人员偶尔随意在其它地方探索可能会更高效。不要再期望自动化可以让你解脱,学习如何去寻找 bug 吧。

James Bach 是一名资深软件测试人员,在 2017 秋季在线测试大会(Fall Online Testing Conference 2017)上发表了主题为“When Animals Test”的演讲。InfoQ 正以问答采访、总结和文章的形式展现这次大会的内容。

InfoQ 采访了 Bach 关于如何高效地发现缺陷、如何决定需要多少计划或规则以及如何提高测试人员的技术等问题。

InfoQ:测试和动物觅食之间的相似之处是什么?

James Bach:这两种活动都涉及在一个大型的复杂空间中搜索一些稀少的有价值的东西。对于测试人员而言,意味着发现 bug。对于动物而言,意味着寻找食物。通过自然选择演变机制(即,达尔文进化论),动物发展出不需要消耗太多能量就可以发现食物的策略。这些策略也许可以帮助我们更好地理解测试。以大黄蜂搜索它们的领地周围来寻找花蜜为例。首先,它们花费大量体力随意乱飞。一段时间后,它们就知道了哪里有花朵,这和测试人员了解产品中哪里有 bug 的方式很相似。最有趣的是,蜜蜂在优化了它们的采蜜路线之后,仍然会偶尔朝着随机方向乱飞,这使得它们能够发现新的花朵。它们有时候高效地采集食物,有时候到处乱飞。测试人员面临同样的权衡问题。

InfoQ:我们可以从中学习到什么?

Bach:我们可以从中学到的一件事是,不要再推进那些动物都知道不会有用的测试方法。动物知道,搜索是一个开放的充满随机性的过程。蜘蛛使用不断调整织网范围的方案来解决食物搜寻问题。因此,对于我们来说,编写大量无法自适应的测试用例可能并不是发现 bug 的最好方法。

不要再期望自动化会让你解脱。你必须学会搜寻 bug。搜寻是一个动态的过程。我们确实可以用自动化来帮助我们测试,但是我们应该使用自动化来强化我们的感知和能力,而不是用了自动化之后我们就可以去睡大觉了。

InfoQ:规划的价值是什么?我们如何发现我们规划了太多或者设立了太多规则?

Bach:规划的目的是配置我们的工具、资源和活动来高效地实现我们的目标;规划花费宝贵的时间和能量;一个好的规划所需的数据和技能通常来自过去糟糕的规划经历。因此,答案是:“我们总是在忘记或摒弃过去经历中不好的部分,不断进行探索和适应,在这个过程中我们会发现规划并没有我们预期中那么有用”。

虽然规则的成本很高,但却是对我们有好处的东西。通过不断的试验和突变来寻求遵循旧规则和探索新规则之间的权衡。那就是动物的行为方式。

InfoQ:如果我们的规则过多了,我们如何摒弃其中一些规则?我们如何决定哪些规则应该保留,哪些规则应该摒弃?

Bach:这就是缺乏纪律、年轻气盛和健忘的价值所在,它们都有助于调整和适应。这些品质并不一定是我们成长过程中坏的方面。正如我想说的:如果你想对一个坏的流程品头论足,那至少你不要那么做就好了。

换句话说,你也许没必要去摒弃那些多余的规则了,因为可能已经没有人会遵循这些规则了。

InfoQ:你对测试人员有哪些建议来提升他们的能力?

Bach:观察你自己是怎么工作的。观察别人是怎么工作的。时不时地认真地做些笔记,例如,问题解决的时候记录下问题是怎么解决的,任务完成的时候记录下任务是如何完成的。

这是其它动物不擅长做的事情。

例如,我有一次给自己录了一段自己测试时的 7 分钟的视频,对其中每 2 秒的时间段进行了分析。我以为会发现自己将潜在事实验证作为测试工作的一部分并在做许多这方面的工作,结果也确实如此。但令我惊讶的是,有大约 25% 的时间我用来做了一项严格来说既不是测试也不是事实验证的特殊活动,即意义构建(sensemaking)。意义构建是构建一套理论来解释一些你经历的事情。我一直没有意识到意义构建在我工作中的突出作用,直到我花了 3 个小时认真挑选并分析了 7 分钟的测试工作。在做了许多意义构建之后,我意识到自己可以开发一些锻炼方法和探索方法来系统性地完善它。

查看英文原文: Testing Lessons from Animals


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-01-15 18:001111

评论

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

Spring永远的神,这绝对是目前最全面的spring全家桶学习笔记

Geek_Yin

spring 编程 程序员 Java、 跳槽季

兆骑科创创投平台,赛事活动承办,高层次人才引进

兆骑科创凤阁

央企数智化转型实践沃丰科技AI助招采平台打造全新客服体系

科技怪咖

新定位人工智能+营销服务 沃丰科技入选国家级专精特新“小巨人”

科技怪咖

再谈回声消除测评丨Dev for Dev 专栏

声网

音频 Dev for Dev 实时互动

HR拥抱人工智能 沃丰科技AI助力星巴克、泰康保险打造智慧HR中心

sofiya

夯实中国智能制造软实力沃丰科技ServiceGo让物流机器人龙头企业售后无忧

科技怪咖

系统故障工程师居然可以不背锅?看看几家大厂是怎么做到的!(内附复盘模板)

TakinTalks稳定性社区

SRE 故障 定责

区块链合约安全系列(四):如何认识及预防公链合约中的算术溢出攻击

BSN研习社

区块链 智能合约

阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

多路混流实操流程

ZEGO即构

制造业专家黄培博士:沃丰科技ServiceGo 智能售后服务成就高绩效企业

科技怪咖

明势资本黄明明:创新与世界,下一代基础软件的中国突围之路

TDengine

数据库 tdengine 时序数据库

TDengine 的存储引擎升级之路

TDengine

数据库 tdengine 时序数据库

Python 教程之数据分析(1)—— 使用 Bokeh 进行数据可视化

海拥(haiyong.site)

Python Bokeh 8月月更

如何进行企业数字化转型?数字化转型的3大核心规律

优秀

企业数字化转型

什么是实时渲染,实时渲染是如何工作的

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

兆骑科创创新创业服务平台——创新创业的联通之桥

兆骑科创凤阁

芒果TV创新研究院联合腾讯云发布“虚拟人直播互动平台”,支持千人沉浸式体验

科技热闻

项目经理如何推进项目进度?

PingCode

关于游戏中的实时渲染

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

“外卖式”售后服务体验来袭 沃丰科技ServiceGo让售后服务更智能

sofiya

Salesforce解散中国团队,国产SaaS软件如何完美替代

sofiya

中国掀起数字化浪潮|沃丰科技AI外呼机器人助家电企业潜客筛选自动化

科技怪咖

iOS端如何实现MobLink的场景还原功能

MobTech袤博科技

ios sdk moblink

华为云“828 B2B企业节”,积木易搭云速3D云展与您不见不散

sofiya

信息化赋能,移动办公系统WorkPlus助推智慧检务工作安全高效发展

WorkPlus

AI加持沃丰科技ServiceGo智能售后,让制造业服务提升“肉眼可见

sofiya

01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理

mycpen

Linux

对话HR专家崔晓燕 沃丰科技AI+HRSSC如何提升企业人效

科技怪咖

EMQX + PolarDB-X 一站式 IoT 数据解决方案

阿里云数据库开源

数据库 阿里云 开源 :MySQL 数据库 PolarDB-X

从动物觅食学到的测试经验_语言 & 开发_Ben Linders_InfoQ精选文章