AI测试-01-AI测试平台第一阶段最值得先做哪些能力

一提到 AI 测试平台,最容易先聊的是模型能力、智能体规划、自动生成脚本和自然语言驱动测试。

这些方向当然重要,但放到第一阶段落地里,真正决定平台能不能用起来的,通常不是模型上限,而是下面这些更基础的问题:

  • 一条测试任务能不能稳定跑完
  • 模型调用出来的结果能不能被工具层真正执行
  • 执行过程里的状态有没有被记录下来
  • 失败现场有没有留下足够证据
  • 误判、幻觉、越权动作有没有被拦住

如果这些底层能力还没有收稳,AI 测试平台就很容易变成一种看起来很聪明、实际很难长期依赖的系统:

  • 演示时效果不错
  • 一换场景就开始漂
  • 一失败就说不清问题出在模型、工具还是环境
  • 一接入真实回归链路,误报和漏报就迅速放大

所以这篇文章不写空泛的 AI 测试愿景,只回答一个更实际的问题:

AI 测试平台第一阶段,最值得先做哪些能力,才能让平台从演示型项目走到可持续使用的工程系统。

一、先给结论:第一阶段最该先收的不是“更聪明”,而是“更可控”

AI 测试平台第一阶段最值得先做的能力,可以先收成 5 层:

  • 任务入口层
  • 工具执行层
  • 状态管理层
  • 证据留存层
  • 风险控制层

这 5 层的顺序不能随便换。

因为 AI 测试平台和普通测试平台最大的差别,在于它中间多了一层模型决策。
一旦引入模型,系统里就多了两类传统自动化里不那么突出的不确定性:

  • 输出不稳定
  • 决策不可直接信任

这意味着第一阶段如果直接把重点放在“让模型多做点事”,通常会先遇到下面这些问题:

  • 任务意图能说出来,但工具执行不完整
  • 模型步骤规划看起来对,实际调用参数错
  • 一次执行里改了太多状态,失败后无法恢复
  • 判断逻辑依赖模型解释,结果没有客观证据
  • 回归链路里出现误判,但没有办法快速归因

所以第一阶段更合适的目标不是“尽快覆盖所有测试场景”,而是:

先把一条最小可用 AI 测试链路跑通,并且让它具备可执行、可观察、可回放、可收敛的基本属性。

二、能力分层:第一阶段最值得优先建设的 5 类能力

1. 任务入口层:先限制输入边界,不要一开始就放任自然语言自由发挥

第一阶段最容易犯的错误,是把 AI 测试平台的入口设计成“随便输入一句话,平台自动完成测试”。

这种入口在演示里很吸引人,但在真实测试环境里会很快暴露问题:

  • 输入太松,任务目标不清
  • 场景上下文缺失
  • 环境、账号、前置数据没有显式声明
  • 同一句描述在不同时间生成的执行计划不一致

所以第一阶段的入口设计,更稳的做法是:

  • 任务目标结构化
  • 环境参数显式化
  • 前置条件模板化
  • 可选动作集白名单化

更适合的输入形式通常不是纯自然语言,而是:

  • 固定任务模板 + 少量自然语言补充
  • 预定义场景卡片 + 变量参数
  • 业务步骤草稿 + 平台补全校验

入口层的核心不是“让输入更自由”,而是“先让任务定义可解释、可约束、可重试”。

2. 工具执行层:先把模型输出收成稳定动作,不要让模型直接驱动全链路

AI 测试平台最容易失控的地方,不是大模型本身,而是模型输出到执行动作之间的转换层。

如果模型直接决定:

  • 点哪里
  • 输入什么
  • 是否跳过异常
  • 是否继续下一步
  • 是否算通过

那平台很快就会进入一种很难治理的状态:

  • 同样输入,动作顺序不一样
  • 元素找错了,平台还继续执行
  • 参数语义正确,但落到工具层格式错误
  • 一次偏航把后面的状态全带歪

所以第一阶段最该先补的是工具执行层的“收口能力”:

  • 模型只能输出受限动作
  • 每个动作都有明确参数结构
  • 动作执行前先做合法性校验
  • 动作执行后必须有结果回传
  • 模型不能绕过工具层直接修改状态

这层能力收稳以后,模型和测试工具的关系才是:

  • 模型负责建议和规划
  • 工具层负责执行和校验
  • 平台负责状态、证据和风险控制

3. 状态管理层:先把任务状态、页面状态、环境状态分开记录

AI 测试平台一旦跑的是多步骤任务,状态管理就会变成平台稳定性的分水岭。

第一阶段最常见的问题是把“状态”只理解成任务有没有成功。
但真实执行里至少有 4 类状态需要分开:

  • 任务状态:待执行、执行中、已完成、已失败、待人工确认
  • 步骤状态:已规划、待执行、执行成功、执行失败、跳过
  • 环境状态:账号是否可用、测试数据是否占用、依赖服务是否健康
  • 页面或会话状态:是否登录、是否停留在正确页面、上下文是否已漂移

