面灵AI→

优博讯 软件测试二面:状态机、Agent 与提示词怎么测

轮次
二面
时间
2026-09
来源
牛客网

《面试题目》

一面为 HR 面,二面约 15 分钟。

  1. 实习拷打
  2. 状态机怎么测试?
  3. Agent 怎么测试?
  4. 提示词怎么设计?
  5. 怎么评估回答的质量?
  6. 职业规划
  7. 为什么选测试?
  8. 对 AI 的看法

反问:

  1. 业务方向
  2. 组内人数

《参考解析》

  1. 状态机测试要按「迁移」而不是按「页面」设计用例:先把状态和事件列成迁移表,覆盖每个合法迁移至少一次(1-switch 覆盖能把「经过两个连续迁移才暴露的问题」也盖住),再专门造非法迁移——当前状态不接受这个事件时,系统应该拒绝并且状态不变,而不是悄悄改状态。补充三类容易漏的:迁移条件的边界(金额、时间、计数刚好卡在阈值上)、并发与重入(同一实体被两个请求同时推进,靠幂等键或乐观锁兜住)、异常路径(执行到一半失败,状态要能回滚或补偿,重启后从持久化状态恢复)。最后要求状态流转有日志,测试才能对账。

  2. Agent 测试的难点在输出不确定,所以先立评测集再谈自动化:准备一组有代表性的任务,覆盖正常、边界(空输入、超长上下文、歧义指令)、对抗(诱导越权、注入指令)三类;对每个任务定义可判定的检查项——工具调用是否选对、参数是否正确、有没有编造事实、格式是否合规、该拒答时是否拒答。非确定性的部分靠多次运行看稳定性(同一输入跑 N 次统计通过率和方差),别拿单次结果下结论。再挂上成本与耗时的观测,因为「答得对但慢十倍贵十倍」在线上同样不可用。

  3. 提示词设计按工程件来做:角色与目标、可用输入、必须遵守的边界(不能做什么、不确定时怎么办)、输出格式与字段约束,再加少量示例锚定风格;把随场景变化的部分抽成变量,别把业务数据写死在提示词里。写完要能版本化——每次改动留记录、用同一套评测集回归,否则「调好了」只是一次运气。口语化的「你是一个资深专家」这类修饰对效果的影响远不如把输出格式和判定标准写清楚。

  4. 评估回答质量要给分维度、给基线:先人工标一批小样本作为黄金集,确定评分维度(正确性、是否有依据、完整性、格式合规、口吻)。自动侧能用规则判的(格式、必填字段、敏感词、引用是否存在)就别上模型;需要语义判断的再用模型评审,但模型评审本身要和人工标注对齐校准,否则只是把不确定性搬了个位置。最后把评测结果按版本对比,看改动是真提升还是抖动。

  5. 「为什么选测试」这题别踩贬低开发的坑:回答的落点应该是你对这份工作的理解和匹配度——比如喜欢从用户视角拆解边界条件、享受把问题定位到根因、愿意长期做质量体系而不是把它当跳板。哪怕真实原因是别的,也不要用「开发太难/太卷」当理由,那等于当面告诉面试官你只是没得选。可以顺带说清你想在测试方向补的能力(自动化框架、性能与稳定性、AI 应用质量的评测方法)。

  6. 职业规划和对 AI 的看法要连起来讲:规划给一个 1~3 年的具体路径(先把业务和质量流程吃透、再做自动化与效能、然后往 AI 应用的质量评估上延伸),别讲「三年当主管」这类空目标。谈 AI 时避开两个极端:既不否认它替代重复性用例,也别只夸它好用——讲清你怎么用它提效(生成用例草稿、辅助定位日志),以及为什么人工判断仍然不可省(业务语义、风险取舍、验收标准)。