每每年终时都会不禁感慨时光飞逝,转眼,一年过去了。2016 年于我是特殊的一年,是我结束二十来年的学生生涯,转到工作的第一年。三月底研究生毕业,四月初参加工作,到现在已大半年过去了。回望这大半年的工作历程,做过的项目,学过的东西,踩过的坑,总觉得该好好总结一下了。断断续续写了将近一周,今天收了个尾,要赶在 16 年最后一天结束前把它写完。
之前读过的一句话最近常会在脑海里浮现,“人都会产生虚假的记忆,因为大脑会根据以往的经验自动补全我们记忆中缺失的细节,不管这些细节是不是真实的”。不管是以前学生时代还是现在工作,这一条在我身上都尤为明显。作为一个自我要求很高的人,常常会因为一些坎坷而失落,每每这时,负面的念头就会不时地浮现在脑海,“最近好像啥也没干成”、“最近效率好低” 云云。以前学生时代可以通过考试来检验自己一段时间的学习效果,而工作了却不一样。学生时代一学期学几门课,学期末考试,考完试这些课也基本结束了。但是工作了不一样,有茫茫多的东西要学,没有 deadline,没有老师来跟你讲解和强调知识点,完全靠自己,而且工作时间长达二三十年,很漫长很漫长,我深感自己需要一种方式来记录踏踏实实走过的每一步,不至于在回望过去的时候脑子里是一片空白,任由情绪左右自己的记忆。
作为一个从小到大最讨厌学语文的纯工科女,写作于我从不是一件易事。但读的书多了,慢慢发现写作不止是一个表达和记录的工具,也是自我提升和自我实现的好方式。于是就谋生了写博客的想法。以前也申请过博客,写过几篇,但是慢慢就忘在脑后了。前几天重新注册了账号,2017 年,要重新开始写博客,记录下技术成长及工作感悟,希望能与有缘人分享,讨论,共同成长。
如果要用一句话来形容这工作的大半年,那一定是 “万事开头难”,无他。
作为一个光学工程专业的学生来说,计算机基础挺弱的。读研的时候因为导师的项目需要,用 C# 写过几个桌面程序,图像拼接、眼动仪、摄像头视频视频处理等,有一点编程基础。然后实习的时候负责用 java 编写接口测试代码,对 java 语言有一些了解。对其他如 linux、数据库、计算机网络等方面的了解挺少的。所以大部分技能都得从头学起,要想工作干得好,开始的时候辛苦一点自然是少不了的。
工作大半年,前后一共经历了 3 个项目。工作后接触的第一个项目是个性化推荐相关的,由组里的一位前辈 DWG 带我。这个项目的业务很复杂,我从做一个个功能测试的任务开始慢慢熟悉业务。在这个项目中我主要负责用 jmeter 对 http 及 RMI 接口进行压测。初次用 jmeter 实践,写了一篇总结文章《 Jmeter 性能测试实践之 java 请求》,发在公司的论坛上。
新人培训学了不少工具的使用,例如 maven、git、jenkins 等。老大以前跟我们说过,学过的东西要有输出,是啊,学是学了,要咋输出呢?正好项目中经常要回归同一个接口的性能,就想着是不是可以把这个过程给自动化起来,这样也可以把学过的这些工具都练下手。然后就开始了自己艰难的实践之路,之所以说艰难,是因为所有工具基本都是头一次用,不会的东西太多。最后也还是挺好地把自己的想法实现了。还把这整个过程总结成了一篇文章《 Jmeter+Maven+Jenkins 提升性能测试回归效率》,发在公司论坛上,还在组内做了一次分享。
记得那会每每请教导师 JJ 问题,他敲 linux 命令如此之娴熟总引我钦佩,感慨自己啥时候才能这般迅速。前两天一个开发站我旁边看我查日志,说我命令打得好熟,听得我内心那个乐啊~~~
8 月初我转去做第二个项目,这是一个是大数据相关的典型的 web 前端+后台的项目,也是对我帮助很大的项目。
这个项目比较新,我来之前有几个版本的迭代,也还在不断开发新功能。我独立负责这个项目的测试工作。因为主要是测前端,所以上手比较容易,前期因为迭代快,主要是做手工测试。对项目慢慢熟悉之后,就开始接触后台,主要是通过看日志来定位问题。看过项目的主业务的部分源码,但是并没有成体系,定位问题的时候也只能定位到日志这一层,然后就反馈开发,拖个凳子坐开发旁边看他怎么一步步排查问题,不时地问几句 “为啥看这里?为啥这么搞?”。能独立完成问题从头到尾的排查,从代码层面去定位问题,这也是自己一直希望能 get 到的技能点,以后也会不断地培养。
刚去的第一个月跟开发不断地了解项目的后台架构,在原来很老的架构图上不断修改,画了项目最新的后台架构图。这个项目中用到了 zookeeper、storm、hive 等多个大数据相关的组件,自己还是挺感兴趣的,也希望能在工作中多学习一些大数据相关的知识。抱着这样的心态,在项目中不断地挖掘可以学习的地方。
后来开发提出需要再搭一套测试环境,我主动请缨,说让我来吧,虽然自知水平不咋地,但我可以学嘛,哈哈。在搭测试环境的那段时间遇到了不少问题,也常常会很着急进展得慢。从申请测试资源、配置 nginx、到安装 zookeeper、storm 等后台组件,修改配置文件,一点点也把环境的雏形搭出来了。新环境的域名终于能访问到前端的页面那会,我还激动了挺久呢。环境搭建的过程也写了几篇总结,放在了 wiki 上。
除了技术上的学习,在这个项目中还实践了如何通过流程上的改进来提升产品的质量,也让我重新认识了 QA 这个岗位,这都得感谢我们测试小组的负责人 DJ。DJ 通过 bug 统计分析晾晒来推动开发自测,通过统计 code review 情况提升开发的代码质量,从源头上提升产品的质量。我来之前这个项目的流程改进的工作都是 DJ 在搞的,我来之后就慢慢由我接手。其实刚开始对这一系列的统计分析工作挺排斥的,感觉好费时间,还不如多干点活,多找几个 bug,后来慢慢发现自己这样的想法真是 too young,too naive。
我从 DJ 那里学到了很多测试的理念,再加上听分享,读书,让我对 QA 这个岗位有个一个更深的理解。产品的质量不是由 QA 测出来的,而是由产品、开发和 QA 共同来保障的。QA 的核心价值是根据产品的特点制定合适的测试策略,而不仅仅是执行测试的过程。只有推动开发自测,减少自测型的低端 bug,QA 才有更多的精力投入到整体的业务及用户场景的系统测试中去,才能发现更高端、更有价值的 bug。 DJ 还以她的工作经验告诉我,不是说一个 QA 找到的 bug 多就说明你厉害,就能得到上级的认可,bug 太多只能说明产品的提测质量太差。我也开始慢慢能站在保障产品整体质量的角度去思考工作中的一些问题。
12 月中旬,因为上级的一些策略调整,这个项目暂时不上新功能了,开发转去做一个新项目,我也跟着去做这个新项目,还接了 2 个 sdk 的测试工作。就这样,一转眼就到年底了。
这大半年,挺辛苦的,加了很多班,干了不少活,学了不少东西,算是 QA 行业入了个门吧。
这大半年走过来,要感谢很多人。感谢我的老大 GDY,很庆幸遇到了一位这么 nice 的老大,指点我工作与学生时代的差异,能在我抱怨时跟我分享一些职场上的道理;感谢测试小组的负责人 DJ 教给我那么多测试经验;感谢我的导师 JJ 耐心地手把手教我解决问题,感谢带我做项目、每天被大伙调侃还依然笑脸相迎的 DWG,感谢一起吃饭、谈天说地的 YZ、TT、DH、YG~~~最后要特别感谢大毛,每每我压力大时都能苦口婆心地安慰我,开导我。
16 年,心态上有点急于求成。看到身边那么多厉害的人,总是不敢停下来,总想多干点活多学点东西,把总结和反思的计划一味地往后拖,大部分都不了了之。
17 年,要多点时间来总结和反思,争取在职业技能和思考的深度上都能有所长进。
明天就是元旦啦,17 年的第一天我要出去好好玩耍,犒劳一下自己,也给 17 年多自攒点活力~~~
能看到最后的都是好人啊~~~ 希望各位前辈们能多提一些建议~~~
最后祝大家元旦快乐,新的一年,身体棒棒,生活棒棒,工作棒棒~~~