我先说结论:这个问题的答案不只是“测试员能不能学AI”,而是“测试员凭什么能吃下这波AI红利”。如果你现在还在做纯手工功能测试,每天忙着点按钮、写用例、提bug,那这篇文章就是给你看的。
我是山东菏泽的一名测试员,工作头五年基本就是大家口中的“点点点”,月薪从四千涨到一万出头,到顶了。2023年我开始系统接触大模型和AI工具,把AI用到测试工作里,从只会手工测试和简单自动化,到能独立搭建AI测试平台、开发智能测试工具,2024年拿到了一家一线互联网公司的远程测试开发岗,年薪60万。
这篇文章我不讲虚的,把我从菏泽小城到远程大厂的全过程拆开讲:转型思路、技能栈、学习路线、项目实操、面试准备、避坑经验,全部记录下来。无论你是刚入行的测试新人,还是干了五六年的老测试,只要照着这个思路走,都有机会在AI时代把自己的价值重新卖一遍。
1. 先聊聊我为什么从“点点点”转向AI测试
1.1 测试员的真实困境:看起来忙,实际没积累
在菏泽这种城市,软件测试岗位不算多,大部分是外包或者小公司。我刚入行时,每天的工作就是打开APP或者Web系统,根据测试用例文档一遍遍重复操作,发现问题就提bug,修完了再回归验证。月薪四五千,加薪全靠跳槽,跳来跳去还是同样的工作内容。
最让我崩溃的不是工资低,而是没有积累感。功能测试用例写了一大堆,bug提了几百个,但是三年过去,我发现自己没有任何一项技能是“越来越值钱”的。自动化测试也学过一点,用Selenium写脚本,但公司没有持续投入,脚本一碰需求变更就废了,最后沦为演示工具。测试这个职位的天花板低,不是因为测试不重要,而是大部分测试员被困在“执行”这个环节,接触不到测试设计、工具开发、质量体系建设这些真正有壁垒的工作。
2022年底大模型开始爆发的时候,我第一反应是恐慌:这玩意儿会不会让功能测试员彻底失业?后来我发现,AI对单纯“执行用例”的岗位确实是降维打击,但对“设计和开发测试工具”的岗位,是巨大的杠杆。如果我继续做纯执行,迟早被替代;但如果我学会用AI去构建测试工具,就能从“点点点”跳到“测试开发”。
1.2 AI出现后,我看到的不是威胁而是机会
大模型刚火的时候,网上都在讨论“AI能不能替代程序员”。测试圈也在焦虑:AI都能自动生成测试用例了,还要测试员干嘛?我的观察正好相反。AI生成测试用例的能力确实强,但它需要有人告诉它测什么、怎么组织场景、如何判断结果对不对。这个人不能是纯开发,也不能是纯业务,正好是懂业务又懂测试的测试工程师。
举一个真实的例子。我最早把AI用在工作上,是让大模型帮我把一个登录模块的功能测试点转成pytest自动化脚本。以前我写这个脚本至少小半天,从定位元素到处理等待、断言结果,每一步都得手动调。结果AI生成了一版,我稍作修改就能跑,十几分钟搞定。那一刻我意识到,我的价值不是“会写脚本”,而是“知道登录模块有哪些异常场景、哪些边界值、哪些业务规则需要考虑”。AI把这些知识变成代码的速度比我快一百倍,但它不知道这些知识——知识在我脑子里。
所以从2023年初开始,我的目标变了:不是去学怎么跟AI抢活,而是学怎么指挥AI干活。测试员的核心能力是“发现缺陷的思维”,这个能力不贬值;需要补的是“让AI听懂需求、把需求变成工具”的新技能。这比单纯学一门编程语言更划算。
1.3 测试员做AI测试开发的三个天然优势
可能很多人觉得,转型AI测试开发最好先有开发背景。实际做下来,测试员转型反而有优势,至少有三个点比开发更适合做这件事。
第一,测试员更懂“坏画面”。我们在工作中积累了大量的缺陷模式,比如登录接口要考虑爆破、验证码要防绕过、支付金额要测越权、列表要测空值和超长字符串。这些“敏感点”是开发写代码时容易忽略、但设计测试提示词时必须明确的。我把这些缺陷模式告诉大模型,就能生成比开发随手写的测试用例更有针对性。
第二,测试员更懂“业务语义”。接口自动化测试里,最难的不是调通接口,而是判断返回结果是否符合业务预期。比如“订单状态流转”这种用例,需要理解整个业务链路。测试员天天跟产品和需求打交道,知道业务规则,所以在设计AI提示词时,写出来的测试场景更符合实际用户习惯。这是我带过的新人开发最欠缺的部分。
第三,测试员离流程更近。测试贯穿研发全流程:需求评审、开发自测、提测、回归、上线监控。AI要真正落地,不是写几个脚本就行,而是要嵌入现有流程。测试员本来就处在流程的关键节点上,知道哪里最耗时、哪里最容易出问题,把AI加进去直接见效。这也是我后来面试时,面试官最认可的一点。
2. 核心技能栈:从手工测试到AI测试开发的四级火箭
2.1 第一级:先把AI编程助手用透
我学习的第一步不是啃机器学习,而是先把AI编程工具用起来。当时我的主力IDE是PyCharm,装了一堆AI插件,最后留下的是Fitten Code。选它的原因很简单:对中文支持好,对PyCharm的补全理解到位,而且免费额度够用。
很多人误以为AI编程助手只是“自动补全代码”,那格局小了。我实际使用频率最高的四个场景:
- 写单测:给我一个函数,让它生成pytest单元测试,覆盖正常、异常、边界场景。
- 解释遗留代码:接手老项目的测试代码,贴一段看不懂的,让它逐行讲。
- 重构坏味道:比如超长的测试函数,让它拆分成可复用的步骤函数。
- 批量改代码:接口字段从v1升级到v2,全局替换和错误处理都能自动处理。
用AI编程助手最大的心得是:提问质量决定输出质量。刚开始我直接说“帮我写个测试用例”,生成的代码很泛。后来我学会了给“上下文”:被测对象、输入输出格式、编程语言、测试框架、要覆盖的业务规则、不要出现的误报场景。这一条提示词习惯,直接让AI生成代码的可用率从30%提升到80%。
2.2 第二级:Python自动化测试与大模型API
光会用AI插件还不够,必须掌握调用大模型API的能力,这样才能把AI能力集成到测试工具里。我学的第二个大块就是Python自动化测试基础加上大模型API调用。
自动化测试部分,我围绕pytest建立了一套最小可用体系:pytest组织用例、requests做接口测试、playwright做UI自动化(Selenium太重了)、pytest-html或者allure输出报告。这一步对于有自动化基础的测试员不难,难的是把大模型API接入。
我实际接入的是国内大模型API(智谱、通义,兼容OpenAI接口),因为考虑到访问稳定性和数据合规,企业更愿意接受国内方案。下面这个示例是调用大模型根据接口文档生成pytest用例的核心流程:
from zhipuai import ZhipuAI client = ZhipuAI(api_key="你的API Key") def gen_test_cases(api_doc): prompt = ( "你是资深测试开发工程师,请根据下面的接口文档生成 pytest 测试用例。" "要求覆盖正常场景、异常场景、边界场景;" "使用 requests 发送请求;断言要具体,不要只检查状态码;" "不要修改接口文档中给定的路径和参数名。\n" f"接口文档:{api_doc}" ) resp = client.chat.completions.create( model="glm-4-plus", messages=[{"role": "user", "content": prompt}], temperature=0.2 ) return resp.choices[0].message.content这段代码看着简单,背后有三个需要特别注意的点。
一是提示词要明确“不要修改路径和参数名”,因为大模型为了让代码“看起来合理”,可能擅自改接口参数,生成一堆跑不通的用例。二是temperature必须调低,控制生成结果的随机性,我一般设在0.2以下,因为测试用例生成是精确任务,不需要发散。三是返回的代码不是直接能跑的,需要做格式提取,因为有的接口返回会包含markdown代码块标记和解释性文字,必须清洗后才能写入文件。
我用这个思路做了第一个内部工具:把公司的历史接口文档批量喂给大模型,自动生成pytest用例初稿,测试同学只需要做代码审查和参数校准,用例建设效率提升了差不多5倍,而且是肉眼可见的提升。就是这一个工具,让我第一次意识到:AI不是替代测试,而是把测试员从写代码的重复劳动中解放出来,去做更高级的用例设计和质量分析。
2.3 第三级:用大模型重构测试资产
自动化用例只是AI测试的一部分。我深入学习后发现,大模型能重构整个测试资产体系,包括测试数据、测试断言、缺陷分析、需求测试点挖掘。
测试数据方面,以前要准备一套覆盖各种边界条件的测试数据,靠手工在数据库里插数据或者写SQL,效率极低。用大模型,可以指定“生成一套符合中国人姓名的用户数据,包含正常、重复、超长、特殊字符等场景”,它给你生成全套数据,还能顺手给出对应的SQL insert语句。
测试断言方面,接口测试里最难的就是断言写得不完善。以前习惯只断言HTTP状态码为200,结果字段值错了根本没发现。大模型可以根据接口文档和业务规则生成“更聪明”的断言:检查返回字段的类型、非空约束、枚举值范围、金额计算逻辑。这种断言才真正测到了业务正确性。
还有一个很有价值的场景:需求测试点挖掘。把产品需求文档(PRD)喂给大模型,让它列出功能点、异常流和业务规则,并输出测试点列表。测试员在评审阶段就能覆盖得更全面,还能反向补充需求文档中遗漏的场景。我后来做平台,就把这个能力放进了第一个模块,产品经理的需求文档一上传,测试点初稿自动出来,人工只需要做二次评审。
2.4 第四级:工程化能力——Agent、RAG与部署
如果只会调API,写写工具脚本,那顶多是个“会用AI的测试”,拿不到高薪。市场给高薪的是AI测试开发,需要工程化能力。说白了,你要能把AI能力封装成稳定的服务,让团队和业务能用起来。
我补的三个核心点是:服务化封装、RAG知识库、Agent流程自动化。
服务化封装就是写FastAPI应用,把大模型能力包成接口。测试平台里,前端点一个按钮,后端调大模型生成用例,再把用例写入Git仓库,触发CI跑pytest,最后回传测试报告到平台。这个过程涉及接口设计、文件操作、Git操作、任务队列,必须懂工程化。
RAG(检索增强生成)解决了大模型幻觉问题。举例:第一次让大模型根据接口文档生成断言,它会编造一些根本不存在的响应字段。后来我把公司的契约文档、历史测试规范、通用断言规则向量化,放进向量数据库,生成前先检索相关规范,附在提示词里,生成的断言准确率大幅提升。本质上,RAG不让大模型凭空发挥,而是让它基于已有知识作答。
Agent是我觉得最有潜力的方向。我用大模型Agent做过一个缺陷分析机器人:测试执行失败后,把日志、接口返回、用例代码一起交给一个Agent,它自己决定是去查代码、查需求文档还是重新构造请求验证,最后输出缺陷根因分析报告和修复建议。这个流程以前需要测试员和开发一起排查的,现在Agent能完成80%的信息收集工作,人工只做最后的确认。
工程化能力不是一蹴而就的,但它直接决定了薪资天花板。同样是会AI,只会调用API的人,月薪可能还是1万出头;能构建多Agent协作测试平台、能优化RAG效果的人,就是稀缺人才。
3. 实操过程:我的学习计划与关键项目复盘
3.1 三个月学习路线:每天两小时,怎么安排
很多人问我要学习路线,其实我的路线是倒推出来的:先看目标岗位JD,拆解需要什么技能,然后一项项补齐。这里分享一下我第一阶段的三个月学习计划,每天两小时,周末翻倍,对在职的人非常友好。
第一个月,核心是“会用AI工具重写现有工作”。每天用Fitten Code辅助写pytest用例,把之前手写的自动化脚本全部重构一遍,练习写高质量提示词。同时,每天读一段大模型API官方文档,把调通一个API请求作为当天目标。这个月我没急着学复杂知识,先把“AI生成代码”变成肌肉记忆。
第二个月,核心是“把大模型能力嵌入测试流程”。我记得很清楚,跟着一个在线课程做了个小项目:通过调用智谱API,搭建一个命令行工具,输入接口文档路径,输出pytest用例文件。虽然是命令行工具,但让我完整走了一遍“提示词设计、API调用、代码生成、文件保存、代码运行校验”的闭环。这个月我还专门补了pytest的fixture机制、requests的session处理,因为AI生成的代码经常在“共享登录态”和“用例依赖管理”上出错,我必须能自己修。
第三个月,核心是“服务化和项目化”。我要把命令行工具升级为一个简单的Web服务,同时研究怎么把历史测试规范做成RAG知识库。时间不够的话,服务化用FastAPI搭一个单接口,能上传文档、返回生成用例文本就够了。这个月我还开始总结自己的提示词模板,把“接口文档生成用例”“需求文档生成测试点”“日志生成缺陷分析”变成三套标准模板,这等于把经验固化成工具。
按照这个节奏,三个月后我不仅能用AI提升现有工作效率,还具备了一个“AI测试工具开发”的最小作品集。后面再做深度项目,就顺理成章了。
3.2 关键项目复盘:基于大模型的接口自动化测试平台
面试时,面试官对我最感兴趣的就是这个项目:一个基于大模型的接口自动化测试平台。这里我详细拆解一下,方便大家直接参考。
平台整体是前后端分离:前端用Vue3+jest(这里插一句,前端框架是现学的,写几个页面就能用,不用追求精通),后端用Python FastAPI,测试执行引擎用pytest,AI能力层接的是国内大模型API,知识库用的向量数据库存储历史测试规范。
核心流程分五步:用户上传接口文档(OpenAPI格式或Markdown)→ 后端解析文档结构 → 检索知识库中的测试规范 → 组装提示词调用大模型生成pytest用例 → 自动存储到项目代码库并触发CI执行。执行结果回传平台,生成Allure报告。平台还加了缺陷分析模块:执行失败后自动收集日志和响应数据,调用大模型Agent给出根因分析。
这个项目里,最耗时的不是写代码,而是调提示词和流程细节。AI生成的用例经常有以下问题:用了接口文档里不存在的字段、断言数据写死导致环境不一致、用例之间互相影响没有做隔离。我一一解决:生成前在提示词里强调“只允许使用接口文档中出现的字段”;断言部分从“写死具体值”改成“读取数据文件或执行SQL查询”;每个用例生成时强制加独立事务和独立测试数据标记。
平台上线后,公司核心业务8个微服务、近300个接口的冒烟测试用例从原来需要两周手工编写,缩短到三天基本生成完毕,人工校准后再维护。跑回归的效率提升了一倍,因为AI生成用例覆盖的边界场景比人工写的更全面。这个项目的价值不在于代码多漂亮,而在于证明了“AI测试工具可以嵌入真实业务流程并产生可量化的收益”——这就是面试官最想听的。
3.3 简历怎么写才不显得“只会调API”
我的第一个简历版本写满了“熟悉大模型API”“会使用AI工具”,被一个做猎头的朋友泼了冷水:这样写只会让人觉得你在AI时代的门槛外围观,要写出你到底解决了什么问题。
为了让简历不显得“只会调API”,我总结了一套写法:每个项目必须包含“业务痛点→AI解决方案→可量化结果”三层结构。比如不要写“开发了AI接口测试工具”,要写“公司接口用例编写平均耗时2天/接口,通过设计基于大模型的pytest用例自动生成工具,实现80%用例自动生成,人工只需30分钟校准,阶段节省人力约200人天”。
同时,简历要把“测试能力”和“AI能力”结合起来,不要变成纯开发岗简历。我特意保留了“主导过业务线全流程测试策略设计”“沉淀12类缺陷模式的测试资产库”这类经历,证明我不是转行做开发,而是一个会用AI武装自己的资深测试。面试官担心的正是“会Python但不懂测试”的人,这块要用项目细节打消。
还有一个细节:把RAG、Agent、多模型协作这些关键词放在项目描述里,而不是罗列在技能清单里。技能清单写“熟悉RAG”,一看就是培训班的;项目描述里写“使用向量数据库存储契约文档,基于检索增强生成,使大模型幻觉率降低70%”,才是真实的工程经验。
3.4 面试准备:高频考点和我的答题思路
我面了十余家公司,真正高薪岗位的面试题集中在四个方向,这里提供我的答题思路。
第一个方向是“大模型生成的东西不可信怎么办”。回答思路:不追求一次生成完美结果,而是建立“生成-校验-反馈”闭环。代码用编译器+静态检查工具拦截明显错误,业务断言用知识库检索和人工评审兜底,错误输出自动召回重新生成。核心思想:大模型是草稿机,人才是最终责任人。
第二个方向是“如何评估大模型在测试场景的效果”。不能只拍脑袋说好用,我会设定指标:用例生成可用率(能通过编译的代码占比)、用例覆盖率(相较于人工用例的覆盖重叠度)、缺陷命中率、生成耗时。可用率提升到80%以上才允许接进CI,否则只作为辅助建议。这个回答能证明你有工程判断力。
第三个方向是“讲一下多Agent协作”。我会拿自己做过的缺陷分析Agent举例:由协调Agent拆任务,分别调用代码分析Agent、日志分析Agent、需求文档检索Agent,再汇总到根因分析Agent。强调状态管理和工具调用设计,比如Agent之间通过结构化JSON消息传递结果,而不是长文本对话,避免上下文膨胀。
第四个方向是“AI测试未来如何发展”。我的观点:AI会消灭“手写重复用例”的工作,但会放大“设计测试策略、构建质量模型、训练测试Agent”等岗位的价值。测试人员要转型为AI测试系统架构师,而不是只会执行用例。每次面试我都会把这个认知讲透,基本能跟面试官深入聊起来,而不是停留在“我会用什么工具”的层面。
4. 常见问题与避坑记录(含独家心得)
4.1 大模型生成内容不靠谱,怎么建立信任
这是所有人学AI测试时第一个遇到的坎。我第一次让AI生成接口测试用例,测试数据直接用了别人的手机号,断言里还出现了一个文档里根本不存在的字段。那一刻我是泄气的:这玩意儿敢上生产吗?
后来我总结了一套建立“AI信任机制”的方法论,核心原则就是:永远不要让大模型直接做最终决策,而是让它做“初稿生成者”,让人工或规则做“最终审批者”。具体三层校验:
第一层是代码级校验。生成代码后,必须经过编译和静态检查,语法错误直接丢掉重生成。这一步能拦住60%的低级错误。
第二层是规则级校验。把业务规则固化成校验脚本,比如“所有生成的用例里面,路径和参数必须与接口文档完全一致”“所有断言的字段必须在接口返回Schema中出现”。不满足规则的,系统自动打回让大模型重新生成。
第三层是人工抽检。每个模块选择10%-20%的用例做人工走查,重点关注边界条件和业务逻辑。只要人工抽检连续两周通过率在95%以上,才允许把该模块切到全自动模式。
用这套机制,我对大模型输出的信任度才真正建立起来。信任不是靠模型能力提升,而是靠流程兜底。在一个设计良好的闭环里,大模型的幻觉是可控的,这和自动驾驶的逻辑一样:不是AI绝对不出错,而是系统出错时有人接着。
4.2 工具选型与过度选型的取舍
学AI过程中最容易犯的错就是“追新工具”。今天出了新模型想试试,明天看到新框架想学学,最后哪个都没深入。我自己也踩过这个坑,花了两周研究本地私有大模型部署方案,显卡、量化、微调、框架全折腾了一遍,最后发现公司根本用不上——业务数据量不大,调用API就足够了。
我给测试同行的建议是先分清场景再选工具。如果你要做的只是“生成测试用例”“辅助写自动化脚本”,直接用大模型API,成本低、效果好,不需要本地部署。如果你做的是“敏感业务数据不能出内网”的场景,才考虑本地部署。本地部署不是必须项,而且维护成本很高,对测试团队来说性价比不高。
AI编程工具方面我同样不建议用太多。挑一个主力的IDE插件就够,把提示词技巧打磨到极致,比装十个插件强。我把Fitten Code吃透后,又花时间研究了一套针对测试场景的提示词库,实际效率比盲目换工具高太多。工具是手段,不是目的。
还有一点:不要一上来就学大模型原理。我在学Agent和RAG的时候,发现自己对模型原理的理解不深会卡壳,补了基本的注意力机制、Token、上下文窗口概念。但如果你还没做到项目,先不要钻这个牛角尖。对测试员来说,“会用AI解决问题”比“理解AI原理”优先级更高,原理可以之后按需补充。
4.3 关于薪资谈判和远程岗位的真实经验
很多人都说“菏泽怎么可能有60万年薪的岗位”。确实,菏泽本地不可能有,所以我从第二个月开始就把目光锁定在“远程岗位”和一线的AI测试开发岗。这里分享两个真实经验。
第一,远程岗位是四线城市技术人员的翻身机会。以前人在菏泽,一二线的工作机会基本无缘。但疫情后技术岗远程化越来越普遍,很多公司本身就是分布式办公,只要你能按时交付、沟通顺畅,坐标根本不是问题。我面试时从不回避自己在菏泽,而是强调“远程办公经验”和“异步沟通能力”,反而成了加分项。
第二,薪资谈判不要用“小城市标准”自我设限。很多人没敢谈高薪,是因为心里默认“菏泽的程序员不值钱”。但你要想明白,你服务的是一线公司的人才市场,提供的是一线水平的技能和产出,你的薪资应该对标岗位所在的市场,而不是你居住的城市。面试到最后一轮,我明确说:“我期望薪资是60万,因为我能独立负责AI测试平台的建设并量化业务收益。”对方没有因为我住在菏泽而压价,因为关心的只有能力匹配度。
4.4 给测试同行的一些个人建议
最后给还在观望的测试同行几句实在话。
第一,不要裸辞去学AI,而是在现有工作里找AI切入点。我当时就是白天上班,晚上研究,用公司真实业务练手,反而成长更快。真实需求是最好的老师,同时也积累了能写进简历的项目经验。
第二,一定要量化自己的成果。AI测试很容易被人误解为“玩具”。如果你不能说出“效率提升了几倍,节省了多少人天,覆盖率提高了多少”,老板就不会给你资源,面试官也不会认可你。从第一天开始,记录你做每个AI工具前后的数据对比,这是最值钱的东西。
第三,保持分享。我把自己用AI写测试工具的过程写了几篇文章发在技术社区,没想到引来好几个猎头和面试机会。分享不仅是输出,更是逼自己把模糊的经验变成清晰的体系。后来面试中能条理清晰地讲项目,多亏了写文章的梳理过程。
第四,不要忽视测试基本功。AI能生成上万条测试用例,但这些用例测什么场景、什么优先级、怎么判断业务正确性,依然需要测试嗅觉。很多转型的人把精力全放在AI技术上,结果基础测试设计能力丢了,这是本末倒置。AI是发动机,测试思维是方向盘,少一个都到不了目的地。
最后分享一点个人体会
从山东菏泽的一名普通测试员,到靠AI拿到年薪60万的远程测试开发,这个过程不算轻松,但也没有想象的那么难。最难的不是技术,而是打破“测试员就只能点点点”的自我设限。很多人看到AI的第一反应是“这会让我的岗位消失”,我选择的是“我可以驾驭它做更值钱的事”。
我还记得学着用大模型生成第一条pytest用例时,代码虽然报错,但那一刻我突然意识到:以前写代码的速度是我的瓶颈,以后不会了。真正值钱的不再是会敲代码,而是能准确描述“我们要测什么、怎么测、如何判断测得好不好”。这套能力,测试员早就有了。
如果你也正处在这种瓶颈期,给自己半年时间,每天投入两个小时,从把AI编程插件的补全提示词写精准开始,把一个小的自动化脚本用AI重写一遍,记录前后的时间差。用不了太久,你就能亲眼看到自己的价值重新定价。这条路我已经走通了,你也可以。