📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
刚入职新公司,面对陌生的业务和代码,感觉完全摸不着头脑,不知道从哪里下手,担心试用期都过不了……
其实这个问题,基本上每个测试人都会遇到。不管你是应届生第一次入职,还是跳槽到新公司,甚至是老员工换了新项目组,都会面临快速熟悉业务的问题。
我自己这些年也换过几家公司,踩过不少坑,也总结了一些经验。今天就跟大家好好聊聊,测试工程师入职新公司,如何快速上手业务这个话题。
为什么快速上手业务这么重要?
首先明确一点,试用期一般是3个月或者6个月,这段时间公司会考察你的学习能力、业务理解能力、技术水平等各方面。如果迟迟上手不了,不仅自己焦虑,领导也会怀疑你的能力。
而且互联网公司节奏都很快,项目一个接一个,没人会等你慢慢学。你上手越快,就越能独立承担任务,在团队中的价值就越高,转正和后续晋升加薪都会更有优势。
所以,快速上手业务,不仅仅是为了通过试用期,更是为了在新公司站稳脚跟,为后续发展打好基础。
一.入职前的准备工作
有些同学可能觉得,还没入职呢,准备啥?其实拿到offer之后到正式入职这段时间,是可以做很多准备的。
首先,可以去了解一下公司的主要产品和业务方向。比如你要去电商公司,可以提前下载他们的App体验一下,看看主要功能模块有哪些,用户评价怎么样,跟竞品有什么区别。
其次,可以去看看公司的技术博客、公众号,了解一下他们的技术栈。比如后端用的是Java还是Go,前端是Vue还是React,测试用的什么框架等等。如果有不熟悉的技术,可以提前学习一下。
最后,可以在网上搜一搜这家公司的相关信息,脉脉、知乎、看准网等平台都有很多内部员工的分享,可以了解下公司文化、工作氛围、团队情况等等。
虽然这些准备不会让你一入职就立马上手,但至少可以让你对公司有个大概的了解,入职后不至于两眼一抹黑。
二.入职第一周该做什么?
很多新人刚入职,都会遇到这样的情况:领导给你安排了一堆文档看,然后就没下文了,自己看着看着就懵了,不知道重点在哪,也不知道看完了接下来干嘛……
我的建议是,第一周主要做三件事:
1. 搭建环境,跑通流程
这个是最基础的,也是最重要的。包括开发环境搭建、测试环境部署、代码拉取、项目运行等等。
很多公司都有新人文档,但不一定是最新的,可能会遇到各种问题。遇到问题不要死磕,及时找同事帮忙,顺便也能跟同事混个脸熟。
环境搭好之后,要把整个业务流程跑一遍。比如电商系统,就从注册登录、浏览商品、加购物车、下单支付、订单查询这样走一遍完整流程。
这个过程中,要注意观察每个环节涉及哪些系统,调用了哪些接口,数据是怎么流转的。有不懂的地方记下来,后面再去问。
2. 阅读文档,梳理业务
一般公司都会有需求文档、设计文档、接口文档、测试用例等等。这些文档质量参差不齐,有的写的很详细,有的就是个大纲。
看文档的时候,建议自己建一个思维导图或者笔记,把核心业务流程、主要功能模块、关键业务规则都整理出来。
比如支付模块,就要搞清楚支持哪些支付方式、支付流程是怎样的、有哪些异常场景、超时如何处理、退款逻辑是什么等等。
看文档的过程中肯定会有很多疑问,这很正常,先记下来,找机会向同事请教。千万不要自己瞎猜,很容易理解偏了。
3. 熟悉代码,了解架构
测试虽然不用天天写代码,但一定要懂代码。看懂代码才能更好的理解业务逻辑,设计测试用例也会更全面。
刚开始不用全看,可以先从主流程的核心代码看起。比如订单系统,就重点看下单、支付、退款这些核心接口的代码实现。
看代码的时候,要关注几个点:数据库表结构、缓存使用、消息队列、定时任务、异常处理等等。这些都是容易出bug的地方,也是测试的重点。
同时,要了解整个系统的架构,前后端是怎么交互的,各个微服务之间是怎么调用的,有哪些第三方依赖等等。画个架构图,会对后续理解业务帮助很大。
三.入职第二周到第一个月
第一周主要是熟悉环境和看文档,一般公司从第二周开始,就要让你实际上手做任务了。
1. 从简单任务开始
一般新人刚开始不会给你很重要的任务,可能就是修改下测试用例、跑跑回归测试、提提小bug之类的。
千万不要小看这些简单任务,这是你熟悉业务的最好机会。在执行任务的过程中,多思考为什么要这么测,还有没有其他测试点,跟其他模块有什么关联等等。
遇到不懂的地方,及时问。很多新人不好意思问,怕被觉得能力不行。其实恰恰相反,能发现问题、主动请教,说明你在认真学习,领导和同事都会看在眼里。
但是问问题也要讲究方式,不要什么都问,先自己研究一下,实在搞不定再问。问的时候也要说清楚自己做了哪些尝试,遇到什么具体问题,而不是直接扔个问题让别人帮你解决。
2. 参加需求评审和技术,测试用例评审
这个非常重要!很多新人觉得自己刚来,不懂业务,就在评审会上当个沉默的听众,这样是学不到东西的。
参加评审会的时候,要认真听每个人的发言,特别是产品经理讲需求背景和业务逻辑、开发讲技术方案和实现细节。
听的过程中,可以对照着需求文档和原型图,标注重点。有不懂的地方,评审后可以单独找相关同事请教。
如果对需求有疑问或者发现潜在风险,可以大胆提出来。即使说错了也没关系,说明你在思考,总比不发言强。而且很多时候,测试从不同角度提的问题,往往能发现产品和开发没考虑到的场景。
3. 主动承担测试任务
随着对业务的了解逐渐加深,就可以主动承担一些测试任务了。从功能测试开始,逐步过渡到接口测试、性能测试、自动化测试等等。
在测试过程中,要养成好的习惯:
-
写详细的测试用例,覆盖正常流程、异常流程、边界值等
-
提bug要描述清楚复现步骤、预期结果、实际结果,最好附上截图或日志
-
测试完要做好总结,哪些地方容易出问题,下次重点关注
-
有好的测试方法或工具,可以分享给团队
4. 多跟产品、开发沟通
测试是连接产品和开发的桥梁,一定要跟他们保持良好的沟通。
遇到需求不清楚的地方,第一时间找产品确认。有些测试人员不好意思问,就按照自己的理解测,等上线了发现理解错了,就很被动。
发现bug要及时跟开发沟通,确认是代码问题还是需求理解有偏差。如果是比较严重的bug,要及时同步给项目经理和产品,评估影响范围和修复方案。
平时也可以多跟开发聊聊技术,了解他们是怎么实现的,遇到了哪些技术难点。这样不仅能加深对业务的理解,也能提升自己的技术水平。
前面讲的是通用方法,但实际上,不同规模、不同类型的公司,上手方式差别很大。
大厂(阿里、字节、美团等)
公司特点:
-
文档体系完善,Wiki、Confluence上资料齐全
-
流程规范,有明确的Oncall、Code Review、发布流程
-
团队分工细,你可能只负责某个模块的一小部分
-
技术栈成熟,有完善的测试平台和工具链
上手建议:
重点看文档,文档就是最好的老师。 大厂的文档质量普遍很高,系统架构文档、接口文档、测试规范都很详细。先把文档看透,再动手。不像中小公司文档可能过时,大厂的文档一般都有专人维护。
快速了解内部工具和平台。 大厂都有自研的测试平台、CI/CD平台、监控平台等。尽快学会使用这些工具,会大大提高效率。这些工具往往比开源工具更强大,但学习曲线也更陡峭。
主动参加培训和分享会。 大厂内部培训资源丰富,新人培训、技术分享会、Oncall培训等,能参加的都参加。每周的技术分享会是学习的好机会,可以快速了解各个团队在做什么。
不要局限于自己的模块。 虽然分工细,但要主动了解上下游系统,看看整个链路是怎么跑的。大厂最怕成为"螺丝钉",只知道自己那一块,这样对职业发展不利。
关注代码规范和最佳实践。 大厂对代码质量要求高,要学习团队的测试规范、用例编写标准、Bug提交规范等。这些规范都是经过长期实践沉淀下来的,学会了受益终身。
中小厂自研公司
公司特点:
-
文档不一定完善,可能比较陈旧
-
流程相对灵活,没有大厂那么严格
-
一人身兼多职,可能同时负责多个系统
-
技术债务可能较多
上手建议:
找对人比看文档更重要。 文档可能不全或过时,直接找核心开发和老测试请教,效率更高。一般团队里都有那么一两个"活字典",搞清楚谁最懂业务,多向他们请教。
快速掌握核心业务流程。 中小公司节奏快,要优先搞清楚主营业务的核心流程,次要功能可以慢慢学。不要想着一次性全部搞懂,先把80%的主流场景弄清楚就够了。
多动手实践,在实战中学习。 别等完全弄懂了再动手,边做边学,遇到问题再深入研究。中小公司没那么多时间让你慢慢学,要快速进入实战状态。
主动承担跨模块任务。 中小公司人手相对不足,如果你能同时cover几个模块,价值会更高,晋升也更快。不要只守着自己的一亩三分地,主动去了解其他模块。
注意补充测试工具和流程。 很多中小公司测试基础设施不完善,如果你能引入好的测试工具或优化测试流程,会是很大的加分项。比如搭建自动化测试框架、引入性能监控工具等。
创业公司(百人以下)
公司特点:
-
文档基本没有或很粗糙
-
流程不规范,甚至可能没有专门的测试环境
-
人员流动大,业务变化快
-
需要身兼数职,可能还要写代码
上手建议:
直接跟着项目走,实战是唯一的老师。 创业公司没时间让你慢慢学,直接参与项目,在实战中快速成长。可能第一天就要开始测试,第三天就要上线,节奏非常快。
主动补齐基础设施。 创业公司测试体系可能很不完善,你可以主动搭建测试环境、写测试文档、建立测试规范,这些都是证明价值的好机会。从0到1搭建测试体系的经历,对职业发展很有帮助。
培养全栈能力。 创业公司需要多面手,除了功能测试,最好会写自动化脚本、会看日志排查问题、会用抓包工具分析接口,甚至能改一些简单的bug。技能越全面,价值越大。
紧跟业务变化。 创业公司业务调整很快,今天做电商明天可能改做社交,要保持学习能力,快速适应变化。不要抱怨业务变来变去,这就是创业公司的常态。
跟老板和核心开发打好关系。 创业公司人少,跟老板和核心团队关系好,能更快了解公司战略和产品方向。很多决策都是几个核心人员商量出来的,提前知道业务方向,可以更好地规划自己的工作。
不同业务领域的测试重点
除了公司类型,不同行业的业务特点差异也很大,测试重点完全不一样。
电商领域
业务特点: 交易链路长,涉及商品、订单、支付、物流、售后等多个环节;促销活动多,并发量大。
上手重点:
理清交易全链路。 从商品上架→用户浏览→加购→下单→支付→发货→收货→评价→售后,每个环节的状态流转要搞清楚。画一个完整的状态机图,对理解业务帮助很大。
熟悉库存和价格计算逻辑。 这是电商的核心,超卖、库存扣减、价格计算、优惠叠加等都是重点测试对象。特别是大促时,库存和价格容易出问题。
关注促销活动。 秒杀、拼团、满减、优惠券等活动逻辑复杂,而且容易出bug,要重点关注。每次大促前都要做充分的测试,包括功能测试、性能测试、容灾测试。
掌握性能测试。 大促期间流量激增,要会做压测,了解系统的承载能力。知道系统的性能瓶颈在哪,提前做好优化。
学会看交易数据。 GMV、转化率、客单价等指标要懂,能帮助你理解业务。测试不只是找bug,还要关注业务指标是否正常。
推荐先看: 订单状态机、支付回调机制、库存扣减逻辑、优惠券系统设计。
金融领域
业务特点: 对数据准确性要求极高,容错率低;涉及资金和用户敏感信息,安全性要求高;监管严格,合规性要求多。
上手重点:
理解金融业务规则。 不同金融产品(支付、理财、贷款、保险等)业务规则差异很大,要先搞懂基本的金融概念和监管要求。可以多看看央行、银保监会的相关规定。
重点关注资金安全。 资金流转、账务处理、对账逻辑等要格外小心,一分钱都不能错。测试时要特别关注资金的入账、出账、冻结、解冻等操作。
注重异常场景测试。 支付超时、重复支付、退款失败等异常场景要重点测试。金融系统对异常处理要求很高,任何异常都要有兜底方案。
加强安全测试。 SQL注入、XSS攻击、越权操作等安全问题要重点关注。金融系统是黑客的主要目标,安全测试不能马虎。
做好合规性检查。 实名认证、信息脱敏、日志审计等合规要求要严格执行。金融行业监管严格,不合规可能导致严重后果。
推荐先看: 账务系统设计、对账逻辑、交易流水、风控规则。
社交/内容领域
业务特点: 用户量大,内容类型多样;推荐算法复杂;内容审核要求高;注重用户体验和留存。
上手重点:
理解推荐算法逻辑。 社交产品的核心是推荐算法,要了解内容是怎么推荐给用户的,哪些因素影响推荐结果。虽然不需要懂算法细节,但要知道大致原理。
关注内容审核机制。 文字、图片、视频等内容都要经过审核,要了解审核规则和流程。违规内容一旦上线,可能带来严重后果。
重视用户体验测试。 页面加载速度、交互流畅度、视觉效果等都很重要。社交产品用户对体验要求高,小问题可能导致用户流失。
测试各种内容类型。 文字、图片、视频、直播等不同类型内容的处理逻辑不同,都要覆盖到。特别是视频和直播,涉及编解码、带宽、延迟等技术问题。
关注反作弊机制。 刷量、刷赞、虚假账号等作弊行为要能被系统识别和处理。反作弊是社交产品的重要一环。
推荐先看: 推荐系统架构、内容审核流程、用户增长漏斗、消息推送机制。
企业服务(SaaS)领域
业务特点: 多租户架构,数据隔离要求高;定制化需求多;注重稳定性和可用性;客户对接成本高。
上手重点:
理解多租户架构。 不同租户的数据要严格隔离,不能串数据。这是SaaS产品的基础,测试时要重点关注数据隔离是否到位。
关注权限管理。 企业服务往往有复杂的角色权限体系,要搞清楚不同角色有哪些权限,是否存在越权风险。
测试定制化功能。 大客户往往有定制化需求,要确保定制功能不影响其他租户。测试时要做好环境隔离。
重视稳定性和性能。 企业客户对系统稳定性要求很高,不能频繁出问题。要做好压力测试、稳定性测试,确保系统能长时间稳定运行。
做好数据迁移测试。 企业客户换系统时往往需要数据迁移,要确保数据迁移的准确性和完整性。
推荐先看: 多租户数据隔离方案、权限管理系统、API接口设计、数据备份恢复机制。
四.如何加速业务理解?
除了上面说的这些日常工作,还有一些技巧可以帮你更快理解业务:
1. 对比竞品
很多业务逻辑不是凭空产生的,都是有行业规范或者参考竞品的。比如你测试的是外卖系统,就可以去体验美团、饿了么,看看他们是怎么做的。
通过对比,可以更好的理解为什么我们的产品要这么设计,跟竞品的差异在哪,哪些地方需要重点测试。
竞品分析不只是看功能,还要关注交互设计、性能表现、异常处理等细节。很多时候,竞品踩过的坑,我们也可能会遇到。
2. 体验完整的用户路径
不要只看自己负责的模块,要尽可能体验完整的用户使用路径。比如你负责支付模块,也要去了解用户是怎么找到商品的、加购流程是怎样的、订单生成后有哪些状态变化等等。
只有站在用户角度,才能发现一些细节问题,写出来的测试用例也会更全面。
建议定期做用户路径走查,从新用户注册到核心功能使用,完整走一遍。这个过程中往往能发现一些被忽视的问题。
3. 参与线上问题排查
线上出bug是最好的学习机会。通过排查问题,可以了解数据流转的细节、各个系统之间的调用关系、日志怎么看、监控怎么用等等。
新人可能没有线上环境权限,但可以旁观老员工怎么排查的,多学多问。这比看一百篇文档都管用。
而且参与线上问题排查,能让你更深刻地理解哪些场景容易出问题,以后设计测试用例时就能重点关注。
4. 整理自己的知识库
建议每个测试人员都维护一个自己的知识库,可以用语雀、Notion、印象笔记、有道云笔记等工具。
把学到的业务知识、技术方案、测试方法、常见问题等都整理进去,并且持续更新。这样不仅加深自己的理解,以后遇到类似问题也可以快速查找。
知识库的组织方式可以按照业务模块、技术栈、问题类型等维度来分类,方便后续查找。
五.几个常见的坑要避免
最后,说几个新人容易踩的坑,大家一定要注意:
1. 不敢问问题
很多新人怕被觉得笨,有问题也憋着不问,结果越积越多,后面更不敢问了。其实试用期就是给你学习的时间,有问题很正常,大胆问就是了。
但要注意问问题的频率和方式,不要十分钟问一个,可以把问题攒一攒,找个合适的时机一起问。问之前先自己研究一下,把自己的思考过程说清楚。
2. 闷头看文档,不实践
有些同学入职一个月了,文档看了一大堆,但从来没动手操作过,这样效率很低。看文档的同时,一定要结合实际操作,跑跑代码、写写用例、提提bug,在实践中学习。
3. 只关注自己的模块
有些测试人员只关心自己负责的那块内容,对其他模块完全不了解。这样是不行的,系统是相互关联的,你不了解上下游,很难测试全面。
4. 不总结不复盘
每次测试完,一定要做总结。这个项目遇到了哪些问题,有哪些好的测试方法,下次怎么改进等等。不总结,就没有进步,永远只是重复劳动。
写在最后
快速上手新业务,说到底就是一个学习能力的问题。学习能力强的人,一两个月就能独当一面;学习能力弱的,可能半年还在瞎摸索。
但学习能力也不是天生的,是可以培养的。多看、多问、多思考、多实践、多总结,坚持下来,你会发现自己的进步速度远超想象。
最重要的是要主动,不要等着别人来教你,要主动去学、去问、去做。公司招你进来,是希望你能创造价值的,而不是被动等待。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】


被折叠的 条评论
为什么被折叠?



