随着人工智能技术的快速发展,尤其是在自然语言处理(NLP)、计算机视觉和生成对抗网络(GANs)等领域,AIGC(AI Generated Content)得到了广泛应用,这一技术的进步使得内容创作变得更加高效与多样化,推动了各个行业的创新与变革。对于测试而言,基于AI进行测试用例生成也逐渐从梦想变成现实。
目前我们在编写测试用例时,大部分依赖人工编写,在实际编写过程中主要存在以下问题:
因此,借助AI技术自动生成初步的测试用例,随后由测试人员进行审核和优化,可以显著缩短用例的准备时间,提高测试工作的效率。
利用AI技术自动生成测试用例,缩短编写测试用例的时间;
通过AI辅助生成测试用例,提升测试用例的覆盖范围和可读性。
“RAG:指的是检索增强生成(Retrieval-Augmented Generation),这是一种结合了信息检索和文本生成的技术,通过检索相关信息来增强生成模型的能力,提高生成文本的相关性和准确性。”
“LLM:指的是“大型语言模型”(Large Language Model),这些模型是基于深度学习技术构建的,专注于自然语言处理(NLP),能够处理和生成自然语言文本数据。”
整个AI生成测试用例的功能主要分为三个方面:
1.选择相关需求的用例模块,点击“AI生成用例”按钮跳转至AI生成用例交互页面:
2.从需求PRD复制功能点,粘贴到输入框并发送:
1.评估AI提取出的测试点,选择可用的测试点并采纳到左侧的测试点列表中;
2.手动增/删/改左侧测试点列表中的测试点:
1.点击生成测试用例按钮,等待测试用例生成;
2.测试用例生成成功后,可直接对生成的用例进行增/删/改,点击保存用例按钮将生成的用例保存;点击同步平台按钮将生成的用例同步至用例平台:
3.用例同步至平台采用的增量同步方式,不会将平台已有的用例覆盖。
我们制定了以上4种实践策略,分别在A业务域和B业务域进行功能的试用,探索AI辅助生成测试用例的落地方案,具体包括以下内容:
“A业务域主要面向公司的客户服务团队,包括一线客服、技术支持人员以及管理层等,提供了包括工单管理、实时聊天、知识库和客户反馈分析等多种功能,以提升客户支持的效率和服务质量,确保客户始终能够获得优质的服务体验。当前已上线的产品主要涉及Web端、PC端和APP端。
B业务域主要致力于运用产品、技术、数据等手段,全面提升公司的效率,该业务域的用户群体涵盖了公司各个部门的员工,规模量级庞大,涉及上万名员工的日常工作需求,目前已上线的产品主要集中在Web端,包括项目管理、内部协同和沟通、办公效率等多种功能。”
不同复杂度的需求其用例生成效果存在差异,根据需求的复杂程度,建立简单需求/复杂需求划分标准,对比不同需求的用例生成效果,优先选取生成效果较好的简单需求进行功能的使用。参考需求划分标准如下:
简单需求:研发资源<=7人日、测试资源<=1人日的需求
复杂需求:研发资源>=7人日、测试资源>=1人日的需求
其次,部分需求的PRD文档存在功能点描述简单、含糊不清等情况,直接复制这些功能点进行AI用例生成,用例生成的准确性和全面性都较差。因此,可以先对这种情况的输入进行预处理,列举出具体的功能点和预期结果,再输入到AI进行测试用例生成,提升用例生成的效果,具体示例如下:
AI生成用例时,可以分点输入功能点,以生成更多、更详细的测试点,包括一些边界、异常场景等,提高采纳率和覆盖率。具体的对比效果如下:
问题描述:AI生成的评价指标只有采纳率,难以全面评估AI生成测试用例的具体效果。
解决方案:在已有采纳率的基础上,新增覆盖率、需求使用率两个评价指标,分别刻画AI生成用例的实际覆盖程度以及各域AI生成用例功能的具体使用情况,其具体计算公式如下:
后续改进:目前仍然无法衡量具体的提效效果,后续会配合平台探究更多的评价数据和指标,例如单需求的用例生成时间、用例编写理论提效时间等。
问题描述:测试点较多时,AI生成测试用例时间太长,有时界面卡死,一直显示正在生成中。
解决方案:更换新的AI,切换为GPT-4o-mini,优化了AI生成用例的时间,一般生成时间不超过1min;同时解决了因平台刷新机制导致的界面卡死无法实时刷新的问题。
问题描述:AI生成的测试用例准确度较低,且存在较多重复用例。
解决方案:引入RAG技术,将业务域的历史存量用例作为AI的背景知识库信息,检索生成更准确的测试用例。同一需求接入RAG前后的生成效果对比如下:
接入RAG前:AI总结测试点5条,AI生成11条用例,采纳8条用例,采纳率:72%;
接入RAG后:AI总结测试点6条,AI生成14条用例,采纳12条用例,采纳率:85%;
接入RAG前:
接入RAG后:
接入RAG前:AI总结测试点7条,AI生成23条用例,采纳12条用例,采纳率:52%;
接入RAG后:AI总结测试点8条,AI生成17条用例,采纳16条用例,采纳率:94%;
接入RAG前:
接入RAG后:
问题描述:目前用例平台所使用的AI自由prompt的能力太差,无法联系上文信息持续进行命令提示,优化所生成的测试点。
解决方案:平台对功能进行优化,修复了AI丢失上下文关联的缺陷,支持自由prompt,AI能够根据用户输入命令结合上文信息对生成的测试点进行调整:
初始输入:
输入命令,结合上文信息拓展测试点:
在上述行动标准的实施和关键项推进的同时,我们对A业务域和B业务域持续多个迭代的AI生成测试用例数据进行了梳理整合,评估AI生成用例的目标达成情况 。
通过分析对比需求维度和迭代维度的数据图表,可以得出以下几点结论:
综上所述,本文的探索成功实现了得物基于AIGC在质量保障方面的创新应用,通过这种AI生成测试用例的方式,我们能够显著降低人工编写用例的时间和成本,提升测试用例的准确性和规范性。后续我们会不断优化AI生成测试用例的功能,确保其能够生成更准确的用例,覆盖更广的测试场景,在未来的测试工作中发挥更大的价值。
文 / 南瓜&齐
关注得物技术,每周更新技术干货
要是觉得文章对你有帮助的话,欢迎评论转发点赞~
未经得物技术许可严禁转载,否则依法追究法律责任。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。