基于大模型的测试用例自动生成服务探索

软件测试是软件开发生命周期中的重要节点,功能测试作为确保软件满足其规定功能的核心方法,长期以来一直依赖于测试人员的专业知识和经验。随着软件系统规模的扩大和功能的日益复杂化,传统的功能测试方法正面临着巨大挑战:首先,手动创建测试用例的过程撰写较为耗时;其次,受限于测试人员的个人经验和偏见,可能导致测试用例的覆盖面不够广泛,难以触及所有潜在的边缘情况和异常流程。

近两年,大模型通过其强大的数据处理能力,在各种应用场景中发挥出巨大的价值。在这种背景下,利用人工智能技术,更全面和高质量的测试用例的研究应运而生。

大模型生成测试用例研究方向

在开展调研前,我们分析了测试用例的生成过程,测试人员拿到业务需求后,首先对需求文档解读,结合业务背景和对需求理解,按照等价类划分法、边界值分析法的用例设计方法设计用例。在用例产出过程中,比较耗时且容易遗漏的是根据需求拆分功能点及结合功能点撰写测试用例这两个部分。针对上述两点,我们希望利用大模型强大的文字分析和语言输出能力,突破瓶颈,实现更高效的需求拆分和更全面的测试用例生成。

**1.规范业务需求描述,便于大模型理解需求。**在人工智能领域,尤其是涉及自然语言处理的大模型,对输入数据的质量有着较高的要求。业务需求描述着用户需求、功能描述及业务规则等关键信息,是大模型理解业务需求并生成测试用例的基础。详细、准确的文字描述能让大模型有效地捕捉需求的核心要点和细节,能够更加精准地输出测试人员想要的信息。规范业务需求描述通常包含以下几点。一是需求背景说明,有助于大模型了解需求的背景。二是功能说明,为了让大模型进行更精准的解析,功能说明应详细描述,包括输入、处理过程和预期输出。语言描述方面,描述逻辑清晰,避免歧义和模糊表述,可读性强,避免使用图片截图等不可直接解析和理解的文件格式。三是交互设计说明,即对业务流程中交互方面的说明,便于大模型设计测试用例。

**2.需求原子化拆分,大模型基于测试要点生成测试用例。**提示词Prompt是我们跟大模型沟通的有效途径,精心设计输入给大模型的提示语句,可以引导大模型进行更完整、更准确的输出。为了让大模型设计的测试用例更精准,大模型根据提示词要求,对业务需求进行理解,自动识别和提取需求文档中的关键信息,如功能描述、业务规则等,对需求逻辑点划分,将复杂需求分解为更小的、不可再分的测试要点。接着大模型基于提示词的要求和用例样例,根据测试要点生成测试用例集。

大模型生成测试用例实现思路

广发证券已私有化部署开源大语言模型通义千问Qwen2,大模型通过HTTP API提供访问服务。大模型生成用例服务部署在广发证券质量团队自研的一站式自动化测试平台上,一站式通过http接口调用大模型的能力生成测试用例(如图所示)。

图 基于大模型的测试用例自动生成服务流程图

以下是利用大模型实现自动生成测试用例的流程图以及一些关键节点说明。

需求导入:测试输入需求描述,或导入需求文档,加载到自动化测试平台。

测试要点生成:大模型接收业务需求描述,并对需求进行理解、数据清洗、提取需求中的测试要点。

测试要点调整:测试人员对大模型梳理的测试要点进行初审和调整,防止提取的测试要点缺失,导致生成测试用例覆盖范围不全。

测试用例生成:大模型基于测试要点和业务规则生成测试用例,测试人员通过一站式前端输入业务规则后,业务规则加载到大模型向量知识库,大模型生成用例时会进行向量知识库检索,匹配到与需求相关的业务规则,生成的用例会更贴近业务场景。

集成测试管理平台:大模型生成测试用例后,测试人员可对用例进行优化调整,以此确保用例的准确性和适用性,最终形成一份适用于该业务需求的测试用例集,可集成到测试管理平台,实现与现有的测试管理工具和自动化测试框架无缝对接。

