我们新推出大淘宝技术年度特刊《学如逆水行舟,不进则退——工程师2023年度成长总结专题》,专题收录10余篇工程师2023真诚心路历程与经验思考,覆盖终端、服务端、技术质量等技术领域,这是他们的心得体会,欢迎同行的你一起沟通交流。
引言
Part1:测开的成长
▐ 我眼中的测试开发
质量的概念最初仅用于产品,在工业时代兴起的时候,质量的概念就已经存在,生产线上下来的产品质量决定着公司的良次品率、成本乃至公司的兴衰,慢慢的也诞生了国际质量认证体系,而在这之后质量逐渐扩展到服务、过程、体系和组织,以及以上几项的组合。
如今互联网公司的测试开发,最重要的就是通过多手段保障软件产品的质量和稳定性,保持对质量的高度敏感和追求。作为一个测试开发,传统意义上的职责主要负责测试用例,测试方法,测试框架的设计,支持测试流程的自动化、持续集成和持续交付,更深一步的职责需要同时具备测试和开发技能,熟悉项目技术架构,根据研发流程中的痛点,能够开发测试工具和平台,用技术解决问题,降低门槛,减少人工操作和测试周期,提高测试效率和质量。
▐ 测开的成长之路
不得不承认,我们算是赶上了一个好时代,21世纪互联网浪潮开启,随之而来诞生了非常多职业,我们测开也是其中之一。个人总结一个测开的成长,可分为功能测试->自动化测试->测试开发->专项保障->测试架构这个几个阶段,而测开的工作职责,也从业务测试->质量保障->效能保障->用户体验不断递进。
在初级功能测试阶段,我们需要熟悉测试流程和理论,软件研发流程和生命周期,数据库&Linux,测试流程体系,各种测试方法等。进阶接口测试阶段,需要了解前后端接口测试框架,接口协议和抓包,web端,移动端的交互体系,灰盒/白盒测试方法等,总而言之,需要全方面了解业务和软件生命周期。
业务功能稳定后,我们就要想办法提高测试效率,而通过编写可重复执行的测试脚本和程序来自动执行测试,可减少人工测试周期,提高测试和回归效率,实现测试左移和测试右移。当年在北京时,各种UI自动化UIAutomator,APP自动化Appium,web自动化Selenium,录制回放自动化QTP,接口自动化Robot Framework,Pytest,单元测试JUnit,TestNG等,都尝试在业务中使用过,也有一两年的时间,主要一大块工作内容就是用python,C#,java等语言通过各种自动化测试框架编写自动化脚本,然后在Jenkins实现持续集成和持续交付,也为版本回归大大提高了效率。
2019年进入阿里之后,我们开始测开转型,测试角色不再局限于功能和自动化测试,我们需要熟悉编程语言,熟悉自己业务的技术架构,参与开发的技术评审,根据业务测试、数据、流程,运维上的痛点,通过编写脚本,开发工具和平台等方式来提高测试效率、测试广度、测试深度,用更高的测试覆盖率来保障项目质量,随之而来也诞生了各种自动化平台,持续集成devops,数据生产平台等等。
掌握了测开技能,下一阶段就需要在各个专项上横向拓展了,在2020年后开始接触各种各样的专项,比如APP专项(启动性能、安全测试、弱网测试、兼容性测试等),性能专项(压测,性能监控,帧率/卡顿率),稳定性专项(容量规划,监控预警,1-5-10,预案,限流等),资金专项(三图一表,资损场景,离线/实时对账,应急止血),效能专项(测试效能、研发效能)等,而在这些专项上的深耕,有助于真正了解整个软件全生命周期的质量保障,也能让测开不只停留于质量保障,可以往前一步做的更多。
再往后一步的测试架构,个人觉得应该是可以根据不同项目类型,合理规划测试资源和测试手段,具备敏锐的风险识别和应对能力,通过质量分析和评估,给出一些开发架构和测试策略上的有效建议,同时也能联动多方整合资源进行有效沟通,还能持续探索,引入新技术或新方法以不断提升测试效能。
▐ 一阶:如何搭建一个合格的业务质量保障体系
一个新业务完整+健康的质量保障体系建设,应是能串通整个研发生命周期,解决需求交付上各个节点的核心痛点的。就拿之前做用增时搭建的一个质量保障体系举例,首先最重要的是业务全流程梳理和技术架构分析,这个节点花的时间最多,也最复杂,但一定记得磨刀不误砍柴工,只有摸清了前中后整条链路业务流转,以及上下游依赖,包括接口数据传递情况,才能总结出真正的痛点,比如当时用增需求交付就存在触点多验证周期长,跨平台配置链路长,排查问题难,链路数据构造难等核心痛点。
摸清了全链路痛点,接下来就简单了,对症下药即可,我们通过数据驱动&基建完善,让新触点验证从3天缩短到0.5天,策略曝光率提升20%。同时推动研发模式升级和测试左移,让自动化发现Bug率提升10%,保障线上0故障。另外针对运营全链路配置难&排查难的问题,由点到面搭建全链路测试工具,可实现每月提效10+人日。从下图可见,一个符合业务特性的精细化用户运营质量保障体系就基本建设完成了。
一个新业务完整+健康的质量保障体系建设,应是能串通整个研发生命周期,解决需求交付上各个节点的核心痛点的。就拿之前做用增时搭建的一个质量保障体系举例,首先最重要的是业务全流程梳理和技术架构分析,这个节点花的时间最多,也最复杂,但一定记得磨刀不误砍柴工,只有摸清了前中后整条链路业务流转,以及上下游依赖,包括接口数据传递情况,才能总结出真正的痛点,比如当时用增需求交付就存在触点多验证周期长,跨平台配置链路长,排查问题难,链路数据构造难等核心痛点。
摸清了全链路痛点,接下来就简单了,对症下药即可,我们通过数据驱动&基建完善,让新触点验证从3天缩短到0.5天,策略曝光率提升20%。同时推动研发模式升级和测试左移,让自动化发现Bug率提升10%,保障线上0故障。另外针对运营全链路配置难&排查难的问题,由点到面搭建全链路测试工具,可实现每月提效10+人日。从下图可见,一个符合业务特性的精细化用户运营质量保障体系就基本建设完成了。
▐ 二阶:巧用工具解决重复问题
在测试开发的工作过程中,肯定会遇到不少数据上、效率上、问题排查等方面重复性问题,这时候可以运用一些脚本、工具、平台来解决。首先可以横向了解集团内同类型业务是否有对应的解决方案,有的话快速复用即可,如果没有,可以考虑先用低成本的方式开发一个小工具,可高效解决问题即可,如果后续有可复用、可拓展性,再考虑搭建平台来系统化的解决一类问题。
▐ 三阶:从0到1建设资金安全专项
质量体系搭建完,工具平台建设完,就不能再只守着自己眼前的一亩三分地了,文章开头介绍过APP、性能、稳定性、资金、效能等专项深耕,下面我想从最熟悉的资金专项来介绍下通盘的专项建设之路。
彼时还是跨境电商的业务,故障风险严峻,财年理论资损和实际资损风险高,但大家都没防控经验,线上也是0场景0布控,无问题发现能力,后续融合风险还高。于是我们向集团各BU前辈取经,快速明确了第一要务为快速挖掘全量资损场景,建设资损发现能力,高效推进监控/核对覆盖率,具备资损快速止血能力,因此在4月份开始从上到下正式拉起资金安全专项攻坚战。
存量风险基本防控完成后,我们就要开始考虑可持续问题,也就是增量风险和人员效率,于是我们结合原先的线下流程,建设了资金安全中心,把流程约束落进系统、把风险精准分析能力沉淀进工具,将看似割裂的经验和技术能力“无形”织入到高频工作的各环内,整体串成一条“线”来改变大家的工作模式,旨在尽可能动用少的人力,却能覆盖尽可能多的风险。
Part2:这些年的一些思考
▐ 钝感力-论坚持的动力
坦白讲,我自认为不是一个聪明人,在学习和工作的过程中,我见过不少我理解意义上的聪明人,他们的学习能力更强,可以短时间内学习和掌握一项技能,而且还轻轻松松,举一个最典型的例子就是一起玩同一个游戏,他们永远比你上手快,操作好,这也让我十分佩服。
工作中一路走来,我觉得天赋固然重要,但坚持,是一个后天可修炼的难能可贵的品质。很多人会吐槽工作都是“重复做相同的事”,但正是一开始的“重复” ,才给了一个新手成长最好的契机。而且重复并不代表一成不变,我们需要在重复中坚持不断学习,不断进阶,寻求坚持后创新和突破,才能让自己最终成为这个领域的专家。
近一两年行业变化比较多,大家也都会变的焦虑,但其实对于我们搬砖的同学来说,其实大部分消息和变化都没那么重要,可提前布局的事也不多,再说临时抱佛脚也晚了。适当的保持一份钝感力,不要为没有发生的事情而焦虑,在“不确定”的世界中,不如更专注把当下确定的事情做好,多学一点专业知识和技能,我觉得反而更有用。多看书,多成长,与其焦虑,不如行动,知识和经验才是真正属于自己的。
▐ 体系化的解决问题
▐ 如何从“借力”到“合力”
很多工作单凭一个人之力,是无法推进下去的,特别是跨团队协作和横向事项,那么势必就需要“借力”,而如何“借力”也是一个有很深学问的命题。
▐ 机会,努力与自我价值
这些年来,遇到过很多的挑战,也碰到过很多机会。有位职场前辈曾经跟我说过一句话,让我记忆深刻:这辈子,能够让你往前跨一大步的机会也许就这么几个,可能几年才会有一个,所以,日常需要多积累,当机会来临时,付出百分之两百的努力,牢牢抓住他,不要给自己留遗憾。
我始终相信,机会,是留给有准备的人。还记得几年前刚做迁移融合,做资金安全专项,写工具平台的时候,都觉得挑战很大,但办法总比困难多,也许要比别人付出更多的努力,但真正达成目标的时候,还是会有很大的认同感和成就感的,说实话这也将会是你以后跳槽的资本。所以,挑战也是机会,当一个人有更大的概率能把事情做好,那么他在赢得信任后通常又会有更大的机会。其实回头看,你觉得最难的时候,也是你成长最快的时候。
我就是抱着这种信念感一步步往前走,过程中肯定也有失败,但不要害怕犯错,犯错会让人变的更好,在犯错后总结经验再前进,这样的成功才更有意义,也才能真正的实现自我价值。这几年来,不管是做资金专项时取得的“春雷·春雨 行动先锋奖”,还是财年取得的阿里安全生产“FY22 红苹果”奖,以及中间水到渠成的晋升成功,作为讲师参加MTSC 2022第十届中国互联网测试开发大会,还有最近2023年双11作为大促PTM取得的“舍我其谁奖”,都是对自己抓住机会,努力拼搏后最好的褒奖。
▐ 永远年轻,永远热泪盈眶
它山之石,可以攻玉,保持学习的习惯,开放性是我们干互联网这行的一个重要特点,所以每天都会有很多新的技术更新迭代,因此我们需要保持一份危机感,如果一直在吃老本,终有被淘汰的那一天。
比如十几年前的手机,前几年的电动汽车、短视频、直播,以及这两年大火的AI,都会或多或少影响我们的行业技术栈和业务方向。前几天看到一个关于AI行业分析的文章,对我触动蛮大的,ChatGPT的横空出世,让大家都有了危机感,AI领域上每天这种快速的变化是在以往的科技史上都还没出现过的,而未来大概率是AI的时代,这也可能是接下来增长最快的一个领域,但也是我们代差最大的一个领域,所以这中间就存在巨大的挑战和机遇,因为“算力”未来可能就会像钱一样变为现金等价物。所以对新鲜事物,保持学习和探索,会让我们始终都领先别人一步。
保持阅读,保持自律,这是一个很好的习惯,书对人的影响是潜移默化的,家里有小朋友的建议一定从小培养好阅读的习惯,会让人终身受益,这在很多公司老板和名人身上都见过。但说实话我没有做的很好,我家里有好几个书架,但都是我家属的书,我看过的只有一小部分,所以新一年里我也给自己定个小目标,先从6本开始。
▐ 旅行,让身心放松
在文章的结尾,借用康德的一句话来总结:我始终只求克服自己,不求克服命运;只求改变自己的欲望,不求改变世界秩序。这也是罗翔老师前几天来公司讲座时赠予大家的一句话,希望我们都从一点一滴改变自己开始,也许你能改变的就不止一点点,谨以此句赠予一路上披荆斩棘且奋勇前行的质量人们,加油!
吾心自有光明月,千古团圆永无缺。
团队介绍
我们是淘天集团-FC技术质量团队,一支专注于通过AI和技术创新驱动的质量保障团队,在AI测试,流量回放,持续集成,资金安全等方面持续突破,致力于为消费者提供更加便捷和智能的购物体验,让每个人向往的生活:身临其境,触手可及。欢迎加入我们,一起来做点有意思的事儿,简历投递邮箱:cxj234109@taobao.com
拓展阅读
¤
终端技术 |
音视频技术
服务端技术 | 技术质量 | 数据算法
本文分享自微信公众号 – 大淘宝技术(AlibabaMTT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。