AI + 测试
最近刷了一圈技术社区,发现一个挺明显的趋势:AI 编程工具正在分化成两条路。一条扎根在终端,一条长在 IDE 里。但仔细看了一圈之后,我觉得这两条路的核心区别不是"谁能干什么",而是"代码在哪里跑"。做自动化测试的人,这个选择跟你直接相关。
01 两条路的代表,先认个脸
终端派——AI 在命令行里干活,不依赖任何图形界面:
OpenAI Codex CLI、Claude Code、Gemini CLI、Aider。
IDE 派——AI 直接住在编辑器里,跟你共享光标:
Cursor、GitHub Copilot、Cline、Kilo Code。
两边都在快速迭代,能力越来越重叠——写代码、跑任务、做并行,两边都能干。区别到底在哪?往下看。
02 终端派:AI 在你的机器上干活
终端派的逻辑很简单——你在终端里给 AI 一个任务描述,它自己决定改哪些文件、跑哪些命令、怎么处理报错,完事了你验收结果。
整个过程中,你不需要打开任何 IDE——终端窗口就是全部的工作界面。
这种模式有几个天生的特点:
第一,本身就是 CLI。CI/CD 节点通常以无头模式运行,不依赖图形界面。终端派的工具天然就是 CLI 程序,嵌入管道跟 npm test 没有本质区别。一条 codex "跑一下回归测试,失败了分析原因" 就能跑起来。
第二,并行不需要额外配置。终端里直接开多个窗口就行,不依赖 Git worktree 或云端服务,想同时跑 10 个任务就开 10 个窗口。
第三,项目级指令文件。Claude Code 支持在项目根目录放一个 CLAUDE.md,写上项目的规范、架构、测试策略,每次启动自动读取。你换一台机器、换一个 CI 节点,指令跟着项目走,不跟着账号走。对测试工程师来说,把测试规范写在里面,AI 每次自动遵循,省了大量重复沟通。
第四,管道组合。CLI 天然支持 Unix 管道:cat test-report.xml | claude "分析失败原因" > analysis.md。这种组合在 IDE 里做不到。
第五,Git 原生集成。Claude Code 直接在 Git 仓库里工作,理解 git diff、分支、commit history,不是"在 IDE 里模拟 Git",而是直接操作 Git。
MCP 集成后面单独说。
缺点也明显:没有可视化 Diff,审查多文件改动得自己 git diff 一个个翻。对不熟悉终端的人来说,配置门槛也不低。
03 IDE 派:AI 坐在你旁边写代码
IDE 派的体验是"AI 就在你的编辑器里"。Tab 补全、实时 Diff、一键回滚、内联解释——你和 AI 共享同一个编辑界面。
写代码的时候,这种体验确实好。AI 能感知你的光标在哪、你刚选了哪段代码、你打开了哪个文件,给出的建议更精准。
而且 IDE 派也在扩展能力边界。Cursor 3.0 开始支持并行 Agent——通过 Git worktree 在本地跑多个 Agent,也可以通过 Background Agents 在云端运行。VS Code 1.109 也支持了多 Agent 并行,本地和后台会话统一管理。
换句话说,IDE 派已经不是"只能面对面写代码"了。并行、后台执行、批量任务,现在都能做。终端派同样支持本地多会话并行,两边的本地并行能力没有本质区别。
04 真正的区别:代码在哪里跑
很多人把这两条路理解为"终端 vs 编辑器",但我觉得更准确的区别是运行环境。
终端派的 AI 在你的机器上跑——本地终端、CI 服务器、SSH 远程节点,都是你的基础设施。执行不依赖外部服务。
IDE 派的日常交互也在本地,并行任务可以在本地 worktree 跑,也可以扔到云端 VM。云端执行不占本地资源,但终端派通过 SSH 跑在远程服务器上同样不占本地资源——"不占本地资源"是远程执行的通用特点,不是某一派的独有优势。
两条路线的真正差异,在以下场景比较明显:
CI/CD 管道:你的测试最终要在 Jenkins 管道里跑。CI/CD 环境通常没有图形界面,CLI 工具天然适配,跟 npm test 一样嵌入管道就行。IDE 派的 Agent 是 IDE 的子功能,要在 CI 里跑需要额外的适配(比如 Copilot 有 CLI 版本 @github/copilot,但终究多了一层)。
安全合规:企业选 AI 工具,安全考量远不止"代码在哪里跑"。工具本身的数据隐私政策(代码会不会被用于模型训练)、模型提供商的选择、AI Agent 的权限控制范围(能访问哪些文件和网络地址)——这些都需要评估。终端派通常支持 BYOK(Bring Your Own Key,用自己的 API Key 调用云端模型,数据路由由自己控制)。如果需要真正的数据不出网,终端派也更容易对接本地模型,比如用 Ollama 跑开源模型。这是两套不同的方案:BYOK 用的是云端模型但 Key 是自己的,本地模型则是推理完全在你自己的机器上。IDE 派的安全边界则更多取决于服务商的策略。另外,如果涉及断网环境,本地模型 + 终端工具是唯一可行的方案。
05 一个关键变量:MCP
MCP(Model Context Protocol)最近讨论度很高,简单说就是"让 AI Agent 接入外部工具的标准接口"。
终端派对 MCP 的支持最自然。Claude Code 一条命令就能注册 MCP 服务器:
claude mcp add -s user playwright npx @playwright/mcp@latest配好之后,AI Agent 可以直接调用 Playwright 去操作浏览器、跑测试、分析失败原因。它不需要打开 IDE,不需要图形界面,在终端里就能完成整个闭环。
这对测试场景的价值很直接:你可以在 CI 管道里让 AI Agent 通过 MCP 调用 Playwright 跑测试,失败了自动分析 Trace、定位原因,甚至尝试修复后重跑。
实施 MCP 时有几个坑得注意:MCP 服务器的选择直接影响 token 成本和安全隔离。Playwright 官方 MCP 服务器(@playwright/mcp)是免费开源的,适合快速验证。但在生产环境里,你得考虑:AI Agent 能操作浏览器的权限边界在哪?它能不能访问内网地址?Token 消耗怎么控制?另外 Claude Code 和 Codex CLI 对 MCP 的支持程度不同,配置方式也有差异,选工具前先确认。
06 实际该怎么选?
别纠结"哪个更好",想清楚你的运行环境:
我自己的做法:目前两种都在用,写脚本、跑测试、CI 集成都在尝试中,还没有固定的"主力工具"。但有一点越来越清晰——终端能力是绕不开的,不管最终主力用什么。
这不是非此即彼的选择。两条路线各有侧重——终端派的优势在于 CLI 原生、不依赖外部服务、适合自动化管道;IDE 派的优势在于交互体验、可视化调试、上手门槛低。很多团队的做法是两者搭配使用。
最后说一句
终端能力会成为自动化测试工程师的基础技能之一——就像 Git 在十年前从"加分项"变成了"必备项"。
两条路线不是谁取代谁。搭配使用,覆盖面最全。
如果对你有帮助,转发给需要的朋友
夜雨聆风