写点什么

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

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

评论

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

如让企业轻松上云?华为云这款服务器帮你轻松搞定

轶天下事

华为云耀云服务器L实例:快速、稳定、高效的企业建站新引擎

轶天下事

华为云耀云服务器L实例,中小企业开启数字化转型的好帮手

轶天下事

华为云数字化制品仓,引领企业智能化转型之路

YG科技

痛过才知道,企业上云为什么要选择华为云

平平无奇爱好科技

华为云耀云服务器L实例的多元应用场景,助力企业高效运营

轶天下事

华为云耀云服务器L实例:中小企业数字化转型的强大动力

轶天下事

抖音商品详情API是什么?

技术冰糖葫芦

API 接口

高性能保障企业上云,华为云助力小程序开发稳步推进

平平无奇爱好科技

华为云耀云服务器L实例:高性能助力中小企业数字化转型

轶天下事

华为云耀云服务器L实例:小程序开发新趋势的智能选择

轶天下事

华为云制品仓库:引领数字化未来的巨量引擎

YG科技

探索数字化转型之道,华为云这款服务器助您飞跃商业高峰

平平无奇爱好科技

华为云制品仓CodeArts Artifact:引领数字化风潮,解锁企业未来

YG科技

制品仓智能化管理,引领数字化时代的软件供应链变革

YG科技

文心一言 VS 讯飞星火 VS chatgpt (153)-- 算法导论12.2 9题

福大大架构师每日一题

福大大架构师每日一题

iStat Menus for mac v6.73 (1230)中文版

iMac小白

智能选购、简便操作,华为云耀云服务器L实例为小程序开发降本增效

平平无奇爱好科技

智能软件仓储如何选择?华为云制品仓助力企业勇攀高峰

YG科技

Azure RTOS ThreadX 系统分析之TraceX

SkyFire

TraceX ThreadX

解锁未来软件安全的利器——华为云CodeArts开源治理服务

YG科技

Sketch for mac(专业矢量绘图设计软件)v99.1中文激活版

iMac小白

突破游戏开发瓶颈,华为云耀云服务器L实例助您游刃有余

平平无奇爱好科技

华为云耀云服务器L实例,企业数字化转型的理想云服务器

平平无奇爱好科技

引领数字化新风潮,华为云耀云服务器L实例有什么卓越之处?

轶天下事

全方位支持:华为云助力中企业小程序轻松上云

轶天下事

数字化时代的软件供应链管理新标杆 - 华为云制品仓CodeArts Artifact

YG科技

超越卡顿,突破瓶颈!华为云耀L实例引领中小企业游戏开发新风潮

平平无奇爱好科技

解锁数字化转型的钥匙,华为云耀云服务器L实例深度解析

平平无奇爱好科技

稳定可靠的数字之选,华为云耀云服务器L实例成初创企业理想云服务器

平平无奇爱好科技

华为云CodeArts 开源治理服务,解锁软件安全新标准

YG科技

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