前言:
在《进击的巨人》中,当枭手握匕首,那句“看好了!巨人之力是这样用的!”不仅震撼了无数观众,也成为极致力量觉醒的经典宣言。
而在当今软件开发的世界里,我们也迎来了一位新的“巨人”——人工智能。它不再只是科幻小说里的概念,而是真实地走进了我们的开发流程、测试体系,甚至是每一个细节的优化中。
随着软件复杂度的不断提升,传统的手工编写测试用例方式效率低下且容易遗漏边界场景。为了提升测试效率与质量,我们尝试引入 AI 技术,结合业务需求自动生成测试用例,并将其集成到我们的 MS平台中,实现智能化测试流程。
本文将带你一起“释放 AI 的巨人之力”,讲述我们如何借助 Dify 平台,在 MS 系统中实现 AI 自动生成测试用例的全过程。
-看好了!AI 之力是这样用的!
技术选型:为何选择 Dify 而不是 Spring AI?
在调研阶段,对比了多个 AI 集成方案,最终选择了 Dify 作为 AI 接入框架,主要基于以下几点考虑:
1. 图形化界面 + 拖拽式构建 AI 应用
-
Dify 提供了可视化的流程编排工具,可以轻松配置 Prompt、知识库、逻辑分支等模块。
-
相比之下,Spring AI 更偏向代码开发,需要手动封装模型调用逻辑,学习成本较高。
2. 支持国内主流大模型厂商
-
Dify 原生支持通义千问、DeepSeek等中文模型,并提供良好的中文理解和输出能力。
-
Spring AI 更侧重于国际模型(如 OpenAI、Anthropic),对中文模型的支持有限。
3. 开箱即用的 AI 能力
-
Dify 提供了丰富的应用模板,可以直接部署并快速验证功能,省去了大量工程化工作。Dify 提供标准的 HTTP 接口,适用于任何语言栈的后端服务,便于集成进现有系统。
-
如果使用 Spring AI,则需要从零开始集成 LLM 接口、Prompt 管理、流式处理等功能。
准备工作:配置 Dify 工作流
我们通过私有化部署的 Dify 搭建了一个 AI 测试用例生成服务,并配置了如下核心组件:
1. Prompt 设计
在提示词设计中,我们明确要求 AI 输出特定格式的测试用例,例如 JSON 格式,以确保后续平台能正确解析和展示结果。(这里涉及一些行业敏感信息,不便展示)
2. 集成知识库(可选)
我们可以上传产品文档、接口说明、历史测试用例等资料,帮助 AI 更准确地理解业务逻辑,从而生成更贴合实际的测试用例。
3. 工作流编排
通过 Dify 的可视化编排功能,我们将“输入接口信息 → 调用模型 → 输出测试用例”这一流程固化下来,形成标准化的 AI 生成流程。
接入 MS 平台
完成 Dify 的配置后,我们在 MS 平台中集成了 Dify 提供的 RESTful API,具体步骤如下:
1. 用例场景输入
在ms平台输入提示词
这里做了一个简单的dialog交互,用户可以输入提示词(这里限定为AI生成用例的场景描述),并选择期望生成的用例数量(因为llm的输出token限制,并不能无限量的生成测试用例,所以这里设定一个期望值)
2. 结果解析与展示
点击【生成】,可以看到AI生成的测试用例会自动解析成 名称-前置-步骤-等级的列表格式到界面上,
在这里用户可以勾选需要采纳的用例,点击【导入用例】,用例会直接添加到当前项目的用例库
也可以选择【导出生成结果】,导出成excel文件,做进一步编辑
初步成果
-
显著提升测试用例覆盖率,特别是边界值、异常情况的覆盖;
-
减少测试人员重复劳动,提升整体测试效率;
-
实现了 AI 在测试流程中的初步落地。
后续优化方向
-
引入反馈机制,让测试人员对生成用例进行评分,持续优化 Prompt;
-
结合 RAG 技术,利用历史测试数据训练 AI,提高生成准确性;
-
将 AI 生成用例与自动化测试平台打通,实现闭环测试;
总结
通过 Dify 提供的图形化工具、中文模型支持和通用 API 接口,我们能够高效地将 AI 技术集成进 MS 平台,实现测试用例的智能生成。也希望官方可以尽快在开源版本中增加AI能力,让广大用户早日享受到AI的便捷。