首页 每日干货分享 大模型驱动软件功能测试变革:AI如何提升测试效率与覆盖广度

大模型驱动软件功能测试变革:AI如何提升测试效率与覆盖广度

发布时间: 浏览量:1 0

信息技术部董事总经理 李立峰

信息技术部 杜瑞罡 张世同 李娴 黄丛珊

软件测试在软件开发生命周期内是重要节点,功能测试作为保证软件符合规定功能的核心办法,长久以来一直依靠测试人员的专业知识与经验。随着软件系统规模变大以及功能愈发复杂,传统的功能测试方法正遭遇巨大挑战,第一,手动创建测试用例的过程撰写起来比较耗时,第二,受测试人员个人经验与偏见限制,可能致使测试用例的覆盖面不够广泛,难以涉及所有潜在的边缘情况与异常流程。

近两年,大模型依靠其强大的数据处理能力,于各类应用场景里发挥出巨大价值,在这样的背景状况下,借助人工智能技术,更兼具全面性质以及高质量水准的测试用例的研究随之出现了。

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

于开展调研的先前阶段,我们针对测试用例的生成进程予以剖析,当测试人员获取业务需求之后,先是针对需求文档展开解读工作,将业务背景与对于需求的理解两相融合,依照等价类划分法、边界值分析法这样的用例设计手段来设计用例。处于用例产出的进程当中,比较耗费时间并且易于出现遗漏情况的乃是依据需求拆分功能点以及结合功能点撰写测试用例这两个部分。针对上述提及的两点内容,我们期望借助大模型具备的强大文字分析以及语言输出能力,冲破瓶颈,达成更为高效的需求拆分以及更为全面的测试用例生成。

便于大模型理解需求,要规范业务需求描述。在人工智能那个领域,特别是涉及自然语言处理的大模型,对输入数据质量有着较高要求。业务需求描述出用户需求、功能描述以及业务规则等关键信息,它是大模型理解业务需求进而生成测试用例的基础。详细而准确的文字描述能让大模型有效捕捉需求的核心要点与细节,因而能够更加精准地输出测试人员想要的信息。规范业务需求描述通常涵盖以下几点,其一为需求背景说明,这有助于大模型了解需求的背景!其次是功能说明,要向受众清晰阐述,究竟怎样才能使得大模型达成更精准的解析效果,功能说明需进行详尽细致地描述,涵盖输入阶段的各项情况,连贯且有序的处理过程,以及最终的预期输出呈现。在语言这个维度上,进行描述时要确保逻辑清晰明了,全力规避产生歧义和模糊不清的表述,要具备很强的可读性,规避使用诸如图片截图等无法直接拿来解析和清晰理解的文件格式。其三是交互设计说明,也就是针对业务流程里交互这一方面所做的说明,借助它能够方便大模型去设计测试用例。

需求原子化拆分,大模型依据测试要点去生成测试用例,提示词属于与大模型沟通的有效途径,精心设计输入给大模型的提示语句,能引导大模型开展更完整、更准确的输出,为使大模型设计的测试用例更精准,大模型按照提示词要求,对业务需求理解,自动识别并提取需求文档里诸如功能描述、业务规则等关键信息,对需求逻辑点划分,把复杂需求分解成更小的、不可再分的测试要点。先接着,大模型依据提示词的要求,再根据用例样例,而后按照测试要点,生成测试用例集。

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

广发证券已开展私有性质的部署行动,针对开源的大语言模型通义千问Qwen2,此大模型是以HTTP API的方式来提供访问服务的。用于大模型生成用例的服务实行了部署操作,但所在之处为广发证券质量团队凭借自身研究、开发出的一站式自动化测试平台,该一站式平台借助http接口开展调用大模型相关能力的这一行为,进而生成出测试用例,情况如下图实际所展示的那样。

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

如下是借助大模型达成自动生成测试用例的流程图,还有一些关键节点的说明。

进行需求导入,测试输入需求描述,或者导入需求文档,将其加载到自动化测试平台中,。

