CN118503141A - 测试用例生成方法、装置、设备及介质 - Google Patents

测试用例生成方法、装置、设备及介质 Download PDF

Info

Publication number
CN118503141A
CN118503141A CN202410972016.2A CN202410972016A CN118503141A CN 118503141 A CN118503141 A CN 118503141A CN 202410972016 A CN202410972016 A CN 202410972016A CN 118503141 A CN118503141 A CN 118503141A
Authority
CN
China
Prior art keywords
test case
test
case
acquiring
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410972016.2A
Other languages
English (en)
Inventor
邸立涛
刘颖麒
罗小辉
孙雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ibeacon Technology Co ltd
Original Assignee
Ibeacon Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibeacon Technology Co ltd filed Critical Ibeacon Technology Co ltd
Priority to CN202410972016.2A priority Critical patent/CN118503141A/zh
Publication of CN118503141A publication Critical patent/CN118503141A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及测试技术领域,提供一种测试用例生成方法、装置、设备及介质,能够先对测试用例生成指令进行校验,以提升测试的安全性;综合需求规格描述文档、系统实现逻辑描述文档及方案描述文档多维度数据作为待处理数据,并利用大语言模型生成备选用例集,以保证初步即可生成符合要求的备选用例集;基于mask规则对备选用例集进行筛选得到至少一个目标测试用例,进一步提高了生成的测试用例的可用性;结合人工智能手段及mask规则自动生成测试用例,增强了用例生成过程的泛化能力,且提高了所生成的测试用例的接纳率。

Description

