到新公司快一个月了,总算是对新公司的产品、业务以及负责的工作摸索的差不多,有时间写一些这份迟到的年终总结。
软件测试一年
2017年,在同一家公司实习+毕业后的正式工作,从事了一年的软件测试工作。
进公司两三周,熟悉产品之后,我便迫不及待主动申请分担一些正式员工的工作。后来的几周边做功能测试边深入理解产品的过程,对于一份新工作还是令人充满激情的。
但是测试就是这么每天重复地人肉测功能?显然不是。
后来借一次开会的机会,我主动向主管申请自动化测试的工作。
2017年,“主动”着实让我成长不少。
从0到1的自动化测试
在有了自动化测试的任务之后,我的工作更加饱和了。从工具选用,测试分层结构的设计,用例编写等等,一系列工作几乎都包揽了。不得不说,每天上下班想着哪些地方有问题,该如何改,做着自己想做的事,生活还是相当有意义。
前4个月,我用Robot Framework + Selenium + Python,完成了产品大部分功能的UI自动化测试,帮助部门自动化测试这块从0迈到1,我个人也在团队里显得更有了份量。
后来请假一个月写论文过程中,我不断思考这几个月的成果,慢慢觉得,其实很多东西做的不够,或者就是错的。比如我的大部分测试用例只是为了将一个步骤自动执行,甚至没有断言,这实在有悖“测试”的初衷。并且为了实现例如上传文件的功能,不得不用windows虚拟机运行autoit,效率低不说,还浪费资源。
从1到2的接口自动化测试
答辩一结束我就回公司了,并且找到主管,提出把自动化测试由UI自动化测试转向接口自动化测试。当然,我是带着已经实现的一些demo去提的。最终也是认可我的观点,给了我一片战场去挥剑。
大概1个多月,我用Python写了一份能够实现原来RFS一样结果的代码,并且测试数据来自Excel,简单实现了测试数据与测试程序的分离。部门展示一次后,又与开发交流了一次,开发负责人也是很支持地让前端负责人提供帮助。
接下来的两个月,我又重构了测试代码,重新设计流程,并将大部分功能多线程并发执行,将测试数据由Excel转移至数据库,等等。由于流程并发,我并未使用PyUnit,而是主动构造结构并调用HTTPTestRunner生产测试报告。这一切现在看起来那么繁杂,当时却写的尤为开心,每实现一个想法就会开心很久。
一份从无到有的创造性的工作,不得不说是令人充满幸福感的。
持续集成
除了自动化测试,持续集成也是我和主管负责,因此对Jenkins, Shell, 系统维护, Git等的技能掌握也是不断积累提升。这过程中,Docker又是很重要的一个角色。我们用Docker搭建了Master/Slave的分布式Jenkins,并且slave节点由Mesos弹性调度。后来业务上需要的Docker都由我专门制作,也能帮忙维护开发的持续集成环境,也是这份工作给我的肯定。
Java与Jmeter
最后一个阶段,由于主要测试接口已经实现自动化,我就想提高自动化测试的覆盖度,因此又学习了Java基础以及Jmeter,对独立的接口实现测试覆盖。
以上大概是我2017一年的测试工作总结,工作量大,但是创造性的工作内容很棒。可惜毕竟是小公司,各方面不尽如人意,例如缺少运维人员,因此测试工作中很多时间浪费在搭建/维护环境上,我觉得是不利于我专业性发展的。
关于面试
也是因为有这些不如意的,我9月与11月分别投了两波简历,每次只接受一家我满意的公司的面试邀请。
第一次面试的外企,面试官的专业性让我有些退怯,后来二面就去面试,而是选择继续复习,准备下次面试。
第二次就是现在的新公司,一份工作环境满意,工作内容也契合的测试开发工作,工资翻了一倍,也算是证明了测试可以有开发的待遇。这在原公司是享受不到的。最主要的是,我的成绩能够得到新公司和新上司的认可,这种认同感让我很享受也很有动力。
2017年,我对面试也是有了新的看法:
面试不应该急于换新工作,而是在你认为有理由走的情况下,投石问路,开始保持一定频率的投简历并接受面试,以得到自己在市场上的定位。当你收获offer,若是达到预期且不得不走了,那才是换新工作的时候。不能急于把自己以差不多的价格再卖给下家,那换工作是没意义的。多抱着学习的态度进行面试,并且多面试,保持一些知识的熟悉度。
Now
一年的努力,生活终于被我过成我想要的样子。
现在的工作是专于接口测试与后端开发。但是2018年,我同样希望自己能够多学习,不但做好本职工作,在其他领域也能不断探索与接纳新技能,特别是性能测试与安全测试,希望明年的年终总结能更出彩。
希望同僚前后辈们能一起加油,让测试成为更具有竞争力的工作!
附
附上xmind版技能提升树: