高效使用AI大模型:测试工程师提示词编写框架

前言

随着AI大模型在软件测试领域的广泛应用,提示词工程(Prompt Engineering)已成为测试工程师提升效率的关键技能。通过精准的提示词设计,我们可快速生成测试用例、优化测试场景、生成自动化脚本、以至实现智能化的测试覆盖。

那么如何更有效地在利用大模型时,让大模型更高效地协助我们得到期望的结果,好的提示词能让我们事半功倍。下文就总结下,对测试工程师而言,怎么编写出好的提示词框架

拆分复杂需求,准确描述问题

AI大模型的效果高度依赖输入提示词的清晰度,也就是尽可能减少二义性。所以在输入提示词时,应尽可能将复杂任务拆解为具体需求,例如:

  • 场景化的描述:明确测试目标(如“生成登录功能的边界值测试用例”),而非模糊指令(如“帮我写测试用例”)。
  • 约束条件:添加格式要求(如“以表格形式输出”)、优先级(如“仅包含高风险场景”)或技术限制(如“不涉及第三方接口”)。
  • 示例引导:可以提供示例数据或模板,帮助模型理解期望的输出结构。

利用结构化框架,提升输出稳定性

通过定义结构化的提示词框架,可以约束模型行为,并减少随机性干扰:

  1. 角色设定:指定模型扮演专业角色(如“你是一位资深测试专家,擅长设计高覆盖率的测试场景”)。
  2. 分步指令:将复杂任务分解为多步骤(如“第一步:分析需求文档;第二步:识别关键路径;第三步:生成用例”)。
  3. 思维链(Chain-of-Thought):虽然目前很多模型都提供了深度思考能力,但通过提示词引导模型的分析,可以简化模型的思考推理方向。例如“请先分析用户操作流程,再重点针对异常场景生成测试用例”。

渐进式的迭代优化,持续改进提示词

大模型通常会保留对话上下文,针对每次反馈的结果,应不断校正,逐渐向最佳输出靠拢

  • 反馈修正:对模型输出中的错误及时指正(如“第2条用例未覆盖超时场景,请补充”),并要求重新生成。
  • 参数调整:控制输出长度(如“请用50字以内描述”)、温度系数(Temperature)以平衡模型的创造性与准确性。
  • 交叉比对:目前开放大模型有很多,能力不一,对于分析的结果差别也比较大。可以综合判断,提取最优结果。

常见的一些校正场景:

问题原因改进方法
输出过于宽泛需求描述模糊添加具体场景、格式、优先级约束
结果重复或冗余未明确限制输出范围排除不需要的场景(如指定“仅输出未覆盖的边界值场景”)
技术术语错误模型缺乏领域知识提供术语表或指定角色(如“金融系统测试专家”)

案例分析

基于以上原则,以我们要测试 https://www.saucedemo.com 这个网站的购物流程为例,要用大模型帮助我们生成一系列测试用例,提示词框架可以按下面的方式设定:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
假设你是一名经验丰富的软件测试工程师,负责对电商网站 https://www.saucedemo.com/ 的核心购物流程进行端到端的功能测试。


任务: 为以下用户场景生成详细的、高优先级的正向和反向测试用例。重点关注从商品选择到成功下单的完整流程。


被测网站: https://www.saucedemo.com/ 

测试用户凭据:

•标准用户 (Standard User): standard_user / secret_sauce
•有问题的用户 (Problem User): problem_user / secret_sauce (用于观察特定错误行为)


核心购物流程步骤:

1. 用户登录
2. 浏览商品列表 (Inventory Page)
3. 选择至少两件不同商品并添加到购物车
4. 查看购物车 (Cart Page)
5. 在购物车页面验证商品信息(名称、数量、价格)和总价
6. 进入结账信息页面 (Checkout: Your Information)
7. 填写有效的结账信息(姓、名、邮政编码)
8. 进入结账概览页面 (Checkout: Overview)
9. 在概览页面验证商品信息、总价(含税)
10.完成购买 (Checkout: Complete!)
11.验证订单成功信息


测试用例要求:

•正向测试用例: 覆盖使用标准用户成功完成购物流程的每个步骤,确保功能按预期工作。
•反向测试用例:
	•尝试在结账信息页面输入无效数据(例如,姓、名、邮编为空或格式错误)。
    •尝试在购物车为空时进行结账。
    •(可选)使用 problem_user 登录,观察并记录在购物流程中可能出现的异常行为,特别是商品图片、添加购物车或结账环节。

输出要求:
•每个测试用例应包含:用例 ID (TC_SAUCE_SHOP_XXX)、测试描述、前置条件(如已登录并添加商品)、测试步骤(清晰、可执行)、预期结果、实际结果(预留填写)、状态(预留填写)、优先级(高/中/低)。
•优先生成高优先级的测试用例。



