如何让AI用结构化思维写好测试用例?
content creator工作内容,ai内容创作,短视频内容创作 图文教程

如何让AI用结构化思维写好测试用例?

AI中国 AI中国 7小时前 139 阅读
4.8 (1280 教程评分)
15,328 人已学习

在使用AI编写测试用例的过程中,常遇到这样的问题:一次性给AI输入过多需求时,其生成的测试用例往往较为笼统且覆盖不全,而且缺少清晰的层次结构。其实这一问题在人类身上同样存在——当人们试图一次性完成高复杂度任务时,难免会顾此失彼、考虑不周。对于复杂任务,正确的处理方式是先对任务进行规划和拆解,再分步骤思考与执行,每次专注于一个子任务,最后通过反思和验证确保质量。这一规律对AI同样适用。


像DeepSeek-R1这样的推理模型虽然有深度思考能力,但其思考过程仍然不具备可预测性和可控性。当面对复杂问题时,推理大模型也可能无法按照清晰的逻辑路径一步一步推进思考,这会导致生成的结果不够全面和系统。此外,由于深度思考的单次性,当思考本身出现了偏差和幻觉,推理模型缺乏自主反思与优化的能力。

虽然很难直接修改模型本身,但可以尝试借用外部工具克服这一问题:集成了各种MCP的平台Smithery上有个长期高居榜首的MCP ——Sequential Thinking,为大模型的结构化思维提供了一个实用的解决方案。


一、Sequential Thinking MCP 是什么?


Sequential Thinking MCP(Model Context Protocol)是一种结构化思维协议,旨在引导大模型进行多步骤、分层次的逻辑推理。其核心价值在于:

● 动态问题拆解:将复杂问题分解为有序子任务,形成可执行的“思考链”

● 反思与分支机制:每轮思考支持动态调整路径,根据新信息修正决策

● 工具协同能力:无缝整合搜索、代码执行等外部工具(如Brave Search/Fetch)

与Claude 3.7、DeepSeek R1等模型的内置推理能力不同,Sequential Thinking MCP是独立于模型的协议层,可适配多种基础模型,提供更高阶的思维框架。


二、如何安装配置 Sequential Thinking MCP?


Sequential Thinking MCP的配置非常简单,直接将以下内容添加到您的 MCP客户端中即可:


{  "mcpServers": {    "sequential-thinking": {      "command""npx",      "args": [        "-y",        "@modelcontextprotocol/server-sequential-thinking"      ]    }  }}


三、Sequential Thinking MCP的主要应用场景有哪些?


以下情况非常适合使用Sequential Thinking MCP:

● 将复杂问题分解成步骤

● 具有修订空间的规划与设计

● 可能需要路线修正的分析

● 初始时可能不清楚全部范围的问题

● 需要在多个步骤中保持上下文的任务

● 需要过滤掉无关信息的情况


一言以蔽之,Sequential Thinking MCP最适合需要系统性思考和分步骤解决的复杂任务。根据实际使用经验和社区反馈,以下是几个高价值应用场景:


1. 软件开发规划


在软件开发中,需求分析、架构设计和项目规划往往需要系统性思考。Sequential Thinking MCP 可以帮助开发者将复杂需求拆解为清晰的步骤,生成架构设计图,并制定详细的项目计划。


2. 科研课题管理


科研工作通常涉及多阶段的研究和验证。Sequential Thinking MCP 可以帮助研究人员系统性地规划实验设计、数据分析和论文撰写流程,确保研究过程的完整性和可追溯性。


3. 头脑风暴与方案推演


在创意工作和决策过程中,需要多角度思考和方案比较。Sequential Thinking MCP 可以帮助用户进行多路径推演,分析不同方案的优缺点,最终选择最优解决方案。


4. 商业战略与市场规划


企业在制定关键战略或进入新市场时,面临着巨大的不确定性和复杂性。Sequential Thinking MCP 可以作为一个战略规划辅助工具,帮助决策者将宏大的目标分解为可管理的步骤,包括市场分析、战略选项生成、多维度系统性比较与评估、行动计划与KPI制定等。


5. 个人成长路径规划


职业发展和技能提升需要长期规划和阶段性目标。 Sequential Thinking MCP 可以帮助个人将模糊的长期目标拆解为可执行的短期任务,形成清晰的发展路径。


四、Sequential Thinking MCP给大模型提供了什么工具?


Sequential Thinking MCP的核心原理是给AI提供了一个辅助思考的工具,AI可以反复调用这个工具从而形成多轮次、逐步演进的思考路径:

sequentialthinking


作用:促进详细、逐步的问题解决和分析思考过程。

输入:

● thought (字符串): 当前思考步骤

● nextThoughtNeeded (布尔值): 是否需要另一个思考步骤

● thoughtNumber (整数): 当前思考编号

● totalThoughts (整数): 估计所需的总思考次数

● isRevision (布尔值, 可选): 是否修改之前的思考

● revisesThought (整数, 可选): 正在重新考虑哪个思考

● branchFromThought (整数, 可选): 分支点的思考编号

