AI 与大模型(测试 + 应用)
测试开发面试高频问题,包含 AI 基础概念、测试方法、实际应用、AI 工具使用经验,答案仅供参考,希望大家都去尝试,结合自己的经验去回答。前边的几个是常见的问题,后边就是针对AI测试的问题了。
尝试使用API调用模型:
硅基流动(注册+实名认证赠送16元额度)可体验众多模型,学习使用足够
https://cloud.siliconflow.cn/i/Az4qFLhe
国家超算平台、NVIDIA等也有免费的API额度,但速度可能较慢,推荐优先使用硅基流动,用完后再使用下边这两个。
你平时是怎么使用 AI 和大模型的?有哪些具体场景?
答案:
我在日常测试开发工作中,主要用 AI 提升效率,具体场景包括:
- 测试用例生成:给定需求文档,让 AI 生成边界值、等价类划分、正向/异常用例
- 代码辅助:用 AI 写自动化脚本(Selenium/Appium),生成单元测试,代码 review
- 性能分析:把日志/堆栈丢给 AI,让它分析性能瓶颈,给出排查方向
- 文档撰写:测试计划、测试报告、技术方案,AI 辅助整理结构
- 面试准备:让 AI 扮演面试官,提问并给出优化建议
- 知识学习:用 AI 解释新技术、代码片段、原理概念
使用技巧:
- 角色设定 + 示例学习(Few-shot)效果最好
- 复杂任务用思维链(CoT)分步处理
- 重要输出人工复核,AI 是辅助不是替代
面试加分点:能说出具体使用案例,比如"用 AI 把某个需求的测试用例编写时间从 2 小时缩短到 20 分钟"
你用过最新的"龙虾"和"爱马仕"吗?
答案:
"龙虾" 指的是 OpenClaw,"爱马仕" 指的是 Hermes Agent,都是开源的 AI Agent 框架。我都了解和使用过。
OpenClaw(龙虾):
- 特点:完全可控的新员工角色,适合企业级场景
- 优点:行为透明、可定制、适合复杂流程
- 适用:需要严格控制流程的企业项目
Hermes Agent(爱马仕):
- 特点:会"自我进化"的 AI 助手,GitHub 5万+ Star
- 核心能力:
- 自动写 Skill:用完自动总结成技能,下次直接调用
- 三层记忆系统:技能记忆 + 长期记忆 + 短期记忆
- 多平台接入:飞书、企业微信、Telegram、Discord 等
- 安全防护:Prompt 注入扫描、凭证过滤、沙箱隔离
- 适用:个人/小团队,省时间,越用越快
我的使用体验:
- 日常简单任务用 ChatGPT/Claude 够用
- 需要跨平台、长期记忆的场景用 Hermes Agent
面试加分点:能说出这两个工具的区别,以及各自适用场景,体现对 AI Agent 领域的了解
你了解 Skill 吗?编写过吗?在测试开发领域可以用 Skill 做什么?
答案:
Skill 是 AI Agent 的一种能力封装机制,可以理解为"AI 的技能包"或"错题本"。
Skill 的核心价值:
- 把解决问题的步骤结构化沉淀下来
- 下次遇到类似任务直接调用,不用重新摸索
- 用得越久,Agent 积累的技能越多,效率越高
以 Hermes Agent 为例:
- 自动写 Skill:完成 5 次以上工具调用的复杂任务后,自动提炼成 Skill
- 定期优化:每 15 个任务自动优化已有 Skill
- Skill 包含:技能名称、描述、使用场景、执行步骤
测试开发领域的应用场景:
- 测试用例生成 Skill:封装"需求文档 → 测试用例"的 Prompt 模板和流程
- 接口测试 Skill:封装"接口文档 → 测试用例 + 断言"的自动化流程
- 日志分析 Skill:封装"错误日志 → 根因分析"的 Prompt 链
- 回归测试 Skill:封装"代码变更 → 影响接口筛选"的自动化流程
- 环境部署 Skill:封装"项目启动 → 环境检查 → 测试执行"的完整流程
我自己编写过的 Skill:
- 文案创作 Skill:根据我的个人知识库内容,选题、创作。
- 自动化脚本生成 Skill:输入页面描述,生成 Selenium 代码框架
- 性能日志分析 Skill:输入 GC 日志,输出内存分析报告
面试加分点:能说出自己编写过的 Skill,以及如何用 Skill 提升测试效率,体现"会用 AI 工具"进阶到"会优化 AI 工具"
什么是大语言模型(LLM)?它和传统 AI 模型有什么区别?
答案:
LLM(Large Language Model)是基于海量文本数据预训练、能理解和生成自然语言的大规模神经网络模型(如 GPT、Claude、通义千问等)。
区别:
- 参数量:LLM 通常千亿参数以上,传统模型参数量有限
- 训练方式:LLM 是自监督预训练 + 指令微调,传统模型多为监督学习
- 能力:LLM 具备涌现能力(Emergent Abilities),能做未明确训练过的任务
- 部署:LLM 推理成本高,需要 GPU 集群,传统模型可在端侧运行
什么是 Token?LLM 是如何处理文本的?
答案:
Token 是 LLM 处理文本的最小单位:
- 中文约 1-2 个字符为一个 Token
- 英文约 0.75 个单词为一个 Token
LLM 使用分词器(Tokenizer)将文本切分为 Token 序列,然后转换为向量输入模型推理。
API 计费:通常按输入+输出的 Token 总数计算(1K Token ≈ 750 个英文字 ≈ 500 个中文字)
理解 Token 有助于估算 API 成本和优化 Prompt。
什么是 Prompt Engineering?有哪些常用技巧?
答案:
Prompt Engineering(提示工程)是优化 Prompt 以获得更好模型输出的技术。
常用技巧:
- 角色设定("你是一个资深测试工程师")
- 示例学习(Few-shot,给 1-3 个例子)
- 思维链(CoT,让模型先思考再回答)
- 结构化输出(JSON/表格格式)
- 明确约束("不要编造,请在你确定时回答")
- 上下文注入(RAG,从外部知识库检索相关内容拼接)
- 温度/ Temperature 控制(0-1,越高越有创意,越低越确定)
什么是 RAG?为什么需要 RAG?
答案:
RAG(Retrieval-Augmented Generation,检索增强生成)= 检索 + 生成。
流程: 用户问题 -> 检索向量数据库中相关文档 -> 将文档内容注入 Prompt -> LLM 结合上下文生成答案
解决的问题:
- LLM 知识有截止日期(不知道最新信息)
- LLM 幻觉(编造不存在的事实)
- 企业私有知识(LLM 未训练过的内部数据)
实际应用: 客服机器人、知识库问答、代码助手等
什么是 AI 幻觉(Hallucination)?如何缓解?
答案:
AI 幻觉:LLM 生成的内容听起来正确但实际是错误的(编造事实、数据、引用等)
缓解方法:
- RAG(让模型基于真实文档回答)
- 提示工程("请基于以下信息回答,如不确定请说不知道")
- 思维链(CoT,让模型展示推理过程)
- 降低温度参数(temperature,减少随机性)
- 人工审核(对高风险场景强制人工复核)
- 模型微调(SFT,使用高质量领域数据微调)
在测试场景中,幻觉可能导致错误的测试用例或误判缺陷
什么是 AI Agent?它的核心组件有哪些?
答案:
AI Agent = 大模型 + 工具 + 记忆 + 规划
核心组件:
- 规划(Planning):将复杂任务分解为子步骤(LLM 自主完成)
- 工具调用(Tool Use):调用外部工具(搜索/代码执行/文件操作/API)
- 记忆(Memory):短期记忆(当前对话上下文)+ 长期记忆(向量数据库存储的历史经验)
- 推理(Reasoning):CoT、ReAct 等推理框架
应用: 自动化测试脚本生成、缺陷自动分析、测试用例生成等
AI 能帮你做测试工作吗?能做什么?
答案:
能,而且已经在实际使用中。
应用场景:
- 生成测试用例(给定需求描述,让 AI 生成边界值和等价类)
- 代码评审(AI 辅助检查代码逻辑漏洞)
- 编写自动化脚本(描述页面行为,AI 生成 Selenium/Appium 代码)
- 性能测试分析(输入日志,让 AI 总结性能瓶颈)
- 文档生成(测试计划、测试报告)
- 模拟面试(让 AI 扮演面试官练习问答)
局限性: AI 生成的用例需要人工审核准确性,不能完全依赖
如何测试一个 AI 对话机器人?有哪些专项测试?
答案:
- 功能测试:对话流畅性、意图识别准确率、多轮对话上下文保持
- 回复质量:回答正确性、回答完整性、回答格式
- 安全测试:有害内容过滤、敏感信息泄露、Prompt 注入攻击(恶意指令绕过系统)
- 性能测试:首字响应时间(TTFT)、对话吞吐量、并发用户数
- 边界测试:超长输入、特殊字符、emoji、未知语言
- 回归测试:相同问题多次回答一致性(确定性测试)
- 指标评估:用 Benchmark 数据集评估模型能力(如 MMLU、C-Eval)
如何测试 AI 生成的内容质量?有哪些评估指标?
答案:
自动评估指标:
- BLEU(基于 n-gram 重合度)
- ROUGE(摘要评估)
- perplexity(困惑度,越低越好)
- BERTScore(语义相似度)
人工评估:
- 相关性(Relevance)
- 准确性(Accuracy)
- 完整性(Completeness)
- 安全性(Safety)
- 帮助性(Helpfulness)
专项指标:
- 意图识别准确率(F1-score)
- 错误回复率
- 响应延迟
实际项目中通常人工评估为主(AI 质量主观性强),结合自动化指标做趋势监控
AI 在接口测试中有什么应用?
答案:
- 接口文档理解与验证:输入 Swagger/OpenAPI 文档,AI 自动理解接口并生成测试用例
- 测试数据构造:描述需求,AI 生成测试数据(手机号、身份证等)
- 接口用例生成:根据接口描述自动生成正向/异常/边界用例
- 断言设计:AI 推荐合理的断言策略(字段类型、范围、一致性)
- 异常分析:接口报错时,AI 分析日志给出可能原因
- 接口变更影响分析:代码变更后,AI 识别受影响的相关接口
什么是模型微调(Fine-tuning)?它和 Prompt Engineering 有什么区别?
答案:
微调:在预训练模型基础上,用特定领域的数据继续训练,调整模型参数,使模型适应特定任务
区别:
- Prompt Engineering 是"怎么问"(不改变模型)
- Fine-tuning 是"重新调教模型"
对比:
- Prompt Engineering 成本低、见效快,但上下文有限
- Fine-tuning 效果更定制化、推理更快,但成本高、需要数据
实际选择: 如果 Prompt 能解决 80% 的问题,就不要微调。测试开发场景下,大多数情况 Prompt Engineering 足够。
什么是向量数据库?为什么 AI 常用它做知识检索?
答案:
向量数据库:专门存储和检索高维向量(Embedding)的数据库,能在毫秒级找到"最相似"的内容
工作原理: 文本 -> 向量化模型(Embedding)-> 转换为向量 -> 存储到向量数据库。检索时,将用户问题同样向量化,在数据库中找最相似的 N 条
常用向量数据库: Milvus、Pinecone、Chroma、Weaviate
应用: RAG(知识库问答)、推荐系统、代码搜索
优势: 相比传统关键词搜索,向量检索能理解语义("查找"和"搜索"可以匹配)
什么是 LangChain?它在 AI 应用中扮演什么角色?
答案:
LangChain 是一个 AI 应用开发框架,封装了构建 LLM 应用常用的组件:
- Model I/O:统一封装各种 LLM API
- Retrieval:向量数据库 + 文档加载
- Chains:把多个步骤串联成工作流
- Agents:让 AI 调用工具自主决策
- Memory:对话历史管理
简单理解: LangChain = LLM + 工具 + 数据源,通过 Chains 组合实现复杂任务
缺点: 封装较重,部分场景有性能开销。面试能说出用途即可
AI 自动化测试和传统自动化测试有什么区别?
答案:
| 维度 | 传统自动化测试 | AI 自动化测试 |
|---|---|---|
| 测试用例生成 | 人工编写,固定脚本 | AI 自动生成测试用例 |
| 测试对象 | 软件功能/接口/UI | 功能 + AI 模型本身 |
| 适应性 | 脚本固定,需求变更需手动修改 | 自适应,可学习新模式 |
| 覆盖范围 | 有限的测试场景 | 可探索更广的边界场景 |
| 断言方式 | 精确匹配 | 模糊匹配 + 概率判断 |
| 维护成本 | 高,UI 变化需重写脚本 | 低,AI 可适应小幅度变化 |
| 智能化程度 | 无 | 可自主学习和优化 |
核心区别: 传统自动化测试是"用脚本验证功能",AI 自动化测试是"让 AI 理解业务并生成测试"
什么是数据漂移(Data Drift)?如何检测和处理?
答案:
数据漂移:指生产环境中输入数据的分布随时间发生变化,导致模型性能下降的现象。分为:
- 特征漂移:输入特征分布变化(如用户年龄分布改变)
- 标签漂移:目标变量分布变化(如点击率下降)
- 概念漂移:特征与标签的关系变化
检测方法:
统计指标检测
- Population Stability Index(PSI):PSI > 0.25 表示严重漂移
- KL 散度、JS 散度:衡量分布差异
- 均值、方差变化监控
模型指标监控
- 精度/召回率/F1 持续下降
- 预测置信度分布变化
- 错误样本比例上升
业务指标监控
- 用户投诉率上升
- 转化率异常波动
- 模型输出分布偏移
处理方案:
- 定期重新训练模型
- 在线学习/增量学习
- 引入人工审核机制
- 建立漂移预警系统
什么是模型偏差/公平性测试?如何检测?
答案:
模型偏差:AI 模型对某些特定群体(性别、年龄、地域、种族等)产生不公平的预测结果
常见偏差类型:
- 历史偏差:训练数据本身带有历史偏见
- 表示偏差:某些特征与敏感属性相关
- 聚合偏差:不同群体数据混合后忽略差异
检测方法:
- 定义敏感属性:性别、年龄、地域、学历等
- 分组统计指标:
- Demographic Parity(人口统计均等)
- Equalized Odds(机会均等)
- Predictive Parity(预测均等)
- 对比测试:在不同群体上分别测试模型性能
- 数据审计:检查训练数据分布是否均衡
缓解措施:
- 数据重采样/重加权
- 公平性约束的模型训练
- 后处理校正
- 引入人工审核
什么是对抗样本测试?如何进行?
答案:
对抗样本:特意设计的输入样本,能够欺骗 AI 模型使其产生错误预测
测试方法:
- 白盒攻击:知道模型结构,在输入添加微小扰动
- 黑盒攻击:不知道模型结构,通过输出推断弱点
- 边界测试:输入边界值、异常值、极端情况
- Fuzz 测试:随机生成大量异常输入,观察模型反应
测试场景:
- 图像识别:对图片添加人眼不可见的噪声
- 文本处理:同义词替换、拼写错误、特殊字符
- 语音识别:添加背景噪音、音量突变
- 推荐系统:伪造用户行为诱导推荐
防御措施:
- 对抗训练
- 输入预处理/清洗
- 模型集成
- 异常检测
AI 模型性能测试需要关注哪些指标?
答案:
推理性能:
- 延迟(Latency):首字响应时间(TTFT)、单次推理耗时、P99 延迟
- 吞吐量(Throughput):每秒处理请求数(QPS/TPS)
- 批处理能力:批量推理 vs 逐条推理的性能差异
资源消耗:
- GPU/CPU 利用率
- 内存占用
- 显存占用
- 模型大小(参数量)
扩展性:
- 并发用户数支持
- 水平扩展能力
- 负载均衡效果
稳定性:
- 长时间运行内存泄漏
- 错误恢复能力
- 降级策略
成本:
- 单次推理成本
- 每日/每月推理成本
- 硬件投入成本
AI 测试的完整流程是什么?
答案:
1. 数据测试
- 数据完整性检查
- 标签准确性验证
- 异常值检测
- 数据分布分析
- 训练/验证/测试集划分
2. 模型训练测试
- 训练曲线监控
- 交叉验证
- 过拟合/欠拟合检测
- 超参数调优验证
3. 模型评估测试
- 精度、召回率、F1、AUC 等指标
- 混淆矩阵分析
- 错误案例分析
- 基准数据集测试
4. 安全测试
- 有害内容过滤
- 敏感信息泄露
- 对抗样本攻击
- Prompt 注入
5. 性能测试
- 推理延迟
- 吞吐量
- 资源占用
- 并发能力
6. 部署测试
- 模型版本管理
- 灰度发布
- A/B 测试
- 线上指标监控
7. 持续监控
- 数据漂移检测
- 模型退化预警
- 业务指标联动
如何测试 LLM 的安全性?
答案:
1. 有害内容检测
- 暴力、仇恨、犯罪内容
- 色情、赌博、毒品信息
- 医疗/法律误导
2. 敏感信息保护
- 个人信息泄露(PII)
- 商业机密保护
- 隐私数据过滤
3. 对抗攻击防护
- Prompt 注入测试
- 角色扮演绕过
- 越狱测试(Jailbreak)
4. 输出质量控制
- 事实准确性
- 引用真实性
- 逻辑一致性
测试方法:
- 红队测试:模拟攻击者尝试绕过安全机制
- 自动化检测:用小模型检测大模型输出
- 人工审核:关键场景强制人工复核
- 对抗样本库:积累已知的攻击模式
什么是 A/B 测试在 AI 模型中的应用?
答案:
A/B 测试:同时部署两个或多个模型版本,对比实际效果
应用场景:
- 模型版本对比:新模型 vs 旧模型
- 算法对比:不同模型架构效果
- Prompt 对比:不同提示词效果
- 参数对比:不同温度/Top-p 效果
测试流程:
- 流量分割(按用户/请求随机分流)
- 设定核心指标(点击率、转化率、满意度)
- 设定统计显著性(通常 p < 0.05)
- 收集足够样本量
- 分析结果并决策
注意事项:
- 排除干扰因素
- 防止新奇效应(用户对新模型天然好奇)
- 监控异常流量
- 设定终止条件
测试开发岗位需要掌握哪些 AI 技能?
答案:
基础技能:
- 了解 LLM 原理和基本概念
- 掌握 Prompt Engineering 技巧
- 会用 AI 辅助编写测试代码
进阶技能:
- 理解模型评估指标(Precision/Recall/F1/AUC)
- 能设计 AI 模型的测试用例
- 了解数据漂移和模型监控
工具使用:
- AI 编码助手(通义灵码、Cursor、Trae)
- AI 测试工具(Applitools、Functionize)
- 向量数据库基础操作
最佳实践:
- 用 AI 提升测试效率
- 人工审核 AI 生成的测试用例
- 持续关注 AI 测试领域动态