AI 实践探索:辅助生成测试用例
背景
目前我们的测试用例主要依赖人工生成和维护,AI 时代的来临,我们也在思考“AI 如何赋能业务”,提出了如下命题:
“探索通过 AI 辅助生成测试用例,完成从需求到测试用例生成的穿刺”。
目标
找全测试路径
辅助生成测试用例
实践案例:登录注册流程
自然语言描述需求
需求名称:注册登录流程
需求描述:
1、注册和登录在同一个页面,有 2 个按钮,一个注册,一个登录,用户输入用户名、密码进行登录或者注册
2、首页:加载一张图,有个退出按钮,点击则退出首页
注:这里只是为了验证思路,需求描述会比较简单,实际需求考虑会更完善。
如何找全测试路径
使用 LLM 生成 mermaid 格式的状态机描述
使用Dify 搭建的工作流:

将前面的需求描述作为输入参数,提供 Prompt 模板告诉 LLM,如下所示:

LLM 生成的 mermaid 状态机描述:
Markdown 对 mermaid 支持友好,可以直接渲染成状态机图:

这里选择 Mermaid 来描述状态机的理由,主要是 Mermaid 天然适合文档化,代码轻量且无额外依赖,无需处理图片格式的一些问题。
使用 AI 帮我们开发工具
前面通过 LLM 能够帮我们理解需求生成状态机图,如果想基于状态机找全测试路径,我们尝试使用 AI 编程工具来辅助生成规则工具,来确保每次遍历的路径是一致的。
比如 Cursor:

通过多轮的对话和人工修正,Cursor 能够很高效的帮助我生成符合预期的代码,但仍需要人工去验证和调试。
核心路径生成算法:
根据路径生成算法遍历生成的路径索引:

如何生成测试用例
用例关键要素
前置条件:描述复现测试场景所需的条件;
操作步骤:描述测试场景下用户的操作行为;
预期结果:描述测试场景下,用户执行完操作预期得到的结果。
示例:
LLM 生成测试用例

工作流设计:
输入需求描述和测试路径
设计 prompt 提示词,要求 LLM 按固定格式输出测试用例
生成的测试用例结果示例:
这里可以进一步将 json 数据转成 xmind 或 excel 格式的文件。
收益
价值思考? 几个方向:
AI 辅助建模(状态机、类图),提升研发需求建模效率和规范
释放助理生成测试用例的生产力,转变为 review/修改用例的角色
AI 辅助生成符合业务规则的可测试数据,提升构造数据的效率
经验总结
使用 AI 帮助我们进行自然语言推理和图解析
要让 AI 生成的测试用例更准确,需要精确描述需求,对需求进行建模,描述清楚业务规则
使用 AI 编程工具帮助我们开发工具,比如有明确规则的工具开发
通过搭建 AI 工作流完成需求穿刺
附录
Dify 文档: https://docs.dify.ai/zh-hans
版权声明: 本文为 InfoQ 作者【巫山老妖】的原创文章。
原文链接:【http://xie.infoq.cn/article/65397b01b0380494c39d2ff91】。文章转载请联系作者。
评论