功能测试自动化_大模型生成测试用例_ai 生成测试用例

业务需求描述被大模型接收,之后大模型对需求予以理解,紧接着进行数据清洗,进而将需求当中的测试要点提取出来用来生成测试要点 。

测试要点需调整,测试人员要对大模型梳理出的测试要点做初审,还要进行调整,以防提取出的测试要点出现缺失,进而致使生成的测试用例覆盖范围不全面。

大模型依据测试要点以及业务规则来生成用例,测试人员借助一站式前端输入业务规则,之后业务规则被加载到大模型向量知识库当中,大模型于生成用例之际会开展向量知识库检索,进而匹配到和需求有关联的业务规范与要求,如此所生成的用例便会更加契合业务具体场景及状况 。

集成测试管理平台,大模型生成测试用例之后,测试人员能够对用例予以优化调整,借由这种方式来确保用例的准确性以及适用性,最终打造出一份适配该业务需求的测试用例集,能够集成到测试管理平台,达成与现有的测试管理工具和自动化测试框架的无缝对接。

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

通过一个特定的业务需求当作示例来展开演示,目的在于详尽地阐述我们借助大模型生成测试用例的相应方式。 ,。

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

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

第三步,要进行录入业务规则的操作,有一个关于持有收益率的内容,它是个计算公式说明哟,并非说的是当前产品的持有收益率,持有收益率的计算公式为持有收益率等于,用最新净值除以成本价再减去一,然后乘以百分之百 。

第四步:大模型依据需求描述,去理解需求进而生成测试要点,将其展示于平台前端界面之上,测试人员能够针对测试要点作出调整。

当我把产品经理对于需求的描述输入之后,大模型理解需求以及拆分测试要点,要帮助将其分解成原子化的要点,这些要点会极为具体且明确,利于我依据它们生成测试用例,我把需求描述发送给你,得严格依照模板,生成测试要点,不要多余解释,测试要点模板如下。

功能点:功能点1

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

(2)测试要点描述2

步骤五:依据第四步期间大模型生成的那些测试要点及业务规则,多次来调用大模型,进而生成测试用例,再将其呈现于平台前端界面之上,于此测试人员能够针对测试用例作出相应调整。

ai 生成测试用例_大模型生成测试用例_功能测试自动化

大模型依据测试要点来生成测试用例 ,身为测试用例生成专家 ,我期望我向你输入一个测试要点 ,你凭借用户知识库里的业务规则去生成测试用例 ,测试用例的生成方法能够是等价类 、边界值等方法 。

你得给出测试用例的概述描述,还要详细地列出测试步骤,并且明确预期会得到的结果,测试用例的格式可依照下面所讲的模板来进行输出 。

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

前置条件:客户已开户

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

step2可以办理该业务;

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

最终,在用例调整完毕之后能够进行导出,并且集成到测试管理平台之中。整个用例生成的进程会构成需求录入,需求解读,测试要点拆分,测试用例生成,执行,导入测试管理平台,这是一个完整的测试用例生命周期的闭合循环。

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

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

第一,大模型对于所输入数据的质量具备相对较高的要求,模棱两可以及过于简单的需求描述,有可能致使大模型对业务的理解出现偏差,进而造成无法输出调试人员期望的信息,。

其次,大模型有可能没办法精准地领会某个领域的专业知识以及术语,即便我们录入一些业务规则与约束以此来辅助大模型明晰用户需求和意图。然而,在开展向量知识库搜索时,也会出现能够匹配到低质量文本的情况,进而致使输出的测试用例和用户的意图存在偏差。在这种状况下,就需要我们在调用大模型进行交互的时候对提示词以及大模型生成的数据加以微调。

总之,大模型的进化之路还比较漫长,自动生成用例仅仅是测试提效当中的一小部分,未来我们会持续尝试更多的大情形应用,把大模型跟日常监测行径更为紧密地接合到一块。

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

欢迎 发表评论:

请填写验证码

评论列表

暂无评论,快抢沙发吧~