如果这些状态都混在一起,现场就会很难收:

  • 任务失败,但不知道失败前已经执行到哪一步
  • 页面已跳走,但系统还以为上下文没变
  • 上一个失败动作污染了会话,后一个步骤却继续执行
  • 人工补跑后覆盖了原始状态,导致无法回放

所以第一阶段更值得先做状态分层和状态快照。

这件事做稳之后,平台才具备三种关键能力:

  • 失败后从正确位置恢复
  • 执行过程可回放
  • 问题归因能落到具体步骤和具体状态变更

4. 证据留存层:先让每一步都有客观证据,不要把结果建立在模型解释上

AI 测试平台里的“结果说明”很容易看起来比传统自动化更像自然语言说明。
但平台判断是否可信,看的不是解释是否流畅,而是证据是否完整。

第一阶段最值得先做的证据能力包括:

  • 步骤级截图
  • 关键节点录屏
  • 工具调用日志
  • 模型输入输出记录
  • 页面 DOM 或控件树快照
  • 断言前后的对比证据
  • 环境上下文和版本信息

只有这些证据都能挂到一次任务实例上,平台才能支撑后续几类关键动作:

  • 快速复现误判
  • 定位模型理解错还是工具执行错
  • 比较不同模型版本的行为差异
  • 给研发或业务方交付可复核的现场材料

第一阶段如果忽略证据层,后面最常见的结果就是:

  • 平台说失败了,但缺少复核依据
  • 平台说成功了,但还不能形成可信结论
  • 一次误判出现后,没有办法判断是否会再次出现

5. 风险控制层:先拦住误判、幻觉和越权动作,再谈更大范围自动化

AI 测试平台第一阶段最大的工程风险,不是模型不够强,而是平台没有给模型输出设置足够清晰的边界。

这一层最值得先补的不是“优化 prompt”,而是风险控制机制:

  • 动作白名单
  • 高风险操作二次确认
  • 关键步骤人工复核开关
  • 失败自动停机规则
  • 环境隔离和账号隔离
  • 模型输出置信度阈值
  • 关键断言双重校验

风险控制层的存在,是为了先回答三个更基础的问题:

  • 什么动作绝对不能自动做
  • 什么结果不能只靠模型单判
  • 什么失败必须立即中断,而不是继续尝试

只有这层收稳,AI 测试平台才不会在第一阶段就因为误操作或误判把整个平台信誉耗掉。

三、第一阶段最小可用落地骨架:先跑通一条窄链路

第一阶段最稳的落地方式,不是同时铺 API、UI、移动端、视觉识别、RAG 和多智能体,而是先收一条窄链路。

一个更适合作为第一阶段的最小可用骨架,通常可以是下面这样:

1. 场景范围先收窄

先限定在一类相对可控的场景里,比如:

  • 后台管理系统固定流程回归
  • 单页 Web 应用里的高频路径验证
  • 已有稳定页面对象的 UI 冒烟流程

不要第一阶段就直接做:

  • 任意业务自由探索
  • 跨系统长链路编排
  • 强依赖视觉和语义推理的复杂场景

2. 输入方式先模板化

第一阶段更适合用:

  • 场景模板
  • 参数表
  • 步骤草稿
  • 预定义断言点

而不是直接让用户输入一段自然语言就触发全流程。

3. 执行动作先做成有限集合

动作集合可以先限制在:

  • 打开页面
  • 登录
  • 点击
  • 输入
  • 等待元素
  • 获取文本
  • 截图
  • 执行断言
  • 导出证据

动作数量少一些,平台反而更容易形成稳定闭环。

4. 结果判定先做成双层

第一层是工具或规则判定:

  • 元素是否存在
  • 文本是否命中
  • HTTP 返回是否符合预期
  • 页面跳转是否到位

第二层才是模型辅助判定:

  • 页面语义是否符合预期
  • 提示文案是否属于异常
  • 截图是否存在明显错位或缺失

这样做的好处是,第一阶段不会把所有结论都压在模型判断上。

5. 报告先聚焦单次任务证据包

第一阶段的报告系统先不要贪多。
最值得先做的是每次任务都有一个完整证据包,至少包含:

  • 输入任务
  • 规划步骤
  • 实际执行动作
  • 模型输出
  • 工具执行结果
  • 关键截图
  • 最终结论
  • 失败归因

只要单次证据包做扎实,后面的趋势分析、回归对比和版本对照才有基础。

四、第一阶段最容易踩的坑

1. 先做“智能演示”,没有先做“稳定链路”

最常见的错误节奏是:

  • 先追求一句话生成完整测试
  • 先追求多智能体协同
  • 先追求复杂视觉识别

结果是:

  • 演示效果很亮眼
  • 一接入日常回归就不稳
  • 问题一多,平台没有收口点

2. 只记录模型回答,不记录真实执行上下文

如果平台只保存模型输出,不保存:

  • 输入上下文
  • 工具调用参数
  • 页面状态快照
  • 执行动作结果

那后面几乎无法做可靠复盘。

3. 把“能跑通”误判成“能长期用”

