为什么程序员找不出自己的BUG?
2018-01-10 20:03
337 查看
最近在朋友圈流行了这样的一张小学数学题,当然结果是“出乎意料”,看似简单的结果,几乎很少有人作对,而分析下来的原因无非是惯性思维下的粗心导致完全错误,那么小编带大家分析下思考过程。
假设,猫=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了吧。
假设,猫=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了吧。
相关文章推荐
- 为什么程序员发现不了自己的BUG
- 为什么程序员发现不了自己的BUG
- 为什么程序员发现不了自己的BUG?
- 为什么程序员发现不了自己的BUG?
- 为什么程序员发现不了自己的BUG
- 为什么程序员发现不了自己的BUG?
- 为什么程序员发现不了自己的BUG
- 为什么程序员老是发现不了自己写的bug??
- 程序员怎么样保证自己的程序没有BUG
- 程序员为什么要放弃自己的岗位,考虑转行?
- 为什么有些程序员会觉得自己已经很厉害了呢?
- 程序员怎么样才能保证自己的程序没有BUG
- 程序员怎么样才能保证自己的程序没有BUG
- 评“程序员怎么样才能保证自己的程序没有BUG”
- 程序员怎么样保证自己的程序没有BUG
- 评“程序员怎么样才能保证自己的程序没有BUG”
- 为什么不用C++写游戏(聪明的程序员不用C++折磨自己)(这些工作,QT都替开发者解决了,C++没有根类导致太多的问题,也没有字符串类)
- 程序员怎么样才能保证自己的程序没有BUG
- 为什么总有无数的Bug困扰着程序员
- 程序员怎么样保证自己的程序没有BUG