“一万小时定律”,这是作家格拉德威尔在《异类》一书中指出的定律:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力,一万小时的锤炼是任何人从平凡变成世界级大师的必要条件。”
也就是说,要成为一个领域的专家,我们至少需要付出10000个小时的努力,如果按每天工作8个小时、一周工作5天计算,那么成为一个领域的专家,至少需要5年的时间。所以哪有人是随随便便成功的,时间的投入是必须的,坚持到最后的才是胜者。
但最近,一名测试员对此言论提出了自己的质疑,表示,作为一名测试员,他已经断断续续的进行了10多年与测试相关的工作,可能已经有10000个小时,却依旧未能成为一个大师级别的高级测试员。
那究竟是什么原因呢?
为什么技术大牛也逃不过一万小时定律?
1、专注≠重复≠不创新
根据该大牛总结,认为是这几种原因导致的,在一万小时中,他学习了许多不同的测试工具以及编程语言,发现其中有的概念可以互通,有些完全不通,可能存在两者并相关的情况出现。
每种工具和语言都有自己的语法和特殊的实现方式,不能仅仅学习概念,并且他们的最佳实践方式都不一定是最好的,在学习的过程中,该测试员通常只是略懂皮毛,而真正熟悉的还是自己日常工作中常用的知识。
因此他提出,如果想要加快成为一个行业的专家,在学习的过程中,对自己已经非常熟悉的知识就不要再下太多的时间去巩固了,而是去花费精力学习自己未知的东西,也就是脱离自己学习的舒适区。
很多测试员在工作时,比较喜欢做自己非常熟悉的技术,对自己不了解的技术或者功能干脆置之不理,这样久而久之,就把自己限制在一定的认知范围内了,这也是为什么,明明已经工作了一万个小时,却依旧没有成为专家的原因。
同时,测试员还需要培养思维能力,这一点是十分困难的。
测试员与开发不同,开发是顺向思维,而软件测试是逆向思维,总要找一些稀奇古怪的方法去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也各不相同,所以要求软件测试工程师需要具有一些逆向思维的能力。
在工作的过程中,如何培养自己的逆向思维的能力,在代码中放一些必要的防御型语句对各种错误情况进行处理,使软件具有更好的容错性,也是很重要的。
2、遗忘是常态
即使进行了一万小时的工作相关,也并没有意味着我们可以轻易在不同的技巧之间快速转换,因为当我们在进行语言转化的时候,会发现一个不可避免的原因:记忆衰退。
当我们停止使用一种工具,甚至只是停止了它的一个功能一段时间,我们就会像忘记高考知识点一样的忘记它。
当很久不用一个工具,再去接触后,即使之前花费了很多的精力,也会让觉得自己像一个新手,但新手和入门的区别在于,入门级别的走的更快。
我们以一个交响乐团来做比喻,假设你是一名小提琴大师,但每隔一段时间你就会换一个乐器,并想要成为交响乐的主角,那你不一定能够更胜一筹,为了强化你的专业性和技能性,我们在练习的时候不仅要广泛,而且要持续。
3、逻辑上的矛盾
我们再来算一算一万个小时的概念,是5年每周工作40个小时,两年休息一周,但是这个算法真的是正确的吗?我们比对自己的日常工作来看看。
因为工作中的一万个小时并不等于一万个小时的实践,一个专业的测试人员,有许多的时间是花在电子邮件和会议上的,一天中大概只有一半的时间是集中在工作上的。
对于正常的测试员而言,每天大概花费50%的时间在测试上,剩下一半的时间需要与开发和产品沟通和写测试报告。
所以,有时我们觉得已经在该领域工作了一万个小时,其实还远远不到。
当然,我们也不可能花费一万个小时来学习新东西,因为我们在学习新东西前,已经掌握了一些初级的东西,并且在反复练习直至其变得完美。并将你学到的这些用于学习新事物。
所以这一万个小时中的大部分时间都是强化的。
在工作中,我们时常会遇到我们没有遇到过的问题或者技能,前几次你可以参考教程,但最终你必须能够在没有任何参考的情况下写出它。
但是,在我们需要在截止日期前交付一个项目时,我们有多少时间来进行强化练习?在许多公司,不会给你提供扩展技能和强化自身的时间,需要你利用额外的时间来完成。一些公司会给你10%的时间或20%的时间来做独立的项目,但很少有公司希望你把这些时间花在单纯的练习上。
新的技术、新的最佳实践方法、新的模式产生的速度不断加快,在这种情况下,仅仅是在新的方面取得合格的成绩,是远远不能达到高级测试员的程度的。
写在最后
所以想要成为一名高级测试员,一万个小时的工作时间和一万个小时的学习都是不够的,我们需要平衡强化和探索的时间,当我们每天测试的时间少于50%的时候,我们必须不断的通过练习来强化他。
技术在不断的变化,想要成为一个特定语言的大师级测试员意味着要更长的时间,我们不得不选择在非工作时间也进行强化练习,才能完美的实施一万个小时的理念。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。