50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 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:001616

评论

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

佛山律协与iCourt围绕法律AI应用达成战略合作

科技汇

黄仁勋在北京链博会的演讲核心:AI变革性的到来

PowerVerse

繁花有声|涂鸦智能与阿里云一起,共同推动万物智能

科技热闻

繁花有声|蓝凌与阿里云一起,让AI时代的组织更智慧

科技热闻

等保合规基础:从定义到实施的关键要点

等保测评

烟草行业专卖人员画像与队伍考评系统上线运行

中烟创新

AI 英语数字人App的主要功能

北京木奇移动技术有限公司

软件外包公司 AI技术应用 AI数字人

系统上线最大的难点其实不是技术问题,而是人和管理!

积木链小链

数字化转型 管理系统 智能制造

8 月 9 日,TiDB 社区活动在厦门!瑞幸咖啡、美柚、美图、飞连、福建四大机场、厦门三甲医院的 TiDB 实践分享 & 数据库选型趋势!到场的小伙伴可领瑞幸咖啡!评论区互动参与社区新款周边抽奖~

TiDB 社区干货传送门

社区活动

Playwright | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战

测试人

繁花有声|高德与阿里云一起,开启智慧出行新范式

科技热闻

Web3 项目开发的技术难点

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目”

Apache RocketMQ

阿里云 开源 RocketMQ 云原生 消息队列

前沿论文分享 | 京东零售技术团队5篇论文入选SIGIR 2025

京东零售技术

Grok 虚拟陪伴很火,但你还可以造一个属于自己的丨社区来稿

声网

当 Aily 遇上盈米且慢 MCP,你的 AI 智能助手也能秒变投资顾问

盈米AI开放平台

NocoBase 本周更新汇总:优化及缺陷修复

NocoBase

开源 低代码 零代码 无代码 版本更新

2个小时!我自己搭建了一套安全管理系统!

中烟创新

告别提示词工程,「上下文工程」才是 AI Agent 的核心竞争力

Baihai IDP

程序员 AI LLM AI Agent 上下文工程

MSRC安全事件响应流程构建指南

qife122

网络安全 安全事件响应

淘宝→拼多多/抖音/京东店铺迁移:API数据转换方案

tbapi

淘宝API 天猫API 淘宝商品详情API 天猫商品详情api

大数据-44 Redis 慢查询日志详解与性能优化实战指南

武子康

Java redis 大数据 分布式

等保测评合规性审查:从流程到价值

等保测评

繁花有声|帆软与阿里云一起,用AI让数据成为生产力

科技热闻

等保一体机适用场景与成本分析

等保测评

Web3 项目的外包开发验收

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

应对2025年律师团队持续增长难题,Alpha系统助力律所人效升级

科技汇

安全可控的AI底座:灯塔大模型应用开发平台全面实现国产信创兼容适配认证

中烟创新

AI 英语学习数字人 App 的主要功能

北京木奇移动技术有限公司

软件外包公司 AI技术外包 AI数字人

大模型如何算出最优价格?电商定价策略的变革实践

京东零售技术

2025全球数字经济大会拉萨高层论坛开幕

科技热闻

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