AI能力爆发:随着科技的发展,AI能力不断提升,无论是国内还是国外,各大公司在不断推出自己的AI大模型。对于测试而言,基于AI大模型进行测试用例生成也逐渐从梦想变成现实。
公司对AI发展的支持:酷家乐作为3D设计领域头部企业,一致致力于通过AI赋能用户提升效率,公司内部也通过AI中台对各个业务线提供能力支持。作为测试团队,内部也成立了AI虚拟小组,专门研究如何通过AI进行测试提效。
提高用例编写效率:测试用例的编写是测试人员的一项基本技能,其质量对需求验证、测试阶段乃至最终的产品上线具有重要影响。然而,传统的测试用例编写方法通常会耗费测试人员大量的时间和精力。借助AI技术自动生成初步的测试用例,随后由测试人员进行审核和优化,可以显著缩短用例的准备时间,从而提高测试工作的效率。
二、平台介绍2.1 认识平台这是一个基于AI大模型的测试用例生成平台,致力于通过AI为测试同学提升用例编写效率。平台集成了三种AI引擎,支持多种输入方式、支持用例在线增删改、支持两种用例导出方式。
平台框架图如下
2.2 用例生成方式——支持三种方式输入直接生成:在【直接生成】tab下,将需求内容粘贴进输入框内,点击【生成用例】按钮,即可直接进入用例生成环节。图片上传:在【直接生成】tab下,通过点击【以图识需】按钮上传要进行用例生成的图片。手动调整识别结果之后点击【生成用例】按钮,即可进入用例生成环节。自由prompt方式生成:在【自由生成】tab下,将需求内容粘贴进需求输入框内,用户可以手动调整平台提供的prompt内容,调整完成之后点击【生成用例】按钮,即可进入用例生成环节。2.3 用例增删改平台支持在线针对生成的测试用例进行编辑,新增和删除操作。具体操作方式如图所示。
2.4 用例导出——支持两种导出方式直接导入到公司内部用例管理平台,可以直接发起用例评审,创建测试计划等操作。导出xmind:导出为本地.xmind文件,可以继续在本地针对用例进行一些操作。三、用例生成流程由于大模型的响应和结果处理是一个漫长的过程,通常需要几十秒的时间,因此我们采用了离线生成的方式,由前台页面轮询任务状态接口,来判断用例是否生成完成,当前端接收到用例生成完成之后再通过接口拉取生成结果。
一个需求的用例离线生成大致可以分为以下步骤:需求落库,定时任务拉取需求内容,需求预处理,组装prompt,调GPT服务生成用例,用例解析,生成失败重试,任务状态更新,用例落库
四、工具优化过程在工具建设的过程中,我们也遇到了不少的困难。其中最主要的问题就是用例生成失败问题,在初期,大概有超过50%的生成任务会出现失败问题。这是一个比较高的数字,针对失败问题,我们也做了很多的研究和优化工作。
4.1 原因分析单个服务的稳定性问题:早期时,我们只对接了一个GPT服务。当这个服务出现了一些不稳定的问题时,如网络问题,都会直接导致我们的用例生成任务失败。GPT服务的输入长度限制:GPT服务支持的输入内容是有长度限制的,当用户输入内容超出长度限制时会直接返回失败结果。这就导致现有能力不支持大需求文本输入。技术实现问题:前端技术实现原因导致请求直接被浏览器block问题。4.2 服务不稳定问题处理针对GPT服务的稳定性问题,我们的主要做了两方面的优化:
增加失败重试机制。在生成失败的情况下,进行2次请求重试。从实际使用角度来看,这种方式效果不明显,因为重试时间间隔基本是秒级的,在这么短的时间内不稳定问题不会得到快速解决。引入其它大模型。如2.1中平台框架图所示,我们在GPT服务的基础上,引入了文心一言和minimax两个大模型作为备用用例生成引擎。当GPT服务生成失败之后,会尝试使用备用引擎进行用例生成,这种方式能明显解决单个GPT服务不稳定的问题。4.3 长度受限问题处理针对GPT服务支持的长度存在限制问题。最基础的解法是使用备用引擎进行用例生成,但是实际使用下来,备用引擎的生成效果远不及GPT服务的生成效果好。因此,我们借鉴了敏捷迭代的思想,引入文心一言服务作为产品经理角色进行需求理解,使用文心一言理解出的需求点再调用GPT服务进行用例生成,这样就可以将文心一言的中文处理优势和GPT服务的用例生成能力优势进行结合。
4.4 其它优化在向后端发起生成任务前,前端对用户输入内容进行加密,避免出现XSS(跨站脚本攻击,Cross-site scripting)安全问题在日常用例编写过程中,每个测试同学的用例编写习惯不同。因此,我们开放了自由prompt功能,支持用户自由调试prompt内容,找到最适合自己的生成方式。五、总结&展望5.1 应用成果
本文介绍了一个基于多AI引擎的测试用例生成工具,并且提供了完善的用例增删改和导出能力。简单分析了平台在建设过程中遇到的一些问题以及相关问题的解决实践。目前平台已累计创建用例生成任务300+,生成用例2000+,用例生成成功率 80%+。可以在一定程度上提升测试人员的用例编写效率。
5.2 局限和问题分析
缺乏领域知识:AI在测试用例生成过程中可能会缺乏对特定领域或业务逻辑的深刻理解,导致生成的测试用例不够全面或准确。进而导致遗漏某些关键路径或边界条件。对非功能性需求处理能力有限:AI在处理非功能性需求(如性能、安全性等)方面的能力相对较弱,可能无法生成包括这些方面的全面测试用例。复杂性和深度理解不足:对于特定领域或高度复杂系统,AI可能无法提供足够深入和全面的测试用例生成,需要更多人类专家的介入和理解。用例生成效果难以评估:AI生成的用例有多少是可以直接被采用的,有多少是完全被废弃的,当前还缺少有效的评估标准。5.3 未来展望
优化用户体验:建设用户中心,可以让用户自主管理生成任务和生成结果。提升用例生成能力:根据现有用例数据建设知识库辅助AI进行用例生成,提升生成精确度。建设用例质量评估机制:通过用户的增删改行为对生成结果进行评估,反哺AI引擎提升生成能力。作者:工云
来源-微信公众号:酷家乐技术质量
出处:https://mp.weixin.qq.com/s/8rwk8hC1msXW9PRk_mea_w