什么是提示词工程
提示词工程指的是在和AI工具互动时,通过优化输入指令(比如提问方式、关键词选择、上下文补充等)来更高效地获取所需结果。它有点像“和AI沟通的翻译技巧”,核心是理解AI的逻辑习惯,用更精准的语言引导它输出有价值的内容。
对软件测试工程师来说,掌握这个技能能提升日常效率,尤其是在使用AI辅助工具时。举几个具体例子:
1. 快速生成测试场景
比如测试登录功能时,直接问AI“给我一些测试用例”可能得到泛泛的回答。但改用提示词:“请列出手机号登录功能的10个边界条件测试点,重点覆盖国际号码格式、超长输入、特殊字符等情况”,AI输出的内容会更有针对性。
2. 自动化脚本调试
当脚本报错时,把错误日志+代码片段一起丢给AI,加上提示:“请用Python+Selenium定位问题,先解释报错原因,再给出两种修改方案,用代码示例说明”。这比单纯问“哪里错了”更容易获得有效回复。
3. 生成测试数据
需要批量构造测试数据时,可以设计提示词:“生成50条符合欧盟GDPR要求的用户注册信息,包含姓名、邮箱、地址,其中20%的数据故意包含格式错误”。这比手动编造数据节省大量时间。
4. 分析测试结果
将自动化测试报告发给AI时,提示:“总结失败用例的共同特征,按优先级排序问题,并用表格列出可能的原因”。能快速提炼关键问题,减少人工筛查时间。
关键点在于:把AI当“实习生”用,通过明确任务背景、输出格式、重点方向,减少无效沟通。实际工作中,测试工程师积累的用例设计经验反而能帮你设计出更好的提示词——毕竟你更清楚测试目标在哪里。
原则与技巧
1. 先说目标,再给细节
❌错误示范:
“生成测试数据。”(目标模糊,AI可能随机生成无效数据)
✔正确逻辑:
“我需要测试用户年龄输入框的边界值,请生成10组测试数据,要求:
- 包含有效值(0-120岁)、最小值(0)、最大值(120)
- 包含无效值(负数、非数字字符、超长数字如12345)
- 用表格展示,一列为输入值,一列为预期结果”
原则:先定义测试目的(边界值测试),再明确数据规则和输出格式。
2. 给AI一个“角色”
❌普通提问:
“分析这段接口返回的JSON哪里可能有问题。”
✔角色化改进:
“假设你是资深测试开发工程师,请检查以下登录接口的响应:
- 对比状态码、响应时间是否符合需求文档(标准:200状态码,响应<500ms)
- 检查token字段是否存在且长度≥32字符
- 列出3个潜在的安全风险点”
原则:赋予AI特定角色(如测试专家),限制其思考角度,避免发散。
3. 拆解复杂任务
❌低效提问:
“帮我想一个自动化测试框架的设计方案。”(范围过大,回答可能空洞)
✔分步引导:
“第一步:用Python+pytest设计登录模块的测试框架,需包含——
- 数据驱动(从Excel读取测试用例)
- 失败截图功能
- 自定义日志记录格式
第二步:针对以上框架,给出一段示例代码和目录结构说明”
原则:将大任务拆解为可执行步骤,降低AI的理解负担。
4. 用对比排除歧义
❌模糊需求:
“生成性能测试脚本。”(AI可能用JMeter或Locust不确定)
✔精准定义:
“我需要用Locust(而非JMeter)编写一个HTTP接口压测脚本,要求:
- 模拟100用户阶梯式递增(每10秒+20用户)
- 统计登录接口的90%响应时间
- 当错误率>5%时立即停止测试
- 给出代码并注释关键参数含义”
原则:通过否定(“不要什么”)和肯定(“要什么”)明确边界。
5. 提供上下文线索
❌孤立提问:
“这个报错怎么解决?”(AI缺少背景信息)
✔关联上下文:
“我正在用Appium测试安卓APP的首页加载速度,环境是Python+ pytest,以下是报错日志和对应代码片段:
[粘贴代码/日志]
请:
- 解释‘ElementNotVisibleException’的可能原因
- 根据我的代码给出两种修复方案
- 建议如何增加重试机制防止偶发失败”
原则:像和同事沟通一样,同步必要背景信息。
实际技巧总结
测试工程师的优势:你比AI更懂测试场景,用业务术语替代抽象描述(如直接说“等价类划分”而非“多种情况测试”)。
复用经验:将常用的测试方法论(如边界值分析、异常流设计)融入提示词,例如:“按ISTQB标准设计支付功能的正向/逆向用例”。
迭代思维:若AI第一次回答不理想,用“排除法”追问:“排除网络问题,从数据加密角度重新分析”。
最终记住:好的提示词=明确指令+业务理解+AI交互习惯,这和设计测试用例的逻辑本质相通——越清晰的输入,越高效的输出
推荐阅读
软件测试/测试开发丨Pytest测试用例生命周期管理-Fixture
软件测试/测试开发丨Python学习笔记之基本数据类型与操作