测试用例生成方法、装置、设备及介质
技术领域
本发明涉及测试技术领域,尤其涉及一种测试用例生成方法、装置、设备及介质。
背景技术
现有技术中,测试工程师在编写测试用例的过程中,用例编辑工作占用了很多工作量。
并且,在编写测试用例时,常规的有向图、边界值、等价类、正交图等用例生成规则都比较模式化,缺少泛化能力。
发明内容
鉴于以上内容,有必要提供一种测试用例生成方法、装置、设备及介质,旨在解决测试用例生成方式缺乏泛化力的问题。
一种测试用例生成方法,所述测试用例生成方法包括:
响应于测试用例生成指令,对所述测试用例生成指令进行校验;
当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
根据本发明优选实施例,所述对所述测试用例生成指令进行校验包括:
解析所述测试用例生成指令,得到所述测试用例生成指令的触发者及所述触发者的登录参数;
当所述登录参数为账号及密码时,检测是否有反馈的令牌;当检测到有反馈的第一令牌时,将所述第一令牌添加至请求头得到校验令牌;将所述校验令牌发送至指定平台进行校验;或者
当所述登录参数为设备参数时,根据所述设备参数确定请求设备;检测所述请求设备是否在预先配置的设备列表中;当所述请求设备在所述设备列表中时,检测是否有反馈的令牌;当检测到有反馈的第二令牌时,获取通过所述请求设备触发所述测试用例生成指令的时间作为触发时间;生成随机字符串;拼接所述第二令牌、所述设备参数、所述触发时间及所述随机字符串得到待校验字段;将所述待校验字段发送至所述指定平台进行校验;其中,所述设备列表用于存储具有生成测试用例权限的所有设备;或者
当所述登录参数为未知接口参数时,根据所述未知接口参数确定未知接口;获取所述未知接口被分配的访问密钥标识及初始密钥;对所述初始密钥进行加密处理,得到目标密钥;将所述访问密钥标识及所述目标密钥发送至所述指定平台进行校验。
根据本发明优选实施例,所述对所述初始密钥进行加密处理,得到目标密钥包括:
在所述初始密钥对应的T盒中,对所述初始密钥进行拆分得到预设数量的密钥段;
对于每个密钥段,获取预先构建的状态变换矩阵;其中,所述状态变换矩阵用于对每个密钥段的行数据及列数据进行打乱处理;
计算每个密钥段与所述状态变换矩阵的乘积,得到打乱处理后的每个密钥段;
利用所述初始密钥对所述打乱处理后的每个密钥段进行加密处理,得到每个密钥密文;
利用所述T盒对所述密钥密文进行处理,并获取所述T盒的输出数据作为所述目标密钥。
根据本发明优选实施例,所述将所述待处理数据输入至预先训练的测试用例生成模型前,所述方法还包括:
获取历史测试用例,并基于所述历史测试用例构建训练样本;
利用所述训练样本训练大语言模型;
在每轮训练时,获取当轮损失函数的取值;
当所述损失函数的取值达到收敛时,停止训练,得到所述测试用例生成模型。
根据本发明优选实施例,所述基于所述历史测试用例构建训练样本包括:
从所述历史测试用例中获取使用次数小于或者等于预设次数的用例构建第一用例集;
获取当前时间戳,并从所述当前时间戳开始回溯预设时长得到目标时间戳;
将由所述当前时间戳与所述目标时间戳构成的时间区间确定为目标时间段;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内发现异常的用例构建第二用例集;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内未发现异常的用例构建第三用例集;
获取基于用例变更信息训练的第一预测模型,并利用所述第一预测模型对所述第一用例集中的每个第一用例进行预测,得到预测的每个第一用例的异常检测准确率;
按照每个第一用例的异常检测准确率由高到低的顺序对每个第一用例进行排列,得到第一用例序列;
获取配置的准确率阈值;
基于所述准确率阈值对所述第一用例序列进行拆分,得到第一子序列及第二子序列;其中,所述第一子序列中每个用例的异常检测准确率大于所述第二子序列中每个用例的异常检测准确率;
获取基于用例使用信息训练的第二预测模型,并利用所述第二预测模型对所述第二用例集中的每个第二用例进行预测,得到预测的每个第二用例的异常检测准确率;
按照每个第二用例的异常检测准确率由高到低的顺序对每个第二用例进行排列,得到第二用例序列;
基于所述准确率阈值对所述第二用例序列进行拆分,得到第三子序列及第四子序列;其中,所述第三子序列中每个用例的异常检测准确率大于所述第四子序列中每个用例的异常检测准确率;
获取所述第三用例集中每个第三用例的使用总次数,以及在使用过程中检测到异常的次数;
计算每个第三用例对应的检测到异常的次数与使用总次数的商,得到每个第三用例对应的目标指标值;
按照每个第三用例对应的目标指标值由高到低的顺序对每个第三用例进行排列,得到第三用例序列;
依次拼接所述第三子序列、所述第一子序列、所述第二子序列、所述第四子序列及所述第三用例序列,得到目标序列;
按照由前到后的顺序从所述目标序列中抽取预设比例的用例构建所述训练样本。
根据本发明优选实施例,所述获取预先配置的mask规则前,所述方法还包括:
根据所述测试用例生成指令确定测试领域,及确定所述触发者在测试过程中的角色;
根据所述测试领域及所述角色生成测试限制条件;
根据所述测试限制条件生成所述mask规则。
根据本发明优选实施例,所述得到至少一个目标测试用例后,所述方法还包括:
将所述至少一个目标测试用例反馈给所述触发者;
检测所述触发者对所述至少一个目标测试用例的选择操作、修改操作及新增操作;
接收根据所述选择操作及所述修改操作生成的优化测试用例,及接收根据所述新增操作生成的新增测试用例;
组合所述优化测试用例及所述新增测试用例得到待使用测试用例;
基于所述待使用测试用例进行测试,并利用所述待使用测试用例对所述测试用例生成模型进行优化训练。
一种测试用例生成装置,所述测试用例生成装置包括:
校验单元,用于响应于测试用例生成指令,对所述测试用例生成指令进行校验;
获取单元,用于当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
构建单元,用于将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
筛选单元,用于获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
一种计算机设备,所述计算机设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述测试用例生成方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现所述测试用例生成方法。
由以上技术方案可以看出,本发明能够先对测试用例生成指令进行校验,以提升测试的安全性;综合需求规格描述文档、系统实现逻辑描述文档及方案描述文档多维度数据作为待处理数据,并利用大语言模型生成备选用例集,以保证初步即可生成符合要求的备选用例集;基于mask规则对备选用例集进行筛选得到至少一个目标测试用例,进一步提高了生成的测试用例的可用性;结合人工智能手段及mask规则自动生成测试用例,增强了用例生成过程的泛化能力,且提高了所生成的测试用例的接纳率。
附图说明
图1是本发明测试用例生成方法的较佳实施例的流程图。
图2是本发明测试用例生成装置的较佳实施例的功能模块图。
图3是本发明实现测试用例生成方法的较佳实施例的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明测试用例生成方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述测试用例生成方法应用于一个或者多个计算机设备中,所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述计算机设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述计算机设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,响应于测试用例生成指令,对所述测试用例生成指令进行校验。
在本实施例中,所述测试用例生成指令可以由测试人员触发,也可以由其他相关工作人员触发。
在本实施例中,所述对所述测试用例生成指令进行校验包括:
解析所述测试用例生成指令,得到所述测试用例生成指令的触发者及所述触发者的登录参数;
当所述登录参数为账号及密码时,检测是否有反馈的令牌;当检测到有反馈的第一令牌时,将所述第一令牌添加至请求头得到校验令牌;将所述校验令牌发送至指定平台进行校验;或者
当所述登录参数为设备参数时,根据所述设备参数确定请求设备;检测所述请求设备是否在预先配置的设备列表中;当所述请求设备在所述设备列表中时,检测是否有反馈的令牌;当检测到有反馈的第二令牌时,获取通过所述请求设备触发所述测试用例生成指令的时间作为触发时间;生成随机字符串;拼接所述第二令牌、所述设备参数、所述触发时间及所述随机字符串得到待校验字段;将所述待校验字段发送至所述指定平台进行校验;其中,所述设备列表用于存储具有生成测试用例权限的所有设备;或者
当所述登录参数为未知接口参数时,根据所述未知接口参数确定未知接口;获取所述未知接口被分配的访问密钥标识及初始密钥;对所述初始密钥进行加密处理,得到目标密钥;将所述访问密钥标识及所述目标密钥发送至所述指定平台进行校验。
其中,所述账号可以包括用户登录账号、企业标识码等。
其中,所述指定平台为具有校验功能。
其中,所述设备参数可以包括设备标识码等。
通过上述实施例,能够根据不同的登录参数类型对所述测试用例生成指令进行针对性校验,以提升校验的准确率。
在本实施例中,所述对所述初始密钥进行加密处理,得到目标密钥包括:
在所述初始密钥对应的T盒中,对所述初始密钥进行拆分得到预设数量的密钥段;
对于每个密钥段,获取预先构建的状态变换矩阵;其中,所述状态变换矩阵用于对每个密钥段的行数据及列数据进行打乱处理;
计算每个密钥段与所述状态变换矩阵的乘积,得到打乱处理后的每个密钥段;
利用所述初始密钥对所述打乱处理后的每个密钥段进行加密处理,得到每个密钥密文;
利用所述T盒对所述密钥密文进行处理,并获取所述T盒的输出数据作为所述目标密钥。
其中,所述预设数量可以根据实际需求进行配置,如10。
在上述实施例中,不同于传统的加密方案只能对文本行进行混淆,加密后的私密性仍然较低,本案在传统加密方案的基础上进行了优化,对待加密数据的行信息及列信息分别进行打乱,再利用密钥进行加密,进一步提高了数据的安全性,能够有效避免数据泄露。
S11,当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据。
在本实施例中,可以根据所述测试用例生成指令确定用例管理平台,并通过统一的所述用例管理平台采集所述需求规格描述文档、所述系统实现逻辑描述文档及所述方案描述文档作为所述待处理数据。
所述用例管理平台可以为测试工程师等相关人员提供用例创建、编辑、修改、查看存储等功能,是测试工程师的主要交互界面。
其中,所述需求规格描述文档可以由产品经理上传至所述用例管理平台。
例如:所述需求规格可以包括,但不限于以下一种或者多种的组合:
“商家点击‘下单’,且下单成功后,系统直接出示收款码。针对每一笔订单收款采用不固定的手续费,手续费规则如下:
规则1:当商户的订单交易金额小于10元时,手续费为0;
规则2:当商户的当日交易金额超过100万元时,手续费降低为万分之0.2;
规则3:……”。
其中,所述系统实现逻辑描述文档可以由开发人员及/或架构师上传至所述用例管理平台。
例如:所述系统实现逻辑描述文档可以包括,但不限于以下一种或者多种的组合:
“交易模块生成的订单存入 order_item_list 数据库表,同时把订单记录追加到内存链表order_list_success中,该链表包括订单号order_id 、 交易金额 order_trade_amount、商户ID shop_owner_id;
结算系统启动时从数据库中读取商户的费率,费率包括两个表。一个通用费率表general_rate_list,一个商户定制费率表special_rate_list。商户定制费率表的规则优先级高于通用费率表的规则。两个费率表组合成费率结算规则存入规则引擎;
结算模块定时(每5秒)从内存链表中获取最多100条订单,并按商家当前费率规则进行手续费计算。手续费计算在规则引擎中完成。计算完成后,存入order_item_settlement数据库表,保存结算信息到order_list_settlement内存链表,并把已结算的订单从order_list_success队列中删除……”。
其中,所述方案描述文档也可以由开发人员及/或架构师上传至所述用例管理平台。
S12,将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集。
在本实施例中,所述测试用例生成模型可以为大语言模型。
在本实施例中,所述将所述待处理数据输入至预先训练的测试用例生成模型前,所述方法还包括:
获取历史测试用例,并基于所述历史测试用例构建训练样本;
利用所述训练样本训练大语言模型;
在每轮训练时,获取当轮损失函数的取值;
当所述损失函数的取值达到收敛时,停止训练,得到所述测试用例生成模型。
可以理解的是,由于测试人员的专业性不同等问题,会导致历史测试用例的质量不一,有些测试用例可能根本不具备参考性及可用性,因此,若采用大量可用性不强的用例训练模型,则模型输出的用例可用性也会不强,因此,在构建训练样本时,需要先对历史测试用例进行相应处理及筛选,而不是如传统方案中直接将全部用例作为训练样本,会影响所训练的模型的质量。
具体地,所述基于所述历史测试用例构建训练样本包括:
从所述历史测试用例中获取使用次数小于或者等于预设次数的用例构建第一用例集;
获取当前时间戳,并从所述当前时间戳开始回溯预设时长得到目标时间戳;
将由所述当前时间戳与所述目标时间戳构成的时间区间确定为目标时间段;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内发现异常的用例构建第二用例集;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内未发现异常的用例构建第三用例集;
获取基于用例变更信息训练的第一预测模型,并利用所述第一预测模型对所述第一用例集中的每个第一用例进行预测,得到预测的每个第一用例的异常检测准确率;
按照每个第一用例的异常检测准确率由高到低的顺序对每个第一用例进行排列,得到第一用例序列;
获取配置的准确率阈值;
基于所述准确率阈值对所述第一用例序列进行拆分,得到第一子序列及第二子序列;其中,所述第一子序列中每个用例的异常检测准确率大于所述第二子序列中每个用例的异常检测准确率;
获取基于用例使用信息训练的第二预测模型,并利用所述第二预测模型对所述第二用例集中的每个第二用例进行预测,得到预测的每个第二用例的异常检测准确率;
按照每个第二用例的异常检测准确率由高到低的顺序对每个第二用例进行排列,得到第二用例序列;
基于所述准确率阈值对所述第二用例序列进行拆分,得到第三子序列及第四子序列;其中,所述第三子序列中每个用例的异常检测准确率大于所述第四子序列中每个用例的异常检测准确率;
获取所述第三用例集中每个第三用例的使用总次数,以及在使用过程中检测到异常的次数;
计算每个第三用例对应的检测到异常的次数与使用总次数的商,得到每个第三用例对应的目标指标值;
按照每个第三用例对应的目标指标值由高到低的顺序对每个第三用例进行排列,得到第三用例序列;
依次拼接所述第三子序列、所述第一子序列、所述第二子序列、所述第四子序列及所述第三用例序列,得到目标序列;
按照由前到后的顺序从所述目标序列中抽取预设比例的用例构建所述训练样本。
其中,所述预设次数可以根据实际测试场景进行配置,如50。
其中,所述预设时长也可以根据实际测试场景进行配置,如30天。
其中,所述第一预测模型及所述第二预测模型可以为具有预测功能的神经网络等模型。所述第一预测模型可以以用例是否变更、变更时间等作为输入数据,并以异常检测准确率为输出数据;所述第二预测模型可以以执行过程中相关的各种执行数据(如执行时间、使用次数、出错率等)作为输入数据,并以异常检测准确率为输出数据。
其中,在利用模型输出的异常检测准确率对各用例进行排列时,若有两个用例的异常检测准确率相同,则计算该两个用例每次测试时的平均时长,并将平均时长较小的用例排在前面(平均时长越小,说明每次测试效率越高),若平均时长也相同,则说明两个用例的测试性能相似,可以将任意一个用例排在前面。
其中,所述准确率阈值可以为50%等,以保证对各序列进行合理拆分。
其中,所述第三子序列为以充足的历史执行信息训练模型后输出的异常检测准确率较高的用例序列,因此,所述第三子序列中各用例的可用性及准确率都更高,由此将所述第三子序列排在最终得到的目标序列的前面;基于类似原理,依次排列所述第一子序列、所述第二子序列、所述第四子序列及所述第三用例序列,则在所述目标序列中越排在前面的用例可用性及准确率也更高。
进一步地,配置所述预设比例,如70%。从所述目标序列中按照从前到后的顺序依次抽取前70%的用例构建所述训练样本,不仅可以保证所述训练样本数据量充足,还能保证所述训练样本的可用性及准确率,进而能够提高基于所述训练样本训练的测试用例生成模型的质量,使所述测试用例生成模型输出的测试用例的接纳率及可用性都更高。
其中,所述测试用例生成模型还可以支持text-to-text的接口访问。
通过上述实施例,能够在模型训练前基于多维度因素及人工智能手段从历史测试用例中筛选出可用性更强、准确率更高的用例构建训练样本,以提高所训练的模型的准确率。
S13,获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
在本实施例中,所述获取预先配置的mask规则前,所述方法还包括:
根据所述测试用例生成指令确定测试领域,及确定所述触发者在测试过程中的角色;
根据所述测试领域及所述角色生成测试限制条件;
根据所述测试限制条件生成所述mask规则。
例如:所述mask规则可以包括对高级测试工程师的角色限制,同时包括“生成的测试用例需要包含测试编号、测试名称、前置条件、测试步骤和预期结果5个方面,并以表格的形式呈现”等输出格式的限制,以作为对测试领域内各方面内容的限制,保证输出的测试用例更加便于使用。
通过配置所述mask规则,为测试工程师限制了用例生成垂直领域的大模型角色和预设规则管理模块,能够基于各种限制条件对所述测试用例生成模型所输出的测试用例进行进一步的筛选,以提高最终的得到的测试用例的适用性及接纳率。
其中,所述接纳率是指生成的测试用例可以直接被使用的概率。
在本实施例中,所述得到至少一个目标测试用例后,所述方法还包括:
将所述至少一个目标测试用例反馈给所述触发者;
检测所述触发者对所述至少一个目标测试用例的选择操作、修改操作及新增操作;
接收根据所述选择操作及所述修改操作生成的优化测试用例,及接收根据所述新增操作生成的新增测试用例;
组合所述优化测试用例及所述新增测试用例得到待使用测试用例;
基于所述待使用测试用例进行测试,并利用所述待使用测试用例对所述测试用例生成模型进行优化训练。
通过上述实施例,首先基于实际的需求对所生成的至少一个目标测试用例进行修改及选择,以实现对所生成的至少一个目标测试用例的再次筛选及优化,进一步提高了所生成的测试用例的测试准确率及可用性。
同时,测试等相关人员可以根据实际需求新增测试用例,以实现对所述测试用例生成模型的优化训练。例如:在基于所述mask规则筛选后,所述测试用例生成模型最终输出20个目标测试用例,经过所述触发者的筛选及修改后,最终保留15个可用目标测试用例,5个不可用目标测试用例,并且,所述触发者又额外新增了20个可用目标测试用例,则可以利用保留的15个可用目标测试用例与新增的20个可用目标测试用例一起对所述测试用例生成模型进行优化训练,以便根据每次生成的测试用例不断对所述测试用例生成模型进行反哺,保证所述测试用例生成模型被不断优化,使所述测试用例生成模型所输出的测试用例的接纳率逐渐提高。
由以上技术方案可以看出,本发明能够先对测试用例生成指令进行校验,以提升测试的安全性;综合需求规格描述文档、系统实现逻辑描述文档及方案描述文档多维度数据作为待处理数据,并利用大语言模型生成备选用例集,以保证初步即可生成符合要求的备选用例集;基于mask规则对备选用例集进行筛选得到至少一个目标测试用例,进一步提高了生成的测试用例的可用性;结合人工智能手段及mask规则自动生成测试用例,增强了用例生成过程的泛化能力,且提高了所生成的测试用例的接纳率。
如图2所示,是本发明测试用例生成装置的较佳实施例的功能模块图。所述测试用例生成装置11包括校验单元110、获取单元111、构建单元112、筛选单元113。本发明所称的模块/单元是指一种能够被处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
其中,所述校验单元110,用于响应于测试用例生成指令,对所述测试用例生成指令进行校验;
所述获取单元111,用于当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
所述构建单元112,用于将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
所述筛选单元113,用于获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
由以上技术方案可以看出,本发明能够先对测试用例生成指令进行校验,以提升测试的安全性;综合需求规格描述文档、系统实现逻辑描述文档及方案描述文档多维度数据作为待处理数据,并利用大语言模型生成备选用例集,以保证初步即可生成符合要求的备选用例集;基于mask规则对备选用例集进行筛选得到至少一个目标测试用例,进一步提高了生成的测试用例的可用性;结合人工智能手段及mask规则自动生成测试用例,增强了用例生成过程的泛化能力,且提高了所生成的测试用例的接纳率。
如图3所示,是本发明实现测试用例生成方法的较佳实施例的计算机设备的结构示意图。
所述计算机设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如测试用例生成程序。
本领域技术人员可以理解,所述示意图仅仅是计算机设备1的示例,并不构成对计算机设备1的限定,所述计算机设备1既可以是总线型结构,也可以是星形结构,所述计算机设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述计算机设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,所述计算机设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是计算机设备1的内部存储单元,例如该计算机设备1的移动硬盘。存储器12在另一些实施例中也可以是计算机设备1的外部存储设备,例如计算机设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器12还可以既包括计算机设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于计算机设备1的应用软件及各类数据,例如测试用例生成程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述计算机设备1的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行测试用例生成程序等),以及调用存储在所述存储器12内的数据,以执行计算机设备1的各种功能和处理数据。
所述处理器13执行所述计算机设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个测试用例生成方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在所述计算机设备1中的执行过程。例如,所述计算机程序可以被分割成校验单元110、获取单元111、构建单元112、筛选单元113。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述测试用例生成方法的部分。
所述计算机设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根直线表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
尽管未示出,所述计算机设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述计算机设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机设备1与其他计算机设备之间建立通信连接。
可选地,该计算机设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
图3仅示出了具有组件12-13的计算机设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述计算机设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,所述计算机设备1中的所述存储器12存储多个指令以实现一种测试用例生成方法,所述处理器13可执行所述多个指令从而实现:
响应于测试用例生成指令,对所述测试用例生成指令进行校验;
当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
需要说明的是,本案中所涉及到的数据均为合法取得。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种测试用例生成方法,其特征在于,所述测试用例生成方法包括:
响应于测试用例生成指令,对所述测试用例生成指令进行校验;
当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
2.如权利要求1所述的测试用例生成方法,其特征在于,所述对所述测试用例生成指令进行校验包括:
解析所述测试用例生成指令,得到所述测试用例生成指令的触发者及所述触发者的登录参数;
当所述登录参数为账号及密码时,检测是否有反馈的令牌;当检测到有反馈的第一令牌时,将所述第一令牌添加至请求头得到校验令牌;将所述校验令牌发送至指定平台进行校验;或者
当所述登录参数为设备参数时,根据所述设备参数确定请求设备;检测所述请求设备是否在预先配置的设备列表中;当所述请求设备在所述设备列表中时,检测是否有反馈的令牌;当检测到有反馈的第二令牌时,获取通过所述请求设备触发所述测试用例生成指令的时间作为触发时间;生成随机字符串;拼接所述第二令牌、所述设备参数、所述触发时间及所述随机字符串得到待校验字段;将所述待校验字段发送至所述指定平台进行校验;其中,所述设备列表用于存储具有生成测试用例权限的所有设备;或者
当所述登录参数为未知接口参数时,根据所述未知接口参数确定未知接口;获取所述未知接口被分配的访问密钥标识及初始密钥;对所述初始密钥进行加密处理,得到目标密钥;将所述访问密钥标识及所述目标密钥发送至所述指定平台进行校验。
3.如权利要求2所述的测试用例生成方法,其特征在于,所述对所述初始密钥进行加密处理,得到目标密钥包括:
在所述初始密钥对应的T盒中,对所述初始密钥进行拆分得到预设数量的密钥段;
对于每个密钥段,获取预先构建的状态变换矩阵;其中,所述状态变换矩阵用于对每个密钥段的行数据及列数据进行打乱处理;
计算每个密钥段与所述状态变换矩阵的乘积,得到打乱处理后的每个密钥段;
利用所述初始密钥对所述打乱处理后的每个密钥段进行加密处理,得到每个密钥密文;
利用所述T盒对所述密钥密文进行处理,并获取所述T盒的输出数据作为所述目标密钥。
4.如权利要求1所述的测试用例生成方法,其特征在于,所述将所述待处理数据输入至预先训练的测试用例生成模型前,所述方法还包括:
获取历史测试用例,并基于所述历史测试用例构建训练样本;
利用所述训练样本训练大语言模型;
在每轮训练时,获取当轮损失函数的取值;
当所述损失函数的取值达到收敛时,停止训练,得到所述测试用例生成模型。
5.如权利要求4所述的测试用例生成方法,其特征在于,所述基于所述历史测试用例构建训练样本包括:
从所述历史测试用例中获取使用次数小于或者等于预设次数的用例构建第一用例集;
获取当前时间戳,并从所述当前时间戳开始回溯预设时长得到目标时间戳;
将由所述当前时间戳与所述目标时间戳构成的时间区间确定为目标时间段;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内发现异常的用例构建第二用例集;
从所述历史测试用例中获取所述使用次数大于所述预设次数,且在所述目标时间段内未发现异常的用例构建第三用例集;
获取基于用例变更信息训练的第一预测模型,并利用所述第一预测模型对所述第一用例集中的每个第一用例进行预测,得到预测的每个第一用例的异常检测准确率;
按照每个第一用例的异常检测准确率由高到低的顺序对每个第一用例进行排列,得到第一用例序列;
获取配置的准确率阈值;
基于所述准确率阈值对所述第一用例序列进行拆分,得到第一子序列及第二子序列;其中,所述第一子序列中每个用例的异常检测准确率大于所述第二子序列中每个用例的异常检测准确率;
获取基于用例使用信息训练的第二预测模型,并利用所述第二预测模型对所述第二用例集中的每个第二用例进行预测,得到预测的每个第二用例的异常检测准确率;
按照每个第二用例的异常检测准确率由高到低的顺序对每个第二用例进行排列,得到第二用例序列;
基于所述准确率阈值对所述第二用例序列进行拆分,得到第三子序列及第四子序列;其中,所述第三子序列中每个用例的异常检测准确率大于所述第四子序列中每个用例的异常检测准确率;
获取所述第三用例集中每个第三用例的使用总次数,以及在使用过程中检测到异常的次数;
计算每个第三用例对应的检测到异常的次数与使用总次数的商,得到每个第三用例对应的目标指标值;
按照每个第三用例对应的目标指标值由高到低的顺序对每个第三用例进行排列,得到第三用例序列;
依次拼接所述第三子序列、所述第一子序列、所述第二子序列、所述第四子序列及所述第三用例序列,得到目标序列;
按照由前到后的顺序从所述目标序列中抽取预设比例的用例构建所述训练样本。
6.如权利要求2所述的测试用例生成方法,其特征在于,所述获取预先配置的mask规则前,所述方法还包括:
根据所述测试用例生成指令确定测试领域,及确定所述触发者在测试过程中的角色;
根据所述测试领域及所述角色生成测试限制条件;
根据所述测试限制条件生成所述mask规则。
7.如权利要求2所述的测试用例生成方法,其特征在于,所述得到至少一个目标测试用例后,所述方法还包括:
将所述至少一个目标测试用例反馈给所述触发者;
检测所述触发者对所述至少一个目标测试用例的选择操作、修改操作及新增操作;
接收根据所述选择操作及所述修改操作生成的优化测试用例,及接收根据所述新增操作生成的新增测试用例;
组合所述优化测试用例及所述新增测试用例得到待使用测试用例;
基于所述待使用测试用例进行测试,并利用所述待使用测试用例对所述测试用例生成模型进行优化训练。
8.一种测试用例生成装置,其特征在于,所述测试用例生成装置包括:
校验单元,用于响应于测试用例生成指令,对所述测试用例生成指令进行校验;
获取单元,用于当所述测试用例生成指令通过校验时,根据所述测试用例生成指令获取需求规格描述文档、系统实现逻辑描述文档及方案描述文档作为待处理数据;
构建单元,用于将所述待处理数据输入至预先训练的测试用例生成模型,并根据所述测试用例生成模型的输出数据构建备选用例集;
筛选单元,用于获取预先配置的mask规则,并利用所述mask规则对所述备选用例集中的测试用例进行筛选,得到至少一个目标测试用例。
9. 一种计算机设备,其特征在于,所述计算机设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的测试用例生成方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现如权利要求1至7中任意一项所述的测试用例生成方法。
CN202410972016.2A 2024-07-19 2024-07-19 测试用例生成方法、装置、设备及介质 Pending CN118503141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410972016.2A CN118503141A (zh) 2024-07-19 2024-07-19 测试用例生成方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410972016.2A CN118503141A (zh) 2024-07-19 2024-07-19 测试用例生成方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN118503141A true CN118503141A (zh) 2024-08-16

