最近,小编发现,有团队做了创新尝试,集合多个AI引擎搭建了一个自己的测试用例生成工具,目前已累计创建用例生成任务300+,生成用例2000+,用例生成成功率 80%+。
今天我们就来一起学习下平台框架是怎样的、用例是如何生成的、在这过程中都做了哪些优化、成果如何?
01 平台框架
这个基于AI大模型的测试用例生成平台,集成了三种AI引擎,支持多种输入方式、支持用例在线增删改、支持两种用例导出方式。
平台框架图如下:
支持三种方式输入介绍:
-
1.直接生成:点击【直接生成】,将需求内容粘贴进输入框内,点击【生成用例】按钮,即可直接进入用例生成环节。
-
2.图片上传:在【直接生成】tab下,通过点击【以图识需】按钮上传要进行用例生成的图片。手动调整识别结果之后点击【生成用例】按钮,即可进入用例生成环节。
-
3.自由prompt方式生成:在【自由生成】tab下,将需求内容粘贴进需求输入框内,用户可以手动调整平台提供的prompt内容,调整完成之后点击【生成用例】按钮,即可进入用例生成环节。
用例增删改:
此外,平台支持在线针对生成的测试用例进行编辑,新增和删除操作。具体操作方式如图所示:
用例导出——支持两种导出方式
-
直接导入到公司内部用例管理平台,可以直接发起用例评审,创建测试计划等操作。
-
导出xmind:导出为本地.xmind文件,可以继续在本地针对用例进行一些操作。
02 用例生成流程
大模型的响应和结果处理是一个漫长的过程,通常需要几十秒的时间,该团队最大的一个尝试是:采用了离线生成的方式!
由前台页面轮询任务状态接口,来判断用例是否生成完成,当前端接收到用例生成完成之后再通过接口拉取生成结果。
用例生成的流程图如下:
一个需求的用例离线生成大致可以分为以下步骤:需求落库,定时任务拉取需求内容,需求预处理,组装prompt,调GPT服务生成用例,用例解析,生成失败重试,任务状态更新,用例落库。
03 工具优化过程
1.发现问题:
在工具建设的初期,大概有超过50%的生成任务会出现失败问题,针对失败问题,他们团队也做了很多的研究和优化工作。
2.原因分析
-
单个服务的稳定性问题:开始,他们只对接了一个GPT服务。当这个服务出现了一些不稳定的问题时,如网络问题,都会直接导致我们的用例生成任务失败。
-
GPT服务的输入长度限制:导致现有能力不支持大需求文本输入。GPT服务支持的输入内容是有长度限制的,当用户输入内容超出长度限制时会直接返回失败结果。
-
技术实现问题:前端技术实现原因导致请求直接被浏览器block问题。
3.优化方案
3.1GPT服务的稳定性问题优化方案:
-
增加失败重试机制。增加失败重试机制,尝试2次请求,但效果不佳,因为秒级间隔无法迅速解决不稳定问题。
-
引入其它大模型。如平台框架图所示,我们在GPT服务的基础上,引入了文心一言和minimax两个大模型作为备用用例生成引擎。当GPT服务生成失败之后,会尝试使用备用引擎进行用例生成,这种方式能明显解决单个GPT服务不稳定的问题。
3.2长度受限问题优化方案
针对GPT服务支持的长度存在限制问题。最基础的解法是使用备用引擎进行用例生成,但是实际使用下来,备用引擎的生成效果远不及GPT服务的生成效果好。
因此,我们借鉴了敏捷迭代的思想,引入文心一言服务作为产品经理角色进行需求理解,使用文心一言理解出的需求点再调用GPT服务进行用例生成,这样就可以将文心一言的中文处理优势和GPT服务的用例生成能力优势进行结合。
3.3 其它优化
在向后端发起生成任务前,前端对用户输入内容进行加密,避免出现XSS(跨站脚本攻击,Cross-site scripting)安全问题。
在日常用例编写过程中,每个测试同学的用例编写习惯不同。因此,他们开放了自由prompt功能,支持用户自由调试prompt内容,找到最适合自己的生成方式。
04 成果展示及未来展望
成果展示:
该团队基于3个AI引擎搭建了一个自己的测试用例生成工具,并且提供了完善的用例增删改和导出能力。再通过对创建测试用例过程中出现的问题进行了复盘优化,目前该工具已累计创建用例生成任务300+,生成用例2000+,用例生成成功率 80%+。
未来展望:
-
优化用户体验:建设用户中心,可以让用户自主管理生成任务和生成结果。
-
提升用例生成能力:根据现有用例数据建设知识库辅助AI进行用例生成,提升生成精确度。
-
建设用例质量评估机制:通过用户的增删改行为对生成结果进行评估,反哺AI引擎提升生成能力。
看完上述的研究介绍,那么你觉得:
讨论1:对于文中未来展望,希望可以建设用户中心,用户可以自主管理生成任务和生成结果,那么你最关注的点是什么?
讨论2:你或你们公司开始用AI生成测试用例了吗?都采用的是哪种形式?
讨论3:你觉得是否有必要对AI生成的测试用例建设质量评估机制?为什么?
讨论4:有人认为AI生成测试用例只适合简单点的业务需求,复杂的、业务逻辑根本用不上,对此你的观点呢?
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。