谈一谈程序员不愿意写测试的问题

原文:Testing is a separate skill and that’s why you are frustrated.

很多年来,我都觉得写测试是一件特别麻烦的事情,但是我从来没有因此放弃。上周,我公司的一名初级Junior开发者说了一句话,勾起了我的思考。

他是这样说:“我再也不想写测试了,太打击信心了。”

我非常理解他的心情,我也知道很多开发者都有这样的想法。

为何写测试让开发者感到沮丧?

因为他们写代码的能力远高于写测试的能力。就像RPG游戏一样,比如你玩的是《天际》这款游戏,你的角色擅长用弓箭,但是现在我逼着你使用长剑去战斗,你一定会感到很沮丧。

用不同的语言打比方你也许能更好的理解。加入你擅长Ruby,突然让你使用Java或是PHP,你一样会感到不适应。虽然不同的编程语言之间也有相似之处,但是让你短时间内适应一个新语言,并不是一件容易的事情。

一直以来,你都在写代码,这项工作让你感到很舒服,很熟悉。然而突然间让你进行测试,沮丧感就会马上随之而来。写测试的时候你会发现自己进程速度突然变慢,就像是走在泥巴或是沼泽里一样。

两种解决办法

第一,你可以让怒火和沮丧感把你左右,从此不再写任何测试。

或者,你可以接受它。允许自己暂时的低效,就像你刚开始学习写代码时一样,让自己慢慢进步。虽然这种感觉会伤害我们的骄傲。你可能会觉得自己速度太慢,觉得自己没有想象中那么优秀。但是这种感觉非常正常,这是学习的进程。

在写代码方面,你可能是个大师级别的人物。但是在写测试方面,你却是个小学生。你经历的越多,你学到的就越多。不断学习是开发者的必备能力,毕竟这个行业每5年就会有重大的更新出现。

其实就连为一个新语言安装环境都会让你觉得挫败感十足,责怪自己效率低下。其实学习写测试也是一样。

测试是一项与写代码完全独立的技能

回想你刚刚学习编程的时候。你是在大学里学的编程吗?还是更早?你那是写的程序做过测试吗?有人逼着你每写完一个程序就要测试一次吗?工作之后,你的团队经常做测试吗?你会发现自己多年来以前从来没练过写测试的能力,或者仅仅是写过3年代码,只做过1年测试。或是写过7年代码,做过4年测试。

3 vs 1, 7 vs 4,难怪会有挫败感了。

你不放弃尝试,你的测试能力就会越来越好。如果你想要不断提升自己的能力,就要接受这样一个事实:你需要不断逼着自己学习新东西,而测试就是其中之一。

来源:你为何觉得写测试太麻烦