Family

ID=92236832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410972016.2A Pending CN118503141A (zh) 2024-07-19 2024-07-19 测试用例生成方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN118503141A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200019488A1 (en) * 2018-07-12 2020-01-16 Sap Se Application Test Automate Generation Using Natural Language Processing and Machine Learning
CN115757097A (zh) * 2022-10-31 2023-03-07 中国农业银行股份有限公司 一种测试用例生成方法、装置、电子设备及存储介质
CN117093484A (zh) * 2023-08-22 2023-11-21 中国银行股份有限公司 测试用例生成方法、装置、设备及存储介质
CN117573507A (zh) * 2023-10-12 2024-02-20 百度国际科技(深圳)有限公司 测试用例生成方法、装置、电子设备及存储介质
CN117806980A (zh) * 2024-03-01 2024-04-02 西安中朗智控科技有限公司 一种基于大语言模型的测试用例自动生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200019488A1 (en) * 2018-07-12 2020-01-16 Sap Se Application Test Automate Generation Using Natural Language Processing and Machine Learning
CN115757097A (zh) * 2022-10-31 2023-03-07 中国农业银行股份有限公司 一种测试用例生成方法、装置、电子设备及存储介质
CN117093484A (zh) * 2023-08-22 2023-11-21 中国银行股份有限公司 测试用例生成方法、装置、设备及存储介质
CN117573507A (zh) * 2023-10-12 2024-02-20 百度国际科技(深圳)有限公司 测试用例生成方法、装置、电子设备及存储介质
CN117806980A (zh) * 2024-03-01 2024-04-02 西安中朗智控科技有限公司 一种基于大语言模型的测试用例自动生成装置

