测试开发
·05-12 11:04手机智能助手大模型测试岗位画像(大模型测试经验、AI Coding、手机App测试、Python),整理了一套面试题,涵盖这四个关键领域和综合场景题。题目附带考察点和简要回答要点,可直接用于面试或备考。
---
一、大模型测试经验
1. 你如何理解大模型测试与传统软件测试的本质区别?
· 考察点:对非确定性、概率性输出的测试思路
· 要点:输出不稳定、无法用精确断言;需要评估“好”而非“对”;依赖prompt工程、评分体系、人工/自动化评估;关注幻觉、安全、公平性等新质量维度。
2. 你用过哪些评价指标来评估大模型效果?请举例说明适用场景。
· 考察点:评估方法论
· 要点:BLEU/ROUGE(文本摘要)、困惑度(模型本身)、BertScore、人工打分(有用性、安全性),以及针对性指标如事实一致性、幻觉率。还会搭建评测集,包含正向、对抗、边界用例。
3. 分享一个你挖掘到大模型严重Bad Case的经历,如何复现、跟进?
· 考察点:问题发现与闭环能力
· 要点:描述场景(如某个prompt让模型输出违规内容),精确记录prompt、参数(temp, top_p)、模型版本;使用固定seed复现;提交到badcase管理平台,推动模型调整或安全层拦截,并加入回归集。
4. 如何进行大模型安全性测试?请具体谈谈Prompt注入的测试方法。
· 考察点:安全攻防经验
· 要点:直接注入(忽略前面指令)、间接注入(通过外部文档)、越狱(DAN等模板)、目标劫持。测试方会构建注入语料库,用自动化扫描,并验证应用层防御(输入过滤、输出审核)。
5. 模型频繁迭代,你如何设计回归测试保障质量?
· 考察点:持续测试能力
· 要点:维护一个核心评测集(覆盖功能、安全、性能、多轮对话一致性),每次发版自动跑评测得分的Diff报告;设定阈值(如安全性下降>1%告警);并用A/B测试观察真实指标。
---
二、AI Coding(AI辅助编程)
6. 你常使用的AI Coding工具有哪些?在测试工作中怎样具体应用?
· 考察点:工具熟练度和提效思维
· 要点:GitHub Copilot / Cursor / 通义灵码等;举例:用注释生成单元测试、生成数据驱动参数组合、快速编写调用API的脚本、解释复杂代码、生成测试报告模板。强调自己会审慎修改,而非全盘接受。
7. 请描述一个你用AI辅助生成自动化测试脚本的场景,你做了哪些关键修改?
· 考察点:工程化能力
· 要点:如让Copilot生成“调用大模型API的Python函数”,初始代码无重试机制、未处理异常、断言太过死板。自己添加超时重试、状态码非200的日志、用模糊匹配(检查关键词存在)替代相等断言,并参数化环境变量。
8. 使用AI生成测试代码有哪些常见陷阱?你如何保证代码质量和可维护性?
· 考察点:代码审查与安全意识
· 要点:陷阱:引入幻觉API、变量命名混乱、无错误处理、硬编码敏感信息。对策:所有AI生成的代码必须review;统一走代码规范检查(pylint, black);敏感信息用配置或环境变量;补充注释,保证可读性。
---
三、手机App测试
9. 针对一款集成大模型对话能力的App,你会设计哪些测试场景?
· 考察点:移动端+AI的融合测试设计
· 要点:功能(发送消息、流式输出、停止生成、历史记录、多模态输入如图片、语音)、异常(断网重连、后台切换、杀进程后恢复对话)、性能(生成时CPU/内存/流量、耗电)、兼容(不同机型、系统版本)、权限、安全(剪贴板敏感信息泄露)。
10. 手机端如何测试大模型API的响应体验和性能?用过哪些工具?
· 考察点:移动端性能监控
· 要点:关注首token延迟、生成速度(token/s)。用Charles/Proxyman抓包分析API时序;利用PerfDog/SoloPi监控App渲染帧率、内存、CPU;用Fiddler模拟弱网;计算端到端可感知延迟,设定P95指标。
11. 你用过Appium(或其他框架)做移动端自动化吗?元素定位不稳定怎么处理?
· 考察点:实际自动化经验
· 要点:使用显式等待、相对定位、XPath轴;用accessibility id代替坐标;对动态变化的会话列表用recyclerview或iOS XCUITest的滚动查找;封装智能重试和异常截图,加入到allure报告。
12. 如何测试大模型输出在手机不同屏幕尺寸、系统版本下的UI表现?
· 考察点:兼容性测试
· 要点:除了基础布局,重点检查长文本、多语言(中英混排)、特殊字符是否截断错乱;深色模式适配;字体缩放;Markdown渲染一致。用云测平台(如WeTest、Firebase Test Lab)做较大规模遍历。
---
四、Python 测试开发
13. 请用Python写一个脚本:调用一个生成式API,验证返回内容包含预期关键词且响应时间小于5秒。
· 考察点:requests基础、断言设计
· 要点:
```python
import requests, time
def test_generation():
start = time.time()
resp = requests.post("https://api.example.com/generate",
json={"prompt": "介绍AI", "max_tokens": 100},
timeout=10)
assert resp.status_code == 200
elapsed = time.time() - start
assert elapsed < 5, f"Too slow: {elapsed}s"
data = resp.json()
content = data["choices"][0]["text"]
assert "智能" in content or "学习" in content, "Missing keywords"
```
· 还要关注异常处理、日志、参数化配置。
14. 如何使用pytest实现数据驱动测试,覆盖多种prompt场景?
· 考察点:pytest parametrize、数据管理
· 要点:用@pytest.mark.parametrize("prompt,expected_keywords", [...]);也常用json/csv文件通过pytest_generate_tests动态注入。强调每个用例独立,且评估合理性而非简单相等。
15. 如果你要为上述移动端大模型应用搭建一个自动化测试框架,架构如何设计?
· 考察点:框架设计思路
· 要点:分层:UI层(Appium/Poco)、API层(requests)、评价层(调用模型评估或规则);数据驱动层管理prompt和预期规则;工具层封装日志、报告(allure)、失败自动重跑;CI集成Jenkins/GitLab CI,并触发回归评测集。
---
五、综合场景题
16. 当App上用户反馈“大模型回答变蠢了”,作为测试,你怎么排查定位?
· 考察点:整体质量意识与协作
· 要点:先收集信息(提问内容、时间、版本),用相同prompt和参数在多环境(测试/线上)复现;检查是否因为模型版本更新、服务降级、prompt被app端修改;拉取服务端日志看返回内容;对比旧版评测集得分;最后确定是模型问题、策略问题还是产品设计变更,并推动修复。
17. 你认为一个“AI Native”的应用,测试面临的最大挑战是什么?
· 考察点:测试理念的前瞻性
· 要点:质量标准的模糊性、评测维护成本高、安全伦理法律风险、多模态链路的复杂性、模型行为难以完全预测。因此需要构建“评测即代码”的工程化体系,深度融合模型评估和传统软件测试。
3
3
分享
操作
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
