AI 测试面试题:传统软件测试与 LLM 测试最大的区别是什么
- 轮次
- 面试八股
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 传统软件测试与 LLM 测试最大的区别是什么?
- 这种差异如何影响测试策略与评估方法?
- LLM 测试的数据准备和传统测试有什么不同?
《参考解析》
核心差异只有一个词:确定性。传统系统对同一输入给出唯一正确输出,所以断言可以精确比对;LLM 的输出是概率采样的产物,同一个问题可以给出多种都合理的答案,甚至同一输入两次结果不同(temperature > 0 时)。这一条往下推,整个测试方法都要改写。
断言方式的改变:从「相等断言」变成「属性断言 + 语义断言」。属性断言是硬性的(JSON 是否合法、字段是否齐全、长度是否超限、是否含敏感词、是否调用了不该调用的工具);语义断言要靠评估器(人工 rubric、LLM-as-a-judge、或参考答案的语义相似度)。工程上先跑硬性断言过滤明显错误,再用语义评估打分,成本能降一个数量级。
用例设计的改变:传统测试追求覆盖分支与边界,LLM 测试还要覆盖「表达多样性」——同一意图的不同问法、多轮上下文、指代与省略、夹杂错别字与方言、以及对抗性输入(诱导越狱、要求编造、注入指令)。评价指标也从「通过率」变成分布:准确率、拒答率、有害输出率、幻觉率、以及不同人群/语种上的偏差。
数据准备的改变:传统测试数据相对固定可复用;LLM 测试需要持续更新的多样化语料,而且要能应对模型知识截止的问题(新信息要单独造集)。同时要建回归集:每次模型升级或提示词改动,用同一批样本对比,防止「修好一个坏掉三个」。
别忽略工程侧:非确定性带来的是可复现性问题。要固定随机种子与版本(模型版本、提示词版本、工具版本),记录每次评测的完整配置,否则结果无法比较。这也是为什么 LLM 评测必须做版本管理,而不是「跑一遍看看」。