为什么程序员老是发现不了自己写的bug??

我们朋友圈老是会有人发这样的一道小学数学题,当然结果“出乎意料”,看似简单的结果,却每个人的答案不同,而分析下来的原因无非是惯性思维下的粗心导致的错误,我也研究过这道题,因为当时朋友说,做对了,有红包哦!嘻嘻。。。。

题目是这样的:根据上面的试子,计算结果???


看图可知,猫=X 猫头=Y 猫爪=Z 既

3X=30

X+Y+Y=20

Y+Z+Z=9

所以X=10 Y=5 Z=2

故结果 Y+Z+X=5+2+10=17

0?wx_fmt=png

一般大多数的第一结果可能都是这样!等等,注意最后一个应该是Y+Z×X=?

0?wx_fmt=png

心中一百只@#¥马奔过,再算一遍


Y+Z*X=5+2*10=25

0?wx_fmt=png对不起还是错的,因为猫爪从2只

0?wx_fmt=png

变成了1只

0?wx_fmt=png

所以应该是Y+Z/2*X=?

心中一千只草泥马奔过,再算一次


Y+Z/2*X=5+2/2*10=15

0?wx_fmt=png

对不起还是错的,因为最后一只猫少一个爪子,所以应该是Y+Z/2*(X-Z/2)=?

0?wx_fmt=png

心中一万只草泥马奔过,再算一次


Y+Z/2*(X-Z/2)=5+2/2*(10-2/2)=14

0?wx_fmt=jpeg

其实大家会发现这个题目非常的“坑爹”,不就是故意折腾人么,但是在很多系统中,开发看到测试提出的Bug也是这样的感觉。作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正真相就被隐藏了。

而儿童一般能够做对的原因是,老师有引导性的提示细心的重要性并且长期踩雷。这也是测试人员和开发人员的区别之一,现在知道为啥测试不是谁都能做的工作了吧,开发也为啥找不到BUG了吧。



猜你喜欢

转载自blog.csdn.net/xmz1193184480/article/details/79607323
今日推荐