为什么程序员发现不了自己的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
一般大多数的第一结果可能都是这样!等等,注意最后一个应该是Y+Z*X=?
心中一百只草泥马奔过,再算一遍
Y+Z*X=5+2*10=25
对不起还是错的,因为猫爪从2只
变成了1只
,所以应该是Y+Z/2*X=?
心中一千只草泥马奔过,再算一次
Y+Z/2*X=5+2/2*10=15
对不起还是错的,因为最后一只猫少一个爪子,所以应该是Y+Z/2*(X-Z/2)=?
心中一万只草泥马奔过,再算一次
Y+Z/2*(X-Z/2)=5+2/2*(10-2/2)=14
其实大家会发现这个题目非常的“坑爹”,不就是故意折腾人么,但是在很多系统中,开发看到测试提出的Bug也是这样的感觉。作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正真相就被隐藏了。
而儿童一般能够做对的原因是,老师有引导性的提示细心的重要性并且长期踩雷。这也是测试人员和开发人员的区别之一,
现在知道为啥测试不是谁都能做的工作了吧,开发也为啥找不到BUG了吧。
你也许感兴趣的:
- 我是如何在第一款登月游戏中发现一个 55 年前的漏洞的
- 【外评】航空公司总是把 101 岁的老太太误认为婴儿
- 【译文】经常嗡嗡叫的虫子(bug)
- 【程序员搞笑图片】要不要上报?
- 【译文】满月时,代码工作异常
- 【译文】bug 经济学
- 【译文】一行代码如何造成 6000 万美元的损失
- 我所见过的最奇怪的Bug
- Google在一个函数中放入2万个变量,引发Firefox大崩溃
- 离职两年后,程序员遭前东家索赔:Bug 是你写的
寻求APP马甲封装上架程序员 价格合理,长期合作。
安卓上架报价:(百度,华为,360,应用宝)统一2500 vivo报价: 统一1100 不做预付款。 有实力的团队加我QQ吧 692950235 我们详细谈
我在这里:http://www.roncoo.com,工作这么久了都没有发现啊