一眨眼,从12年到现在16年,已过去了四年,我已经毕业四年了。期间浑浑噩噩的过了2年半,又猛然的努力了一年半,然后终于进了鹅厂。在新旧工作交替之时,我觉得有必要好好的总结下自己过去四年的测试工作和学习心得。
我是一个普通二本毕业的普通大学生,在大学里,让自己每科成绩优秀,争取班里第一名,似乎才是我大学的奋斗目标。大三下学期就开始备战考研,当时的目标是中南大学的计算机学院的数据挖掘类方法专业。可惜我失败了,最差的成绩是本专业的考试,只考了60多分(总分150),出现这个原因的根本是我几乎很少动手系统的敲代码,即使是考研时期,复习专业科,我依旧是复习书本知识为主。考研失败后,我直接就放弃了调剂,选择找工作,于是选择了测试这个行业。
毕业后就来了深圳,第一年在一家公司迷迷糊糊的呆着,主要是做java web测试,学了一些测试的基本相关知识,期间自学了vbs,学了QTP,把《精通qtp:自动化测试技术领航》都看了一遍。结果一看代码还是头炸,根本没法静下来去安静的看代码。感觉就是无从下手,很快到了第二家公司,vbs,QTP的知识就已经全部忘记了,第二家公司是一家外包工作,外包到了招行,要说“在外包根本就学不到东西”,我觉得说这话的人有点太武断,因为实际我觉得自己呆了10个月还是有所获的,比如写测试用例的测试需求逐级分级过程的思维的严谨性,传统瀑布流的各类文档的规范性,大公司自主研发接口自动化测试工具的高可用,易用性。这些无一不对我后面的工作产生了积极的影响。在外包的日子,学习更多的知识是学测试之道,《软测之魂》这本书反反复复的看了两三遍,还是觉得有点用。待我从第二家公司离职,已经是2015年1月了。
此时的我,其实感觉不比刚毕业时候的自己成长很多,应该也就是工作经验上的积累多了点罢了。我一直都在思考这个问题:毕业三年了,跟一些毕业一两年的到底有什么区别呢?也一直在反省前面2年我也有不停的学习为什么就总觉得学无所获?第一家公司学了自动化测试,但是还是用大学那会读书的方法在学习,没有应用在实际工作中,学着学着兴趣点完全没了,学着的任务好像不是彻底掌握这个技能,似乎变成了要把这本书一页页翻完似得。第二家公司学了软件测试的相关知识,包括测试用例设计的各种方法,测试各种相关概念,但是我一直在一个状态下徘徊:我到底要不要学开发的那些知识?数据库?网络?java开发?数据结构?设计模式?各种协议?感觉好像跟实际工作没啥关联,用不到似得,但是几乎每次面试,好的公司又会问。然后自己就一直在纠结,到底要不要学,有时候可能迈出了第一步,学了一两天,可不到第三天我又放弃了,又告诉自己反正用不到,可以不学习。想清楚后,差不多是3月分了,在家呆了2个多月,每天都多多少少有思考过这个问题,也有觉得自己做事没毅力,于是在家休息的2个月,只干了一件实事,看完了一本英文小说《秘密花园》几百页的小说,我一咬牙终于第一次坚持的给看完了。
第三家工作就进了HST,刚进公司不久,就感觉自己处于了高压状态,“同事的不理不睬,拉帮结派”,“领导的恨铁不成钢“,让我更下定决心要学好专业,一头就扎下去开始了基础知识的系统学习之路。
5月份:学习了计算机网络。
6-8月份:学习了java web的基础。主要包括servlet的各种学习,jsp,ajax等。
9月份:web开发实战学习,strut2框架学习
10月份:公司接口自动化框架实战,系统的学习mysql数据库。
11月份:算法的基本思想,简单的数据结构,各种常用排序算法学习。
12月份:java socket 编程。
介于之前学而不得的经验,这次每次学习,我都很努力的把学到的东西运用到实际工作中,然后给自己增加更多的信心,在学完java web的基础学习和 SSH框架后,立马申请拿到公司已有的接口自动化测试框架的代码,主动查看之前代码并增加测试用例,期间也发现之前代码的漏洞和设计上的缺陷,在原有的基础上,增加了近1000行的java 代码,然后组织部门人员进行分享。然后拿到公司web 后台的代码,这次看就不再惊慌失措,无法下手了,因为我熟悉了这个框架,很快就摸清了门路,基本的业务代码都能看明白了。学习这些知识,我基本都是采用看视频的方法在学习,看视频学习确实很浪费时间,但对于那个阶段的我还是很有作用的,因为一个知识点的学习,视频往往讲的更浅显易懂,而且让知识点更加的系统化。几乎每天下班后,我都会加班2小时,看视频学习或者肥家看视频,周六周末也不敢耽误,一有时间就去看视频学习。
这一年下来,感觉自己还是很有所获,还改变了领导对我的看法,领导争取名额给我弄了个”优秀新员工”奖,让我更是倍感欣慰。这一年的付出没有白费,实际工作上其实有很多小知识点都是那些基础知识的运用。于是乎更坚定了自己的测试之路。
2016年一来,我就换了部门,因为我还是想多学技术,不想做质量管理,于是转到了平台产品线,2015年我花了大半年的心血学习的java,我感觉自己要挥泪告别了。因为这个平台是用c++开发的,要知己知彼百战百胜,那肯定得再学c++,但想着作为一个测试,能熟练的看各种语言开发的业务代码,这不应该是最低要求吗?于是便又开始了新的一轮学习:
1月份:各种年会,总结。
2月份:学习c++。(其实大学主要学的就是c++,只是那会不敲代码,不关注内存,嘻嘻)
3月份:接手服务器端自动化测试的任务,学习RF。
4-5月份:学习python和RobotFramework。系统的学习了《Robot Framework自动化测试修炼宝典》
6月份:实战月,阅读平台前置模块的代码,弄清楚登录流程各个接口内的业务逻辑处理过程,并画图展示,给新开发入职员工进行快速分享培训
使用RF工具,把公司级的现有所有接口,包括http协议,soap协议,私有协议的接口在RF内实现接口测试。
7月份:开始培养自己阅读官网英文文档的习惯。偶然的看见开发哥哥每次都在官网英文文档,一看就是两三小时,每次报告都是根据官方文档得出的结论,于是下定决心培养自己这类习惯。于是看了RF的官网文档,顿时觉得那本书真只适合入门。
8月份:系统的学习python官方文档的每一个细节。实际上里面很多在4月初学习的时候都学过了,之所以还这样的学一遍,就是为了逼着自己看完英文文档。
9月份:学习http协议。系统的学习《HTTP权威指南》,看完后确实有焕然一新的感受,对协议有个更深的理解。
然后,悄悄的,我就面上了,真的是第一次面就上了(哈哈哈)。在面试前,还是有过五六次的电话面试,每次都能说上三四十分钟,但是每次后面都是被告知失败。然后总结了电话面试的部分问题,自己再调整下,效果还是很明显的(问题都差不多)。细想下这2年发生的事情,确实觉得自己很幸运,因为我一直相信坚持的努力,始终都会有一定的回报。而且我再也不是2年前的那个我,一边想着学,那些知识到底有没有用,然后过着三天打鱼两天晒网的生活,一边又告诉自己测试没啥前途,干2年我就不干了。在测试这条路上,不再徘徊,有了更大的勇气向前冲。
有一个文档,其他的测试同事看了都觉得很没用,但是我却一直拿这个文档作为自己前进的小方向。就是测试类-软件测试工程师能力标准要求,不同的测试等级,在各种能力上应该达到的标准,这些资料百度也是能搜到了,截图如下:
测试应具备的各种能力:
不同级别各种能力的要求:
软件测试工程师能力级别模型:
按照某个等级来要求自己,慢慢的发现,原来自己还如此渺小,还有那么多技能需要掌握,做好一名符合标准的软件测试工程师,保持一颗学习,平和,上进的心我想在任何一个领域都是必备的基本素质。曾经看的《滚蛋吧!肿瘤君》每看一次我都能哭出来,除了自己在类似的边缘经历过外,里面的一些台词我也觉得非常棒:“劝别人我比谁都拿手,但自己想干的事却只停留在嘴上,等到想去做的时候才发现,其实根本不存在来不及这回事,在梦想面前,一切都是借口。”不管你现在已经做了多少年测试了,或者做了多少年其他行业了,只要现在下定决心要学好测试,一切都是来得及。
未来的测试之路还那么的长远,我还是打算坚持走下去。在功能自动化测试一角小有成就后,再转向性能测试。现在看来部分基础知识已经必备了,但是还有些基础知识还是欠缺的,还有些技能也是时候深入的学习了。还欠缺1个地方的基础知识点学习:就是linux方面和操作系统方面,之后应该可以就语言,自动化,数据库,设计模式,项目管理等技能进行更深入的学习了。还是要坚信“Life goes on ,Tomorrow will be better”