当我初入职场时,加入的是一家创业公司,做了一名python后台开发。记得那时候团队人力不足,一切的一切都是以完成任务为第一要务,彼时的我们,高歌猛进,连续加班也不觉得累,那时的我,是有激情的,开发上自由度比较大,一切受限于当时的认知水平,完成即可。
测试?测试与开发比例为1:6(可能比这个还夸张),而且他们还要兼顾ios、android、运营后台台的测试任务,人力是严重不足的,很多时候,运营人员都充当测试的角色。这样的坏处就是上线前,总能发现很多bug, 于是,在我加入的第一个月,就经历了一次上线,一直到凌晨4点才勉强结束,心身俱疲。那时,我还没有认识到测试的重要性,可以说不怎么懂得软件工程这件事,很多时候,我们的上线都是粗糙进行,甚至不用测试,质量完全在于开发工程师的水平,那时的我,同时兼顾了好几条产品线的开发与维护,疲于应付,加之水平够菜,很惭愧,跟测试同学关系处的不太好,长期感觉身陷泥潭,这个状况直到我离职前半年才有所缓和,原因是团队人员逐渐壮大,我不用那么费力多线作战,有条件也有精力去开发与优化代码,覆盖更多的测试用例,还有一个原因是我们转用golang,不像python写起来那么随意,golang代码编译成功后, 问题相对就会比较少了。
真正让我认识到测试重要性的是我的第二家公司,也就是现在这家公司。团队是做公司的支付平台的(我们没有支付牌照,只是接其它第三方支付),钱可不是小事,多一分少一厘都不行。开发模式上也发生了很大变化,先出产品需求文档,再来开发设计文档,相关开发测试一起参与评审,一轮不行两轮,直至达成一致,然后开始迭代开发。因为我们微服务模式,在测试环节,是主打接口测试的,这包括出参与入参、接口逻辑、数据库变化等等,开始用typescript写测试代码了,看数据库了,这各工作模式,让我很惊讶,显然,这不是我认知中的测试。不过坦白讲,从工作量来讲,测试要比开发重(虽然刚开始开发也写测试用例,但是发现测试用例的代码比功能代码多出好多倍,逐渐写的少了)。由于这一套开发模式是小团队作战,有问题扭头说一下就行,改完继续,这样的好处是开发测试速度很快,质量也很高,当然,是在没有上线压力的情况下。这时的我,开始参与github项目,开始更加重视效率这一问题,开始写更多的测试代码,当我迈开大步准备修炼的时候,公司发生巨变,有其它团队被并入到支付团队,而且这些并入进来的团队有Java栈的,也有php的,工作流也各不相同,但都必须转golang,于是支付的兄弟们都去支援新进团队了,我也不例外,没有了强力的评审流程的支持,面临紧迫的上线时间线,还有开发与产品异地的沟通问题,新旧团队的磨合,第三方接口也还在开发中……种种交织,我仿佛又一次身陷泥潭了,这感觉很糟糕,彼时,为了不深陷泥潭,自己不得不扛起更多的开发任务,以致于连续加班一个月,晚上12点还在家里待命或者处理问题。现在看来,我既输了格局,也输了细节。作为项目临时负责人,自己的任务难道不是相信队友,协调并争取更多资源,更多的从全局看待问题吗?
两家公司,一家ToC, 一家ToB, 不同的技术栈,存在的问题却是那么的似曾相识,我曾自问,我付出了什么?又得到了什么?让自己手上的任务完成的更好,而不仅仅只是完成;让自己变的更好,让团队变的更好,这一切都要从自己开始:坚持分享与学习。
当我重新审视自己的时候发现,我就是想做更好的软件啊,我可是是一名软件工程师?在见识过优秀的开源项目与工程师后,我只能算是合格吧,对新技术有热度,缺深度,对开发是有情怀的,但是天赋与水平摆在眼前,虽然自己不在意年龄,但也确实到了30岁这个传说中的十字路口,我是没法放弃做技术的,理想与现实都不允许我这样做,但却难以染指男主(架构师),不是还有最佳男配吗?开发测试?当我萌生这一想法的时候,被自己惊到了,这是在给自己的不进步找借口?我懂开发,也了解测试流程,但是不懂正统的测试理论,测试工具的使用对我来说不是难事,我自己也会用一些工作做测试,我看到的测试问题:流程自动化缺乏,主要在于测试不懂开发,难以定制工具,抽象流程,优点是逆向思维重,而开发正好相反,通常正向思维较重。我的开发经验是优势,劣势自然是缺乏测试经验。但这些都不是问题,关键在于我想做什么?回想着这几年的从业之路,颇多感慨,不过唯一能确定的是,工作固然重要,但是没有成就感也很可怕,做软件的成就感在于产品简单好用,这一切离不开产品、开发、测试、运营、客服等等各个环节,而我,能在测试环节做的更好,能做更好的自己,不存在上坡与下坡(虽然这一想法还是被老婆鄙视了),开发与测试本就相辅相成,渐有融合之势(比如混沌工程开发也未必了解),如果有合适的测试开发职位,为了更好的自己,我愿一试。老婆提醒我,若你觉得做的不好,又想换成开发,怎么办?我坦言,不知道,但是,没试过,怎么知道?或许会更好也说不定的。
前路未知,却又逐渐清晰,我欲乘风归去,不惧琼楼玉宇。
有疑问加站长微信联系(非本文作者)