骰子,骰子,宝贝。

ASOS的首席质量检查官Peter Haworth-Langford首先向我介绍了James Bach的骰子游戏。 游戏包括一个玩家(或一组玩家)和一个教练,并且唯一需要的道具是一组不同颜色和形状的骰子。 规则很简单:

1)在教练给分数之前,玩家掷出一组骰子。 然后,玩家必须弄清楚教练是如何到达该号码的。

2)没有其他规则。

因此,例如,玩家将掷出所有骰子,然后教练会说出一个数字(例如“ 17”),并且玩家将需要弄清楚为什么17是答案。

尽管听起来很简单,但发现骰子和答案之间的关系实际上是非常棘手的-许多初次玩游戏的人都惊讶地听到一个数字与所有骰子上的点总数不匹配。

我将避免提及我们在游戏中用于生成分数的特定规则集,因为它们可能会再次使用。 如果您从这篇文章中获得了玩游戏的灵感,我强烈建议您制定自己的规则-它们可以根据需要简单或复杂。

我不仅以一种具有挑战性的数独方式发现了游戏的乐趣,而且还令我印象深刻,它很好地模拟了测试过程。 它教授分析性思维-鼓励消除变量,并向参与者展示如何以新方式思考。 通常,它迫使您不断质疑您的假设,这是拥有软件测试人员的一种非常宝贵的能力。

在ASOS,我们聘用了一组实习生,为期一年,在他们与我们合作之初,他们就花了一天的时间学习技术的不同学科。 决定我们要花一天的时间教软件测试,所以我的同事Tanya Domke(ASOS的另一个首席质量保证)和我自愿参加了一次会议。 由于我们都是球迷,所以选择教骰子游戏对我们来说是一个容易的决定。

做出决定后,Tanya和我开始在ASOS Apps团队的同事中练习游戏。 我最大的收获就是人们如何对待游戏。 我们有一个人将每个回合的问题和结果写下到一个纸质笔记本上,一个人一次只能掷一个骰子,另一个人每次掷骰子都会把骰子藏起来。 我们甚至有一个人在两轮之后拒绝参加比赛,因为他认为这不公平!

有趣的是,不同的人会专注于不同的规则-有些人专注于骰子颜色,而有些人只能看到数字。 通常,这是一次很棒的体验,使我们能够在向实习生教授游戏之前,练习教人们游戏并解决所有问题。

我们与他们的会议终于到了。 快速介绍之后,我们将实习生分为两组,但给他们带来了相同的挑战。 与我们以前的做法最大的不同是,我们现在与一个小组一起玩游戏,这产生了非常不同的动态。 有些人会更加发声,有些只会偶尔猜测。 事实证明,在一个小组中既有利又不利。 玩的第一条规则非常简单,以至于我担心我们(非常聪明的)实习生小组会在掷骰子几下后就解决这个问题。 在这种情况下,事实证明,与一群人在一起并没有帮助,因为我听到一位实习生几乎立即提到了该规则,但是却被猜中了。 该小组最终确定了该规则,但由于过于复杂而绊倒了自己。

在第二轮比赛中,实习生现在有了更多的准备,知道了比赛的运作方式,并了解他们需要消除误导性变量。 为了弥补这一点,我们还使规则更加复杂(😈)。 很高兴看到该小组在这一轮中采用了更有条理的流程,并且他们能够弄清楚规则。

第三次玩游戏时,它变得更加有趣。 这个阶段的规则实际上与桌上的骰子完全无关。 实习生花了几分钟才弄清楚。 当他们这样做时,他们像以前一样开始系统地调查规则:他们站起来或坐下,把手放在桌子上,甚至沉默了几分钟,轮流问骰子得分是多少。 最终,他们设法弄清楚该规则是结果的原因(这是公平的,我保证!)

我们还要求实习生用自己的规则挑战我们。 对于我们和他们来说,这是一次有益的学习经历。 他们尝试的第一个规则是一个非常复杂的数学算法,事实证明它太复杂了,无法在每次掷骰子后迅速解决,因此必须放弃。 第二条规则与走过办公室窗户的人数有关,我们确实设法弄清楚了这一点,并再次提醒人们不要相信假设。

如果不清楚,我喜欢这个游戏。 对于球员们来说,这是一次很棒的学习体验,而对于教练而言,这是令人惊讶的。 看着玩家会做出的假设类型,这提醒我作为测试人员,我们不断挑战自己和团队成员做出的假设有多么重要。 与外部资源(例如API)集成时,这特别有用。

完成练习后,我们讨论了游戏并鼓励实习生以推文的形式提供反馈。 从回答来看,他们似乎很有趣,更重要的是,学会了保持开放的心态。

我建议在您自己的开发团队中玩这个游戏-我很想听听您的结果。

¹詹姆斯·巴赫(James Bach)是一位软件测试人员,作者和老师,我们之前已将其带入ASOS进行演讲。 他的博客可以在http://www.satisfice.com/blog/找到。