今天又看到一个和上次同类的问题,于是顺手一发,朋友圈继续炸裂,心中只能嘿嘿一笑!圣斗士不会吃同样的招数两次,但是无论是开发和测试都会在同样的问题上反复犯错。
这次的问题如下:

好了我们还是来重复一下这个过程
假设球鞋是X,猫猫是Y,口哨是Z
X+X+X=30 所以X=10
X+Y+Y=20 所以Y=5
Y+Z+Z=13 所以Z=4
最后X+Y+Z=19!

注意:最后一个是X+Y*Z

心中一百只草泥马奔过,再算一遍
X+Y*Z=10+5*4=30

对不起还是错的,因为口哨的数目变了

所以应该是X+Y*Z/2=10+5*4/2=20

对不起还是错的,因为猫少了个口哨

所以,应该是X+(Y-Z/2)*Z/2=10+(5-2)*2=16

其实大家会发现这个题目非常的“坑爹”,不就是故意折腾人么,但是在很多系统中,开发看到测试提出的Bug也是这样的感觉。作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正真相就被隐藏了。
而儿童一般能够做对的原因是,老师有引导性的提示细心的重要性并且长期踩雷。这也是测试人员和开发人员的区别之一,现在知道为啥测试不是谁都能做的工作了吧,开发也为啥找不到BUG了吧。