我最近正在通过 Ministry of Testing 推出的 30 天 AI 测试挑战(30 Days of AI in Testing Challenge) 学习 AI 在测试领域的应用。这个备忘单就是我与另一位挑战参与者、出色的测试人员 Joyz Ng 一起合作的成果。
我们结合了对提示词工程(Prompt Engineering)的学习、各种提示技巧以及我们自己使用 AI 大语言模型(LLMs)时的实际经验,共同总结出这份清单,帮助测试人员更好地构建高效提示词。
🧠 通用原则
- 使用简单完整的句子
- 明确地定义任务或说明
- 明确你希望得到什么,精确表达需求
- 提供提示词四要素:
上下文(Context)+ 指令(Instruction)+ 输入/参考(Input/Reference)+ 输出指示(Output Indicator) - 减少模糊性(避免“模糊词”)
✅ 示例:「给我 10 组数据」优于「给我一些数据」 -
设置你期望的 模型输出风格(温度 temperature)
-
创意型(Creative)
- 精确型(Precise)
- 平衡型(Balanced)
-
明确语气与目标读者
-
示例语气:专业、个人、幽默、创意
-
指定格式要求
-
如:项目符号、双引号、CSV、表格等
- 避免在公开模型中输入敏感或专有信息
🎯 上下文设计技巧(Context)
- 让 LLM 扮演某个角色(persona)
例子:测试人员 / 测试主管 / 普通客户 / 开发人员 / 自动化工程师 -
提供背景信息
-
示例:引用网站、专家、社区观点(如 Context Driven Community)
-
定义你的测试领域、应用类型、被测系统
-
可通过以下方式说明:
-
图片
- 系统描述
- 产品模型
- 技术结构/模块介绍
🧾 输入与输出(Input & Output)
-
明确期望 LLM 做什么?
-
示例:
-
只生成正向测试用例?还是多样化用例?
- 功能覆盖还是数据覆盖?
- 是需要测试数据,还是测试数据生成程序?
-
提供输出格式/风格的示例
-
示例格式:代码片段、邮件模板、报告结构
-
明确数据要求
-
示例:
-
用户名:字符串(20字符)
- 年龄:整数(必须 > 18)
-
引用已有内容或链接作为灵感
-
示例:编码规范、测试记忆法、已有写作样本
- 要求“逐步解释”来提高推理质量
✅ 使用链式思考提示(Chain of Thought Prompting) - 使用“少样本提示技巧(Few Shot Prompting)”提供输出示例
- 要求模型自行检查回答的正确性
✅ 触发“思考时间错觉(Time to Think Illusion)”以提升准确率
🤖 大语言模型(LLM)使用技巧
- 对 LLM 的输出提供反馈,优化提示词(RHLF:基于人类反馈的强化学习)
- 不要止步于第一次回答,提出跟进问题
✅ 不断尝试、探索、评估 -
与其他模型对比输出
-
可用模型包括:
-
Google Gemini
- GitHub Copilot
- ChatGPT
- Claude 等