● branchId (字符串, 可选): 分支标识符

● needsMoreThoughts (布尔值, 可选): 如果需要更多思考



五、 真实案例:用 Sequential Thinking MCP 让AI用结构化思维编写测试用例


在下面的案例中,我在 Trae 中使用同样的大模型(DeepSeek-V3-0324)和同样一份任务提示词,对比使用 Sequential Thinking MCP 前后生成的测试用例效果。

任务提示词


## 任务背景:请根据提供的需求描述,为给定功能的需求优化编写全面的测试点## 要求:- 只编写测试点,无需包含测试用例的详细要素(如执行步骤)- 测试点应尽可能全面地覆盖所有主要的功能路径、边界条件以及异常情况处理- 请按照三层结构组织测试点:- 第一层:主要功能模块- 第二层:细分子功能- 第三层:具体测试点- 输出格式使用markdown格式:- 一级标题(#)表示主要功能模块- 二级标题(##)表示子功能模块- 无序列表(-)表示具体测试点## 输出格式示例:```markdown主要功能模块1## 细分子功能1- 测试点1- 测试点2## 细分子功能2- 测试点3- 测试点4主要功能模块2## 细分子功能3- 测试点5- 测试点6```## 需求描述:【电商平台优惠券功能需求描述】5.1 用户端功能5.1.1 领取优惠券用户点击“领取”按钮后,系统验证是否满足领取条件(如是否登录、是否达到领取上限);成功领取后,优惠券进入用户账户,并记录领取时间;若领取失败,提示具体原因(如已达上限、已过期等);5.1.2 查看优惠券用户可在“我的优惠券”页面查看:所有优惠券列表(包括待生效、可使用、已过期、已使用)优惠券名称、金额、使用条件、有效期等信息支持按状态筛选5.1.3 使用优惠券下单结算时,系统自动筛选当前订单可使用的优惠券;用户选择优惠券后,系统实时计算应付款金额;若不符合使用条件,提示不可用原因;订单提交成功后,优惠券状态变更为“已使用”;


使用Sequential Thinking MCP之前:


DeepSeek一气呵成,生成了16条测试点:



使用Sequential Thinking MCP之后:


在Trae中配置如下:

配置好MCP后,需要创建智能体,定义其角色并为其选定可供使用的MCP:

(PS:我觉得Trae这一点上设计的非常好,可以为不同的智能体指定不同的MCP,避免同一智能体的MCP配置过多导致的提示词膨胀和工具选择困难问题)

引导智能体使用sequential-thinking MCP的专用提示词:


## 角色:你是一名资深软件测试工程师,精通ISTQB标准及敏捷测试方法论## 技能:你非常擅长使用sequential-thinking这个思维管理工具来进行结构化思考;你的思维非常周密,总是保证自己编写的测试点尽可能地全面、详细、无遗漏## 要求:在分析需求并编写测试点时,你必须使用sequential-thinking工具:- 把大任务分解为可管理的子任务,通过多轮思考逐步完成- 分层设计测试点:业务流 → 功能模块 → 操作节点- 自顶向下地编写测试点,从概要到详细,先整体后局部- 自我检查:每一轮输出后需要严谨认真地反思上一次输出的结果是否有错误、遗漏和偏离需求的地方,并及时纠错和调整- 思考轮数不低于6轮,且需要有发散脑暴意识

智能体配置:


智能体使用MCP进行多轮思考

最终生成了30条测试点,层次结构比之前更清晰:


# 电商平台优惠券功能测试点## 5.1.1 领取优惠券### 正常领取- 验证已登录用户可成功领取优惠券- 验证优惠券正确存入用户账户- 验证领取时间记录准确### 领取条件验证- 验证未登录用户无法领取- 验证达到领取上限时无法继续领取- 验证已过期优惠券无法领取### 异常场景- 验证并发领取时的数据一致性- 验证网络中断时的领取失败处理- 验证服务器错误时的友好提示## 5.1.2 查看优惠券### 列表展示- 验证所有状态优惠券正确显示- 验证优惠券信息完整(名称、金额、条件、有效期)- 验证分页功能正常### 筛选功能- 验证按状态筛选准确(待生效/可使用/已过期/已使用)- 验证多条件组合筛选- 验证空状态下的UI展示### 数据准确性- 验证优惠券金额显示正确- 验证有效期计算准确- 验证使用条件描述清晰## 5.1.3 使用优惠券### 自动筛选- 验证系统自动筛选出可用优惠券- 验证不可用优惠券被正确过滤- 验证筛选条件实时更新### 金额计算- 验证优惠金额计算准确- 验证多张优惠券叠加使用规则- 验证最低消费门槛限制### 状态变更- 验证订单提交后优惠券状态变更为"已使用"- 验证取消订单后优惠券状态恢复- 验证退款场景下的优惠券处理### 边界条件- 验证优惠券过期前最后一分钟使用- 验证最大优惠金额边界- 验证并发使用时的数据一致性



教程评分

4.8 (1280 教程评分)

评论 (0)

睡觉动画