Similar Documents

Publication Publication Date Title
CN111949708B (zh) 基于时序特征提取的多任务预测方法、装置、设备及介质
CN113806434B (zh) 大数据处理方法、装置、设备及介质
CN114844792B (zh) 基于lua语言的动态监控方法、装置、设备及存储介质
CN112948275A (zh) 测试数据生成方法、装置、设备及存储介质
CN115964307B (zh) 交易数据自动化测试方法、装置、设备及介质
CN112396547A (zh) 基于无监督学习的课程推荐方法、装置、设备及介质
CN116701233B (zh) 基于高并发报单模拟的交易系统测试方法、设备及介质
CN111950707B (zh) 基于行为共现网络的行为预测方法、装置、设备及介质
CN116823437A (zh) 基于配置化风控策略的准入方法、装置、设备及介质
CN116823141A (zh) 付款数据处理方法、装置、设备及介质
CN112579046B (zh) 用户故事分析方法、装置、电子设备及存储介质
CN118503141A (zh) 测试用例生成方法、装置、设备及介质
CN113657546A (zh) 信息分类方法、装置、电子设备及可读存储介质
CN112667244A (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN116934263B (zh) 产品批量准入方法、装置、设备及介质
CN116843454B (zh) 渠道信息管理方法、装置、设备及介质
CN116739611B (zh) 客户信息跟踪管理方法、装置、设备及介质
CN116306591B (zh) 流程表单生成方法、装置、设备及介质
CN116225971B (zh) 交易接口兼容性检测方法、装置、设备及介质
CN116361753B (zh) 权限认证方法、装置、设备及介质
CN116957649B (zh) 客户筛选方法、装置、设备及介质
CN113626533B (zh) 一种紫外线功率检测方法、装置及电子设备
CN116414366B (zh) 中间件接口生成方法、装置、设备及介质
CN118037453B (zh) 交易系统的订单处理方法、装置、设备及介质
CN116976821B (zh) 企业问题反馈信息处理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination