故事是这样的。
每次版本迭代,测试同学最头疼的事之一,就是对着几十页需求文档,一行一行抠测试点,再一条条填 Excel 用例。需求改一版,用例跟着重写一遍。模块一多,光是登录、注册、购物车,就能耗掉大半天。
我最近搭了一套 Dify + 大模型的 Chatflow 工作流,把这件事尽量自动化了。上传需求文档,输入一句「针对以上需求,生成登录模块测试用例」,等一会儿,就能下载一份结构完整的 Excel 测试用例表。
实测用 LemonShop 商城需求文档跑登录模块,一次生成了 138 条用例,编号、模块、步骤、预期结果都齐。不是替代人工评审,而是把「从 0 到 1 写初稿」这件事,从小时级压到分钟级。
一、它到底解决什么问题
传统写用例的路径,大家太熟悉了。
读需求 → 脑补场景 → 查等价类/边界值 → 手工填表 → 评审修改 → 需求变更再来一轮。重复劳动多,还容易漏隐性需求,比如空值、越界、连续失败锁定这类边界场景。
Dify 在这里扮演的角色,不是「又一个聊天机器人」,而是一个可编排的 AI 流水线。你把需求文档喂进去,它按固定步骤走:
文档提取器,把 Word/PDF 正文抽出来
第一个 LLM 节点,从需求里挖掘测试点(边界、异常、场景)
第二个 LLM 节点,把测试点展开成标准用例表格
Markdown 转换器插件,一键输出 Excel
对你而言,价值就三点:省时间、覆盖更全、格式统一。初稿生成后,你仍然要做评审和裁剪,但起点已经从空白表格,变成一份可讨论的完整草案。
二、工作流全景,六步串起来
在 Dify 里选择创建空白应用 → Chatflow,应用名可以叫「依据需求生成测试用例」。整个编排逻辑如下。
开始 → 文档提取器 → 生成测试点(LLM) → 生成测试用例(LLM) → Markdown 转 XLSX → 直接回复
每个节点的职责很清晰。文档提取器读 sys.files 里的上传文件;两个 LLM 节点分工协作,先发散再收敛;最后把 Markdown 表格转成可下载的 xlsx 文件。
三、关键节点怎么配
3.1 文档提取器
输入变量选开始节点的 sys.files,支持 Word、PDF 等常见格式。输出 text 会作为后续 LLM 理解需求的上下文来源。
3.2 生成测试点(第一个 LLM)
模型可以选 DeepSeek-Chat 或其他你手头顺手的模型。上下文接上一步文档提取器的 text;USER 侧接 sys.query,用来接收类似「生成登录模块测试用例」这样的模块范围指令。
系统提示词是这套方案的灵魂。核心要求模型扮演专业测试工程师,按四步执行:需求深度挖掘 → 测试点提炼(等价类、边界值、场景法、错误推测等)→ 异常情况考虑 → 用户视角验证。输出只要测试点列表,Markdown 格式,不要详细用例。
举个文档里的示例。输入「用户名 6-20 位字母数字,密码 8-16 位且含大小写和特殊字符」,输出会覆盖:边界长度、纯数字/纯字母密码、空值、连续 5 次错误锁定等测试点。这一步决定了后面用例的覆盖面。
3.3 生成测试用例(第二个 LLM)
上下文改接「生成测试点」节点的输出。系统提示词要求把每个测试点展开为标准表格,表头固定六列。
3.4 Markdown 转 Excel
在 Dify 工具视图搜索Markdown 转换器插件,下载安装后,在工作流里添加「Markdown 转 XLSX 文件」节点。输入变量选上一步 LLM 的 Markdown 输出,下游接「直接回复」,回复内容设为转换后的 xlsx 文件。
到这一步,用户侧看到的就是可下载的 Excel,而不是一大段复制粘贴的文本。
四、调试与实战
工作流搭好后,还有两个小设置别忘了。
第一,点「预览 → 功能 → 管理」,开启文件上传,勾选文档类型。第二,在调试窗口上传需求文档,输入指令,例如「针对以上需求文档,生成登录模块的测试用例」,点运行。
跑通后,聊天窗口会返回 xlsx 附件,下载打开即可看到完整用例表。LemonShop 登录模块实测输出包含 TC-LG-0001 到 TC-LG-0138,覆盖账号密码登录、手机号登录、异常输入、锁定策略等场景。你只需做删减、补充和优先级标注。
五、几点真心话
这套方案不是「上传文档就万事大吉」。AI 生成的用例需要人工评审,尤其是复杂业务规则、权限矩阵、并发场景,模型可能理解偏差。
我的建议是:把 Dify 工作流当作测试开发的提效工具,而不是评审替代品。Prompt 可以按你们团队的用例规范微调表头、编号规则;也可以在工作流里加「变量聚合器」做多文档合并,或加第三个 LLM 做用例去重。
从测试方法论迁移的角度看,传统「需求分析 → 用例设计 → 文档输出」并没有变,变的是中间「从需求到初稿」的执行者,从纯手工变成了 AI 辅助 + 人工把关。
六、资料自取
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧。如果想第一时间收到推送,也可以给我个星标⭐~
谢谢你看我的文章,我们,下次再见。