AI 测试平台第一阶段最容易出现一种假进展:

  • 某几个固定场景跑通了
  • 某次演示效果很好
  • 某组 prompt 调得不错

但这些不等于平台已经成熟。
真正能长期用,至少还要看:

  • 成功率是否稳定
  • 误判是否可收敛
  • 失败是否可归因
  • 扩场景后是否还能维持边界

4. 把模型能力问题和环境问题混在一起

AI 测试平台出问题时,根因可能在多个层面:

  • 模型理解错
  • 工具执行错
  • 页面状态漂了
  • 测试环境本身不稳
  • 输入任务定义不清

如果平台没有做分层记录,现场就很容易被误判成“模型不行”,但真正的问题可能根本不在模型。

5. 一开始就把放权做得太大

第一阶段如果允许模型直接:

  • 创建测试数据
  • 修改业务状态
  • 跳过关键校验
  • 继续执行高风险步骤

平台很快就会在测试环境里制造新的不确定性。

所以第一阶段宁可先保守一点,也不要为了显得更智能而把边界放得过宽。

五、第一阶段更适合的检查表

在真正让 AI 测试平台进入团队试运行前,至少可以先过一遍下面这份检查表:

  • 输入任务是否有结构化约束
  • 动作集合是否已经白名单化
  • 每个动作是否有参数校验和结果回传
  • 任务状态、步骤状态、环境状态是否分层记录
  • 关键步骤是否留有截图或日志
  • 模型输入输出是否能被追溯
  • 高风险动作是否有拦截机制
  • 失败后是否能从证据包判断根因大致落在哪一层
  • 报告是否能支持复盘,而不是只给一句“成功”或“失败”
  • 平台是否已经限定了第一阶段适用场景

如果这份检查表里大部分还没做完,就不适合过早把平台包装成“通用 AI 测试平台”。

六、真实案例:一条 UI 冒烟流程为什么看起来是模型误判,最后却发现问题根本不在模型

场景

某个后台系统准备把一条高频冒烟流程接入 AI 测试平台,目标是让平台自动完成:

  • 登录
  • 进入订单页
  • 按条件搜索
  • 打开详情页
  • 校验状态字段

第一阶段平台已经有了:

  • 模板化任务入口
  • 有限动作集合
  • 模型规划步骤
  • 浏览器执行工具
  • 截图和步骤日志

执行

平台收到任务后,先由模型生成步骤草稿,再由工具层执行。
前两步都成功:

  • 登录成功
  • 进入订单页成功

但到“按条件搜索”这一步时,平台多次判断失败,报告里的结论是:

模型未能准确理解搜索条件,导致后续断言失败。

现象

表面上看,这很像模型理解问题:

  • 输入条件是对的
  • 页面截图里列表结果不对
  • 后面的状态字段校验自然也失败

如果只看报告摘要,很容易直接把问题定性成“模型生成步骤不稳定”。

排查

把这次任务的证据包拆开看后,问题开始变得不一样了。

先看任务入口:

  • 搜索条件结构化参数没有问题

再看模型输出:

  • 模型给出的步骤也是正确的,明确要求在搜索框输入订单号并点击查询

再看工具调用日志:

  • 输入动作执行成功
  • 点击动作执行成功

继续看步骤截图:

  • 搜索框里文本已经输入
  • 但点击查询后,页面顶部弹出一个延迟出现的“筛选条件已变更,请刷新列表”提示

再结合浏览器控制台日志和页面状态快照:

  • 页面刚进入订单页时,前端异步加载了一组默认筛选项
  • 平台在默认筛选项还未完全稳定前就执行了搜索
  • 查询请求被前端状态重置覆盖,导致实际列表结果不是目标订单

这时候就能看到,问题链路并不是:

  • 模型理解错

而是:

  • 页面状态未稳定
  • 动作执行时机过早
  • 平台等待条件设计不完整
  • 最后误把结果归因给了模型

修复

最终修复动作没有改模型,而是改了平台的执行骨架:

  • 在进入订单页后增加“筛选区加载完成”显式等待
  • 给搜索动作前加页面状态校验
  • 报告里的归因从“模型理解失败”拆成“模型规划层 / 工具执行层 / 页面状态层”
  • 对关键页面补 DOM 快照和控制台日志留存

修完之后,这条冒烟流程的稳定性明显提升。
更重要的是,平台后续再出现类似问题时,已经能更快判断根因到底落在哪一层。

七、结语:第一阶段先把闭环做小,平台才有机会做大

AI 测试平台第一阶段最值得先做的,从来都不是把所有想法一次性做进去,而是先把最关键的闭环做小、做稳、做清楚。

先收稳这几件事:

  • 任务入口可约束
  • 工具执行可校验
  • 状态变化可追踪
  • 证据链可复盘
  • 风险动作可拦截

只有这些基础能力已经成型,后面再去扩模型、扩场景、扩工具、扩工作流,平台才不会一直停留在“偶尔表现很亮眼,但很难规模化使用”的阶段。

AI 测试平台真正的第一阶段目标,不是证明它有多聪明,而是证明它已经开始具备工程上的可控性。