
今年做测试开发的人如果还没把“AI测试开发”纳入学习计划估计用不了两年就会发现自己维护的自动化脚本越来越像一堆技术债写的时候费劲跑挂了没人愿意修业务一改版最先崩的永远是那批断言。我上个月刚接手一个Web项目的回归测试400多条用例之前全靠手工维护Playwright脚本同事离职后脚本和页面结构已经脱节了将近一个月没人有耐心去一条条改选择器。后来我尝试用大模型把存量测试用例直接转成可执行脚本效果远远超出预期。这种“AI理解业务描述→生成脚本→人复核→执行→AI分析结果”的工作方式正在把测试开发的技能栈彻底重画一遍。这篇内容是我实际带项目、带学习小组过程中沉淀下来的一套AI测试开发学习体系包含六大模块的编排逻辑、十个实战项目的技术拆解以及大量只有自己踩过坑才写得出来的实操细节。1. 先想清楚AI测试开发到底改变了什么很多人觉得AI测试开发就是把ChatGPT接进IDE让模型帮忙写几行定位器这理解太浅了。真正的变化是测试用例的产生路径被重构以前是一条手工测试用例对应一段手工维护的自动化脚本现在是自然语言描述可以直接变成可运行的测试代码失败之后还能自动归因。整个环节里测试开发工程师的核心工作从“写脚本”变成了“设计生成链路、审核生成结果、治理输出质量”。1.1 从“写脚本”到“描述需求”的范式转移传统自动化测试的核心工作量在“翻译”把测试用例里的中文步骤翻译成代码里的click、fill、expect。AI测试开发把这一步压缩成了模型调用。你不需要逐行写代码而是给模型一段足够清晰的业务描述让它产出脚本。我举个真实例子。一条测试用例是“用户输入错误密码点击登录页面提示‘用户名或密码错误’并且仍然停留在登录页。”传统做法是打开IDE定位用户名输入框、密码输入框、登录按钮、错误提示节点然后写断言。AI测试开发的做法是把这段描述加上系统提示词丢给大模型让它直接产出Playwright脚本from playwright.sync_api import sync_playwright def test_login_with_wrong_password(): with sync_playwright() as p: browser p.chromium.launch() page browser.new_page() page.goto(https://example.com/login) page.fill(#username, test_user) page.fill(#password, wrong_password) page.click(#login_btn) page.wait_for_selector(.error-msg) assert page.locator(.error-msg).text_content() 用户名或密码错误 browser.close()这段脚本本身不复杂但当你手里有几百条测试用例、几十个业务模块时批量生成的效率提升是数量级的。更关键的是模型不只生成代码它还能理解业务意图。比如“仍然停留在登录页”这句话模型会自然地处理成“断言当前URL还是/login”而不是让你再单独写一条检查。1.2 AI测试开发的主要落地场景场景传统做法AI测试开发做法测试用例生成靠人工经验和需求文档手写模型根据需求、历史缺陷、接口定义生成候选用例UI脚本生成手工编写定位器和步骤自然语言描述直接转可执行脚本元素定位写死的CSS/XPath选择器AI生成多候选定位器运行时自动校验结果断言关键词、文本、数值硬断言LLM判断页面语义是否符合预期失败归因人工翻日志、看截图、查堆栈模型聚合日志、截图、DOM快照后自动给出归因结论测试数据构造SQL插入、接口造数、手工准备模型理解字段约束后批量生成合规测试数据这些场景并不是概念先行而是已经有成熟的技术栈可以落地。语言模型负责语义理解Playwright、Selenium负责浏览器控制LangChain负责把模型、工具、数据源编排在一起。掌握了这套组合你就不再是只会写自动化脚本的人而是能设计“测试生成系统”的人。这才是AI测试开发真正的价值所在。2. 六大模块的编排逻辑为什么是模型→框架→工具→场景我在设计这套训练营内容时最核心的考虑不是“堆多少知识点”而是“学员学完之后能不能独立搭出一条AI测试生成链路”。所以六大模块不是按技术方向切而是按“从控制一个模型到控制一个自动化系统”的递进逻辑来排。2.1 模块一、二提示词工程和LangChain是绕不开的地基第一模块是AI基础与提示词工程。很多人以为提示词就是“把需求写清楚一点”但在测试开发场景里完全不够。测试场景下的提示词输出必须是可执行代码、结构化断言、明确的失败原因不是一段解释性文字。所以必须掌握few-shot示例、角色设定、输出格式约束、自纠错机制。这些不是锦上添花是决定AI生成的脚本能不能直接跑起来的关键。第二模块是LangChain应用开发框架。LangChain解决的核心问题是“把大模型和外部工具粘起来”。它提供了PromptTemplate统一管理提示词模板提供了Parser把模型输出解析成结构化数据提供了Agent让模型可以决定调用哪个工具还提供了Tool机制把自定义函数暴露给模型。熟练使用LangChain之后你才能把“模型生成脚本”这个单点能力扩展成“读取测试用例文件→生成脚本→静态检查→执行→输出报告”的完整流水线。2.2 模块三、四、五从单点能力到Agent系统第三模块是自动化测试工具链。AI生成代码的终点是执行所以Playwright这类工具必须非常熟。我建议重点掌握选择器策略data-testid 可见文本 结构关系、显式等待、页面对象模型、网络请求拦截、多浏览器支持。这些基础打牢之后AI生成的脚本质量你可以快速判断而不是傻傻地直接交给CI。第四模块进入AI测试场景核心实现。这里会教你怎么用大模型做智能断言、怎么做UI视觉回归、怎么做失败日志的语义归因。这些方向看着杂但底层逻辑是相通的用模型去理解“测试执行过程中产生的非结构化信息”比如截图、日志、DOM快照、网络响应。第五模块是AI Agent与测试编排。这是整个训练营最有意思的部分。Agent的概念你可以理解成一个“测试执行管家”你给它一个目标比如“跑完所有登录模块的回归用例”它会自己拆解步骤——先读取用例文件再决定用什么工具再执行脚本然后检查结果发现失败还能尝试换一种方式重新定位。它把测试中大量需要人盯着、判断、调整的琐碎工作接管了。2.3 模块六为什么必须用项目收口第六模块是综合实战、代码评审和验收答辩。我的观点是没有项目输出的AI测试开发学习都是低效学习。因为Prompt技巧、框架API这些东西单看视频完全记不住只有在项目里被真实问题逼过一遍才会真正内化。训练营里的十个实战项目就是干这个用的每个学员结束时要拿出三样东西一个拿得出手的GitHub仓库一篇技术复盘博客一次能讲清楚技术选型和踩坑过程的答辩。这三样东西比任何证书都更能说明你有没有真正学会AI测试开发。3. 十个实战项目逐个拆脚本生成、Agent编排、缺陷分析十个项目很多但绝对不是十个毫不相关的Demo。我的设计原则是前三个让你快速建立信心中间四个覆盖AI测试开发的核心高频场景最后三个把能力串成系统。我先用一个矩阵把整体布局列出来再挑三个最有代表性的项目详细拆。序号项目名称难度核心知识点1基于Prompt的登录脚本生成器入门提示词工程、Playwright基础2从Excel测试用例批量生成UI脚本入门数据解析、批量生成、模板管理3LangChainPlaywright用例转脚本Agent核心LangChain、Agent、工具封装4AI智能断言系统中级语义判断、Prompt设计、结构化输出5UI视觉回归与截图智能对比中级视觉模型、图像相似度、截图管理6测试失败日志的AI归因分析中级日志解析、LLM分类、报告生成7合规测试数据自动生成器中级字段约束、数据校验、批量生成语言8基于RAG的测试知识库问答中高级向量检索、Embedding、知识库维护9测试结果聚合与智能告警平台高级调度系统、Webhook、AI摘要10AI Agent驱动的端到端巡检系统高级Agent编排、Playwright、定时任务、可观测性3.1 核心项目从测试用例到自动化脚本的生成Agent这个项目是整套课程里最值得反复咀嚼的一个对应的热词就是“基于LangChain开发一个能读取测试用例自动生成UI自动化测试脚本的Agent”。它的目标是输入一份测试用例文档自动输出一批可执行的Playwright脚本。架构上我把它拆成四层。第一层是文件解析层把Markdown、Excel里的测试用例解析成结构化数据拿到用例编号、前置条件、操作步骤、预期结果。第二层是生成层把操作步骤和预期结果组合成PromptTemplate交给大模型生成脚本骨架。第三层是校验层用AST或者Flake8对生成的代码做静态检查同时用正则和规则库检查是否包含不存在的Playwright方法。第四层是执行层把通过校验的脚本放到Playwright环境里运行把结果回写。核心生成代码的简化版长这样from langchain.prompts import PromptTemplate from langchain.chat_models import ChatOpenAI generator_prompt PromptTemplate.from_template( 你是资深测试开发工程师请根据以下测试用例生成Playwright Python脚本。 操作步骤{steps} 预期结果{expected} 要求 1. 元素定位优先使用>