你可能已经在写脚本、维护用例,但招聘 JD 上「测试开发」四个字又要求会写框架、会做平台,投之前心里没底。这篇不灌鸡汤,只给一套能自己对照的判断标准:两类岗位每天在干什么、代码写到什么程度算够、面试和转岗前要补哪几块,以及哪些情况下其实不该急着转。
你可能已经在写脚本、维护用例,招聘 JD 上「测试开发」四个字又要求会写框架、会做平台,投之前心里没底。这篇不灌鸡汤,只给一套能自己对照的判断标准:两类岗位每天在干什么、代码写到什么程度算够、面试和转岗前要补哪几块,以及哪些情况下其实不该急着转。
先说清楚一件事:自动化测试和测试开发不是熟练度高低的关系,更像两条不同的交付路线。一个把业务验证做稳,一个把验证这件事本身做成别人能用的工具。分不清的时候,别看头衔,看你的活最后交到谁手里。
先看每天在干什么:两类岗位的动作差异
自动化测试的日常是围绕业务用例转:写脚本、跑回归、看失败、修选择器,一天结束交出去的是稳定的用例集和一份报告。测试开发的日常是围绕人转:写工具、搭平台、做数据工厂和用例管理,交出去的东西要让别的测试同事能直接用。
| 对比项 | 自动化测试 | 测试开发 |
|---|---|---|
| 每天主要动作 | 跑回归、修脚本、看失败原因 | 写工具、搭平台、做数据工厂 |
| 交付物形态 | 用例集 + 测试报告 | 别人能上手用的工具或服务 |
| 使用者是谁 | 主要是自己和本组 | 其他测试同事、甚至跨部门 |
| 被追问的问题 | 覆盖率够不够、误报多不多 | 工具好不好用、接入成本高不高 |
- 判断标准:你的产出是给自己和本组用,还是给其他测试同事用,这是最省事的一条分界线
- 如果同一份活两个人做,谁能接手别人的脚本不用问作者,谁更靠近测试开发那侧
- 别只看 title:小团队里两类活常由一个人兼,头衔分不出差异
- 不适用情形:团队只有两三个测试,工具需求本来就弱,这条分界线会模糊掉
代码写到什么程度算够:一条可自查的能力线
两类岗位对代码的要求不是「会」和「不会」的区别,而是设计和维护的区别。自动化测试只要脚本能跑通、自己能调试就行;测试开发要保证别人接手后还能改,这就逼着你处理边界、异常和结构。
- 自动化测试的够用线
- 能读懂业务代码、会调接口和定位元素、脚本能自己调通,不需要设计抽象
- 测试开发的够用线
- 能设计模块边界、做异常处理和并发控制,写出的工具别人接手能改
- 自查办法
- 把最近写的一个脚本给同事看,对方能不能不看你就跑起来,答案就是分界线
- 不适用情形
- 只做接口断言和造数据的工作,即便挂测试开发头衔,实际能力线仍停在自动化那侧
- 第一步:翻自己的提交记录看最近一个月写的东西里,有多少是改断言和选择器,有多少是在抽公共方法或封装工具;前者偏自动化,后者偏测试开发。
- 第二步:找一次失败复盘回想最近一次脚本批量失败,你是逐个改用例,还是去查公共方法或环境的根因;处理方式比写多少行代码更能说明位置。
- 第三步:让别人跑一次你的东西找个同事照着你的说明跑一遍,记录他卡在哪;卡在环境或使用说明上说明工具化程度不够,卡在业务理解上说明还在自动化那侧。
转岗前补哪几块:优先级清单
准备转测试开发,最容易犯的错是先去啃架构和平台设计。没有真实场景支撑,面试一问细节就露。按下面这个顺序补,性价比更高。
- 第一优先:工程基础——版本控制、持续集成的基本流程、日志与超时这类写代码绕不开的东西
- 第二优先:并发与限流意识,批量任务怎么分批、失败怎么重投,这是测试开发最常被追问的场景
- 第三优先:把手上重复的活工具化,哪怕只是把散落的脚本收成一个命令,面试时有东西可讲
- 先别学的:复杂架构和平台设计,没真实场景硬背,一问实现细节就答不上来
补到什么程度算可以了?不是看学了几个名词,而是看你能不能把「我为什么做这个工具、它替谁省了哪一步」讲成一条完整的线。这条线讲不顺,说明还停在自动化那侧。
什么情况下先别急着转
转岗这件事,时机比决心重要。下面几种情况,转过去大概率只是换个头衔做同样的事,甚至更难受。
- 当前团队业务还在快速变,用例都写不稳,此时去做平台是跳过基本功
- 你只是讨厌重复劳动,而不是喜欢写工具,换成测试开发一样会被维护成本劝退
- 目标公司规模小、测试人数少,工具需求本来就弱,转过去可能只是换个头衔做同样的事
- 判断口径:看看部门里有没有「别人主动来找你要工具」的需求,没有就别硬转
投之前拿这份对照表过一遍
面试前别急着背八股,先用下面这张表把自己的经历对齐一遍。每一条能举出一次具体动作,比记住多少概念都管用。
| 对照项 | 自动化测试侧的答案 | 测试开发侧的答案 |
|---|---|---|
| 产出给谁用 | 自己和本组 | 其他测试同事或跨团队 |
| 代码有没有抽象 | 方法是方法、用例是用例 | 抽过公共模块、留过使用说明 |
| 处理失败与并发 | 重跑一次看结果 | 分批、重投、失败可追溯 |
| 讲一次重复劳动的消除 | 说清省了哪一步手工 | 说清谁在用、改起来方不方便 |
把这几项写成三五行,比背八股更能说服面试官。至于具体岗位的薪资区间和各家公司的能力分布,别凭印象,去站内的目录页翻当时的口径,数字会变,判断标准不会。
下一步想按公司看岗位和工具的实际情况,可以去工具目录和评测列表里对一遍;看到不懂的名词,顺手扔进词典查清楚再投,别在面试里用错概念。→常见问题
只会写自动化脚本,能直接投测试开发吗?
可以先投,但预期要放低。多数团队卡的不是你会不会写脚本,而是你有没有从零到一把重复劳动工具化的经历。哪怕只是把一批零散脚本收成一个能复用的命令,讲清楚取舍过程,也比空说自己会框架强。
测试开发是不是一定要会写平台?
不是。平台只是工具化做到一定程度后的产物,很多岗位要的是能解决具体痛点的小工具。判断标准是需求侧:如果团队里没人抱怨重复劳动,硬做平台反而没人用。先做出被人主动找上门要的东西,再谈平台。
转了之后发现自己写不动代码怎么办?
先别急着退回去。多数情况是缺少小步验证的习惯,不是能力不够。把任务拆到半天能跑通一次的粒度,每步都留下可运行的产出,遇到报错按日志、超时、依赖的顺序排查,节奏找回来后会顺很多。