大模型生成测试用例操作流程

为了详细地描述我们如何利用大模型生成测试用例,我们以一个具体的业务需求为例来进行演示。

第一步:用户登录一站式自动化测试平台。

第二步:录入业务需求。公募基金持仓详情页、个人养老金持仓详情页、跨境理财通北向通基金持仓详情页、理财产品持仓详情页、私募产品持仓详情页的持有收益率计算公式少了一个百分号%,需要补上(平均成本法、摊薄成本法的持有收益率弹窗都需修改) 请帮我生成测试用例。

第三步:录入业务规则。持有收益率是一个计算公式说明,不是指当前产品的持有收益率;持有收益率 =( 最新净值/成本价-1)×100% 。

第四步:大模型基于需求描述和Prompt,理解需求并生成测试要点,展示在平台前端界面上,测试人员可以对测试要点进行调整。

大模型理解需求和拆分测试要点的Prompt :当我输入产品经理关于需求的描述后,需要您帮助将其分解为原子化的要点。这些要点将是非常具体和明确的,便于我基于它们生成测试用例。我把需求描述发送给你,请严格按照模板,生成测试要点,不要多余解释,测试要点模板如下。

功能点:功能点1

测试要点:(1)测试要点描述1

          (2)测试要点描述2

第五步:基于第四步大模型生成的测试要点、业务规则和Prompt,多次调用大模型,生成测试用例,展示到平台前端界面上,测试人员可以对测试用例进行调整。

大模型基于测试要点生成测试用例的Prompt :作为测试用例生成专家,我希望我给你输入一个测试要点,你基于用户在知识库里的业务规则生成测试用例,测试用例生成方法可以是等价类、边界值等方法。

你需要输出测试用例概述、测试步骤,以及预期结果,测试用例格式请按照如下模板输出。

测试概述:验证客户年龄小于18岁,提示需临柜办理业务

前置条件:客户已开户

操作步骤:step1客户登录成功;

          step2可以办理该业务;

预期结果:提示客户年龄小于18岁,需临柜办理。

最后,用例调整完成后可导出并集成至测试管理平台。整个用例生成过程形成需求录入,需求解读、测试要点拆分、测试用例生成、执行、导入测试管理平台一个完整的测试用例生命周期的闭环。

大模型生成测试用例效果总结及展望

通过上述示例,我们展示了大模型理解业务需求,识别测试要点并生成测试用例的过程。在需求文档比较详细的前提下,单个测试要点可以生成约3~5个测试用例,平均每个测试用例生成时间约5s左右(根据功能点的复杂度以及用例生成方法的不同而有所差异)。经过人工对多个需求的大模型生成的测试用例与手工撰写的测试用例进行对比测试,发现两者的用例相似度、匹配度较高,且大模型生成的用例可以基本覆盖业务重点流程和异常业务场景。也就是说大模型生成测试用例在一定程度上可以简化测试人员的工作,允许测试团队将更多的精力投入到更高层次的测试策略和质量保证活动中。当然我们在实践过程中也发现大模型存在以下不足。

首先,大模型对输入数据的质量有比较高的要求。模棱两可或者过于简单的需求描述有可能让大模型理解业务存在偏差,导致无法输出测试人员想要的信息。

其次,大模型可能无法准确地理解某个领域的专业知识和术语,即使我们输入一些业务规则和约束辅助大模型理解用户需求和意图,但在进行向量知识库搜索时,也有可能会匹配到低质量文本,导致输出的测试用例和用户的意图有所偏差。这种情况下需要我们在调用大模型进行交互时对提示词和大模型生成的数据进行微调。

总之,大模型还有比较长的进化之路,自动生成用例只是测试提效的一小部分,未来我们还会继续尝试更多的大模型应用,将大模型与日常测试过程更加紧密地结合起来。

(此文刊发于《金融电子化》2024年12月下半月刊)

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值