基于AI的测试用例生成工具
一、背景
说到AI,现在真的是爆发式增长。国内外各大公司都在疯狂推出自己的大模型,对测试行业来说,基于大模型自动生成测试用例这事儿,已经从前几年的“天方夜谭”变成了触手可及的现实。
在酷家乐,公司本身就在大力推动AI赋能。作为3D设计领域的头部玩家,通过AI中台给各个业务线提供能力支持早就成了常态。测试团队这边也没闲着,内部专门成立了AI虚拟小组,目标很明确——研究怎么用AI把测试效率提上去。

提效率这事儿,最直接的切口就是测试用例编写。写用例是测试人员的基本功,用例质量直接影响需求验证、测试阶段乃至最终上线。但传统写法实在太耗时间精力。如果能先用AI自动生成初版用例,再由人工去审核优化,用例准备时间就能大幅缩短。这就是整个项目的出发点。
二、平台介绍
2.1 认识平台
这是一个基于AI大模型的测试用例生成平台,核心目标很纯粹:帮测试同学把写用例的效率提上去。平台集成了三种AI引擎,支持多种输入方式,用例可以在线增删改,还支持两种导出方式。整体框架如下:
2.2 用例生成方式——三种输入入口
目前平台提供三种生成方式,覆盖不同使用场景:
- :在【直接生成】tab下,把需求内容直接粘贴进输入框,点击【生成用例】按钮,就进入生成流程了。
直接生成
- :还是在【直接生成】tab下,点击【以图识需】按钮上传图片。系统会先做图片识别,手动调整识别结果后,再点击【生成用例】。
图片上传
- :在【自由生成】tab下粘贴需求,用户还可以手动调整平台提供的prompt模板。调整满意后点【生成用例】按钮即可。
自由prompt方式
2.3 用例增删改
生成出来的用例不满意?没问题,平台支持在线编辑、新增和删除操作。具体操作方式如图所示。
2.4 用例导出——两种方式
生成的用例不是只能看看,我们提供了两种导出方式:
- :可以直接发起用例评审、创建测试计划,一气呵成。
导入内部用例管理平台
- :导出到本地,后续在本地继续编辑操作。
导出为xmind文件
三、用例生成流程
大模型响应和结果处理是个漫长的过程,通常需要几十秒。所以采用了离线生成方式——前台页面轮询任务状态接口,判断用例是否生成完成。一旦完成,再通过接口拉取结果。
一个需求的用例离线生成大致分这么几步:需求落库 → 定时任务拉取需求内容 → 需求预处理 → 组装prompt → 调GPT服务生成用例 → 用例解析 → 生成失败重试 → 任务状态更新 → 用例落库。
四、工具优化过程
工具建设过程中遇到的困难不少,最头疼的当属用例生成失败问题。初期,超过50%的生成任务都会失败,这个数字确实让人捏把汗。针对失败问题,我们做了不少研究和优化。
4.1 原因分析
- :早期只对接了一个GPT服务,这个服务一旦出现网络等不稳定问题,生成任务就会直接挂掉。
单个服务稳定性问题
- :大模型对输入内容有长度限制,用户输入超长时直接返回失败。这意味着大需求文本根本没法处理。
GPT服务输入长度限制
- :前端技术实现导致请求直接被浏览器block。
技术实现问题
4.2 服务不稳定问题处理
针对GPT服务稳定性,做了两方面优化:
- :生成失败后自动重试2次。但实际效果一般——重试间隔是秒级的,不稳定问题短时间根本缓解不了。
增加失败重试机制
- :如平台框架图所示,在GPT基础上引入了文心一言和minimax作为备用引擎。当GPT生成失败,会自动切换到备用引擎。这个办法才真正解决了单个GPT不稳定的问题。
引入其他大模型
4.3 长度受限问题处理
长度受限问题,最直接的解法是用备用引擎。但实际使用下来,备用引擎生成效果远不如GPT。最后我们借鉴了敏捷迭代的思路——
引入文心一言服务扮演产品经理角色进行需求理解
4.4 其他优化
- 前端在发起请求前对用户输入进行加密,防止XSS(跨站脚本攻击)安全问题。
- 测试人员编写习惯各不相同,因此开放了自由prompt功能,支持用户自己调prompt,找到最顺手的生成方式。
五、总结与展望
5.1 应用成果
本文介绍了一个基于多AI引擎的测试用例生成工具,提供了完善的用例增删改和导出能力,也分析了建设过程中遇到的一些问题及解决实践。目前平台已累计创建用例生成任务300+,生成用例2000+,用例生成成功率80%+。从数据看,确实能在一定程度上提升用例编写效率。
5.2 局限和问题分析
- :AI缺乏对特定领域或业务逻辑的深刻理解,生成的用例可能不够全面或准确,容易遗漏关键路径或边界条件。
缺乏领域知识
- :对性能、安全性等非功能性需求,AI生成能力相对较弱。
非功能性需求处理能力有限
- :对于特定领域或高度复杂系统,AI可能无法提供足够深入和全面的用例生成,仍需要人类专家介入。
复杂系统理解不足
- :AI生成的用例有多少能直接采用、多少完全废弃,目前还缺少有效的评估标准。
效果评估困难
5.3 未来展望
- :建设用户中心,让用户可以自主管理生成任务和结果。
优化用户体验
- :基于现有用例数据建设知识库,辅助AI生成,提升精确度。
提升用例生成能力
- :通过用户的增删改行为反向评估生成结果,反哺AI引擎,持续提升生成能力。
建设用例质量评估机制