优博讯 软件测试二面:状态机、Agent 与提示词怎么测
- 轮次
- 二面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
一面为 HR 面,二面约 15 分钟。
- 实习拷打
- 状态机怎么测试?
- Agent 怎么测试?
- 提示词怎么设计?
- 怎么评估回答的质量?
- 职业规划
- 为什么选测试?
- 对 AI 的看法
反问:
- 业务方向
- 组内人数
《参考解析》
-
状态机测试要按「迁移」而不是按「页面」设计用例:先把状态和事件列成迁移表,覆盖每个合法迁移至少一次(1-switch 覆盖能把「经过两个连续迁移才暴露的问题」也盖住),再专门造非法迁移——当前状态不接受这个事件时,系统应该拒绝并且状态不变,而不是悄悄改状态。补充三类容易漏的:迁移条件的边界(金额、时间、计数刚好卡在阈值上)、并发与重入(同一实体被两个请求同时推进,靠幂等键或乐观锁兜住)、异常路径(执行到一半失败,状态要能回滚或补偿,重启后从持久化状态恢复)。最后要求状态流转有日志,测试才能对账。
-
Agent 测试的难点在输出不确定,所以先立评测集再谈自动化:准备一组有代表性的任务,覆盖正常、边界(空输入、超长上下文、歧义指令)、对抗(诱导越权、注入指令)三类;对每个任务定义可判定的检查项——工具调用是否选对、参数是否正确、有没有编造事实、格式是否合规、该拒答时是否拒答。非确定性的部分靠多次运行看稳定性(同一输入跑 N 次统计通过率和方差),别拿单次结果下结论。再挂上成本与耗时的观测,因为「答得对但慢十倍贵十倍」在线上同样不可用。
-
提示词设计按工程件来做:角色与目标、可用输入、必须遵守的边界(不能做什么、不确定时怎么办)、输出格式与字段约束,再加少量示例锚定风格;把随场景变化的部分抽成变量,别把业务数据写死在提示词里。写完要能版本化——每次改动留记录、用同一套评测集回归,否则「调好了」只是一次运气。口语化的「你是一个资深专家」这类修饰对效果的影响远不如把输出格式和判定标准写清楚。
-
评估回答质量要给分维度、给基线:先人工标一批小样本作为黄金集,确定评分维度(正确性、是否有依据、完整性、格式合规、口吻)。自动侧能用规则判的(格式、必填字段、敏感词、引用是否存在)就别上模型;需要语义判断的再用模型评审,但模型评审本身要和人工标注对齐校准,否则只是把不确定性搬了个位置。最后把评测结果按版本对比,看改动是真提升还是抖动。
-
「为什么选测试」这题别踩贬低开发的坑:回答的落点应该是你对这份工作的理解和匹配度——比如喜欢从用户视角拆解边界条件、享受把问题定位到根因、愿意长期做质量体系而不是把它当跳板。哪怕真实原因是别的,也不要用「开发太难/太卷」当理由,那等于当面告诉面试官你只是没得选。可以顺带说清你想在测试方向补的能力(自动化框架、性能与稳定性、AI 应用质量的评测方法)。
-
职业规划和对 AI 的看法要连起来讲:规划给一个 1~3 年的具体路径(先把业务和质量流程吃透、再做自动化与效能、然后往 AI 应用的质量评估上延伸),别讲「三年当主管」这类空目标。谈 AI 时避开两个极端:既不否认它替代重复性用例,也别只夸它好用——讲清你怎么用它提效(生成用例草稿、辅助定位日志),以及为什么人工判断仍然不可省(业务语义、风险取舍、验收标准)。