原谅我开篇会写一些“废话文字”,目的是交代一下过去以便于更好的理解现在。
感悟
转型纯业务 JAVA 后端研发已经接近一年了,我记得整个零售产品技术部测试转研发的也只有我一个人。那时也正是双
十一之后,因为彼时我在交易域,需要坚守完大促的最后一班岗,保障大促平稳度过。
在此,我也感谢一下我之前的老板,以及现在的老板,感恩他们给予卡农 Lucas(本人)同学在职业选择上的指引和帮助。毕竟,在我和恒温这个年纪,跨领域转型是需要极大的决心和毅力,毕竟开发和测试是两条赛道,即便是纯测试平台底层基建的同学,没有纯业务的实战,同样会面临严峻的考验。
我之前一直从事测试效能平台的研发,在京东的代表作是云测平台,底层是基于 OpenSTF 做的二次开发,我还在社区创建了一个 STF 组,但是很遗憾,随着我转移方向,对云测技术的探索也画上了句号。之所以换个赛道,是因为我需要更多更广的技术积累,而微服务、大数据、云原生、流计算、并行任务、检索等在 150 多号人的测试团队里是很少用到的,而且用什么技术、采取什么架构也缺乏有效的评估。另外一个因素是走出去,看看大厂都在玩什么,虽然我参加了很多技术论坛、分享会,但总感觉很多内容飘忽在上不宜落地。
赛道
换个赛道后,视野确实拓宽了。这里还有个插曲,因为来本地生活之前,我本来是想去蚂蚁紫嫣老板那里,在此也感谢一下紫嫣总。后来今年年初又转岗蚂蚁。最后在经历过一番思想都斗争后,选择留下来做业务开发,希望在还能够奋斗的岁月里挑战一下极限,梦想着有朝一日,对梦想着。
拓宽的视野体现在以下几个维度:
技术维度:
接入了几乎所有中间件,包括 HSF、任务调度、限流、消息队列等
接入了 blink 流计算,踩了流计算插件的坑。
接入了 SLS 日志存储,由于 blink 管 sls 速率过快,踩了限流的坑。
接入了监控、运维、日志、告警等一些列基础平台。
接入了数据开平台,对数据开发有了一定认识。
平台维度:
接触了流量回放平台。
接触了端到端插件平台。
体会了集团持续集成的强大。
业务维度:
熟悉了集团整个交易链路,涉及商户、商品、营销、库存、交易系统、支付等。
熟悉了稳定性、资金安全、红蓝演练、废单演练等。
参与了重大项目奖。
但这里有几个点:
测试工具维度业务逻辑不复杂,不需要过度的设计和抽象。
平台维度,能够发挥的空间非常有限,夹缝里寻创新。毕竟在集团你能想到的东西都有现成的平台,重复造轮子是一种资源浪费。但是很遗憾,已有的轮子并不能满足每个 team 的需求,都是按照自己当时的情况构建和开发的,缺乏扩展性。但如果共建,就意味着巨大成本和人力付出。
业务维度,测试站在最底层,对于架构设计的理解是欠缺的。很多好的工具和平台,是在开发过程中造出来的,不参与其中,不知创新的点。现在也在提倡研发效能,如何提升?
起初我的动力是想成为研发的同时可以洞悉系统的创新之处,辅助或横向输出可以提效的框架或平台,现阶段疲于业务代码的奔命中。当然,每个人的情况不尽相同,对于那些到哪都能发光的同学我送上一句诚挚的问候,“Respect!”
高阶知识的熟练程度
高并发场景使用少,毕竟服务与一个测试团队 200 以内的,并不需要什么高并发设计,即便 200 个人同时访问,两台机器扛起来绰绰有余。而这正是测试工具平台所不具备的。
大数据量场景机会很少用,如何快速高效的在几万条、几亿条、几百亿条数据中查询,也是很少用到的,即便数据全在 ADS,
稳定性的保障,包括系统稳定性和业务稳定性。你以为你判空就够了,空指针无处不在。
八股文的掌握程度。
顶层设计抽象的能力:
如何高效快速的完成需求,并支持可扩展,这是测试工具和平台所不太关注的,毕竟产品的复杂度在那。
如何做好建模,领域建模,数据建模,业务建模这也是需要在实践中总结的。好的建模和设计,可以提升效率。
往往忽略统计、报表类需求的建模,这类需求的特点是数据是实时、非实时及伪实时的,字段不在同一张表里甚至字段需要通过第三方接口取,毕竟网络开销是昂贵的。
框架的熟练程度:
对于 spring 全家桶的熟练程度一开始肯定不高。
框架的抽象封装能力在前期也是需要提升的方向。
框架的整合能力也需要提升。
其他杂项:
测试可以怼开发代码差。
开发相对于测试需要背负更多的责任和义务。
尤其设计的时候,需要全方位考虑到所有可能的问题,并找到解决方案,尤其需要第三方配合的,不提前识别出风险,对方大概率毙了你的需求。
一个小小的结论:
35 岁以后转开发,慎重;能力 OK,没问题;一般还是留在测试岗位或测开岗位或 SRE 团队。
30 岁转开发,如果有一定技术积累,我觉得没问题。3 到 5 年的时间追赶会让你有本质的变化。
如果技术一般就老老实实干测试。毕竟一个测开的开发能力,普遍在 P5 开发的水位线。
开发可以降维做测试,我非常同意这个观点。前提是质量意识比较好的开发。除了方法论,但这些方法论一个月就可以掌握。另外,互联网产品 95% 都是等价类(思维导图),之所以还留 5%(我本来想说 99%),是因为可能确实其他领域需要什么因果关系呢。
最后:
测试转开发真的不容易,需要付出比别人更多的努力,而且要忍受一段时间也可能是很长一段时间的寂寞,人们都渴望被重视,但你现阶段是爬坡阶段,接受现实,无论结果好与坏坚持总有回报。
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!