输出格式:  请将测试用例以 Markdown 表格形式输出,包含以下列:用例 ID, 测试描述, 前置条件, 测试步骤, 预期结果, 优先级。


约束说明:

•假设税率为 8%。
•关注 UI 元素的交互和页面跳转的正确性。
•如果对某些特定元素的 ID 或 Class 不确定,可以使用通用的描述,例如“点击添加到购物车按钮”或“输入姓名字段”。

以上提示词比较好地对应了相关的提示词框架原则:

  • 明确的角色:“假设你是一名经验丰富的软件测试工程师…”
  • 清晰的任务:“为以下用户场景生成详细的、高优先级的正向和反向测试用例。重点关注从商品选择到成功下单的完整流程”
  • 充分的上下文信息: 被测URL、用户信息、用例侧重点、税率假设
  • 指定输出格式:“请将测试用例以Markdown表格形式输出,包含以下列:用例ID, 测试描述, 前置条件, 测试步骤, 预期结果, 优先级。”
  • 明确的具体要求和约束:用例和输出的具体要求,
  • 引导思考方向:使用problem_user生成异常用例

最终通过这样的提示词,通过Deepseek,我们会得到如下一份生成的用例:

高优先级核心购物流程测试用例

用例ID测试描述前置条件测试步骤预期结果优先级
正向测试用例
TC_SAUCE_SHOP_001标准用户成功登录并进入商品列表页1. 访问 https://www.saucedemo.com/
2. 输入用户名 standard_user 和密码 secret_sauce
3. 点击登录按钮
登录成功,跳转至商品列表页(Inventory Page)
TC_SAUCE_SHOP_002添加两件不同商品到购物车并验证数量用户已登录1. 在商品列表页选择两件不同商品,分别点击“添加到购物车”按钮
2. 检查购物车图标显示数量为2
购物车图标数量更新为2,且两件商品均显示在购物车页面
TC_SAUCE_SHOP_003购物车页面验证商品信息和总价(不含税)用户已添加两件商品到购物车1. 点击购物车图标进入购物车页面
2. 核对商品名称、数量、单价
3. 计算总价(商品1价格 + 商品2价格)
商品信息正确,总价显示为两件商品价格之和
TC_SAUCE_SHOP_004完成有效结账信息并验证含税总价用户已进入结账信息页面1. 在结账信息页面输入有效姓、名、邮编(如:John/Doe/12345)
2. 点击“继续”按钮
3. 在概览页面验证总价(总价 = 商品总价 * 1.08)
跳转至结账概览页面,总价含8%税且计算正确
TC_SAUCE_SHOP_005完成购买并验证订单成功信息用户已进入结账概览页面1. 点击“完成”按钮显示“THANK YOU FOR YOUR ORDER”成功信息,返回商品列表页
反向测试用例
TC_SAUCE_SHOP_006结账信息页面姓名为空时提交表单用户已进入结账信息页面1. 留空姓名字段,输入有效邮编(如:12345)
2. 点击“继续”按钮
提示“First Name is required”,阻止跳转
TC_SAUCE_SHOP_007结账信息页面邮编格式错误(如非数字)用户已进入结账信息页面1. 输入有效姓、名,邮编为“ABC12”
2. 点击“继续”按钮
提示“Postal Code is invalid”,阻止跳转
TC_SAUCE_SHOP_008购物车为空时尝试结账用户已登录且购物车为空1. 点击购物车图标进入购物车页面
2. 点击“结账”按钮
提示“Cart is empty”或阻止跳转至结账页面
Problem User 测试用例
TC_SAUCE_SHOP_009Problem User 添加商品时图片显示异常Problem User 已登录1. 浏览商品列表页
2. 检查商品图片是否加载正确(如:图片错位、无法显示)
商品图片显示异常(如空白图、错误图片)
TC_SAUCE_SHOP_010Problem User 结账时总价计算错误Problem User 已添加商品到购物车1. 完成结账流程至概览页面
2. 验证总价是否等于商品总价 * 1.08
总价计算错误(如未含税或计算值偏差)

补充说明

  1. 优先级分配:核心流程(登录、添加商品、结账)和关键异常场景(空字段、无效数据)设为高优先级。
  2. Problem User:用于验证特定异常行为(如UI渲染错误或逻辑漏洞)。
  3. 实际结果/状态:执行时需根据实际观察填写(如“通过”、“失败”或“阻塞”)。
  4. 税率计算:假设商品总价为 $X,含税总价应为 X * 1.08,保留两位小数(如 $21.99 * 1.08 = $23.75)。
使用 Hugo 构建
主题 StackJimmy 设计