一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试用例生成方法及相关装置与流程

2022-06-22 16:32:24 来源:中国专利 TAG:


1.本技术涉及自动化测试技术领域,特别涉及一种测试用例生成方法及相关装置。


背景技术:

2.随着计算机技术、数据通信、网络工程,以及it行业公司的发展,自动化测试技术受到越来越多的关注和使用。在实现自动化测试时,通常需要选取测试用例。相关技术中在选取测试用例时,一般是依赖人工经验选取,成本过高且效率低,无法保障所有测试用例中测试要点的质量。


技术实现要素:

3.本技术实施例提供了一种测试用例生成方法及相关装置,大大提升了测试用例生成效率,减少了操作流程,节省测试成本和人力成本。
4.第一方面,本技术实施例提供一种测试用例生成方法,所述方法包括:获取待测产品的目标版本的产品需求音频;根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例。
5.可选的,所述将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例包括:对所述产品需求文本进行预处理,得到n个产品需求模块,n为正整数;获取所述n个产品需求模块的n个产品需求模块特征,所述产品需求模块与所述产品需求模块特征一一对应;将所述n个产品需求模块特征与预存的样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个目标样本需求模块特征,所述产品需求模块特征与所述目标样本需求模块特征一一对应;获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,所述目标样本需求模块特征与所述第一样本用例模块一一对应;拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。
6.可选的,所述对所述产品需求文本进行预处理,得到n个产品需求模块,包括:检测所述产品需求文本的句分界,根据所述句分界对所述产品需求文本分块,得到n个产品需求基本模块,其中,所述句分界包括句号和分号;对所述n个产品需求基本模块进行分词处理;对分词处理后的所述n个产品需求文本去停用词,得到所述n个产品需求模块。
7.可选的,所述获取所述n个产品需求模块的n个产品需求模块特征包括:获取所述n个产品需求模块中每个产品需求模块的词向量,将每个产品需求模块中的词向量按顺序拼接,得到所述n个产品需求模块特征。
8.可选的,在所述获取待测产品的目标版本的产品需求音频之前,所述方法还包括:获取所述待测产品的历史数据,其中,所述待测产品对应有至少一个历史版本产品,所述历史数据包括所述至少一个历史版本产品的历史产品需求、历史测试用例和历史代码覆盖率报告;构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试
用例生成模型。
9.可选的,所述构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型,包括:对所述历史测试用例进行预处理,得到m个第二样本用例模块,对所述m个第二样本用例模块编号,m为正整数;对所述历史产品需求进行预处理,得到k个样本需求模块,对所述k个样本需求模块编号,其中,每个样本需求模块对应至少一个第二样本用例模块,k为正整数,且n<k<m;提取所述k个样本需求模块的k个样本需求模块特征,将所述k个样本需求模块特征存入样本库,其中,所述k个样本需求模块特征与所述k个样本需求模块一一对应;根据所述历史代码覆盖率报告确定s个第一样本用例模块,其中,所述s个第一样本用例模块为所述m个所述第二样本用例模块中满足对应的样本需求模块的需求的s个第二样本用例模块,s为正整数,且n<s<m;对所述s个第一样本用例模块分别添加第一标签,其中,所述第一标签包括与第一样本用例模块对应的样本需求模块的编号以及所述第一样本用例模块的编号;对与所述第一样本用例模块对应的所述样本需求模块添加第二标签,其中,所述第二标签包括与所述第一样本用例模块对应的所述样本需求模块的编号以及所述第一样本用例模块的编号;将所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块存入所述样本库;通过所述k个样本需求模块特征、所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块对所述初始神经网络模型进行训练,得到所述测试用例生成模型。
10.可选的,所述获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,包括:查找所述样本库,确定与所述n个目标样本需求模块特征对应的n个样本需求模块;根据所述n个样本需求模块的所述第二标签确定对应的n个所述第一样本用例模块的编号;根据n个所述第一样本用例模块的编号获取n个所述第一样本用例模块。
11.第二方面,本技术实施例提供一种测试用例生成装置,所述测试用例生成装置包括:获取单元,用于获取待测产品的目标版本的产品需求音频;转换单元,用于根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;测试用例生成单元,用于将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例。
12.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本技术实施例第一方面中的步骤的指令。
13.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例第一方面中所描述的部分或全部步骤。
14.第五方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
15.可以看出,本技术实施例中,通过获取待测产品的目标版本的产品需求音频,从而确定待测产品的产品需求;根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;对所述产品需求文本进行预处理,得到n个产品需求模块,从而进一步明确产品需求
中的需求要点,可对产品需求分割处理;获取所述n个产品需求模块的n个产品需求模块特征;将所述n个产品需求模块特征与预存的第一样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个第一目标样本需求模块特征;获取与所述n个第一目标样本需求模块特征对应的n个第一样本用例模块,其中,第一目标样本需求模块与对应的第一样本用例模块高度匹配,因此可确保最后由第一样本用例模块得到的目标测试用例满足产品需求;拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。可见,在本技术实施例提供的测试用例生成方法中,通过对产品需求模块特征进行特征匹配,可以更快的得到目标测试用例,相比于人工设计测试用例,大大提升了测试用例生成效率,且不需要对目标测试用例进行代码覆盖率测试,减少了操作流程,节省测试成本和人力成本。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种测试用例生成方法的流程示意图;
18.图2是本技术实施例提供的历史测试用例和历史测试需求的对应关系示意图;
19.图3为本技术实施例提供的一种测试用例生成方法的流程示意图;
20.图4为本技术实施例提供的一种电子设备的结构示意图;
21.图5为本技术实施例提供了一种测试用例生成装置的结构示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
24.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
25.本技术实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、无线耳机、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,ue),移动台(mobile station,ms),终端设备(terminal device)等等,电子设备例如可以为智能手机、平板电脑等等。为方便描述,上面提到的设备
统称为电子设备。
26.参阅图1,图1为本技术实施例提供的一种测试用例生成方法的流程示意图,所述方法包括:
27.101、获取待测产品的目标版本的产品需求音频。
28.其中,本技术实施例应用于终端设备,终端设备可以是服务器或手机或其他设备,待测产品为待测的应用程序。
29.102、根据预设的语音转化方法将所述产品需求音频转换为产品需求文本。
30.其中,可以通过搭建语音转换模型实现音频到文本的转换,也可以通过语音识别工具箱kaldi、百度语音识别工具包或讯飞语音识别工具包等实现语音识别及转换。语音转换模型包括声学模块、语言模块和字典,其中声学模块和语言模块通过如下方法得到:建立声学训练模块和语言训练模块,从语音数据库中选取样本,并提取样本特征,通过样本特征和字典训练声学训练模块,得到声学模块;从文本数据库中选取样本,并提取样本特征,通过样本特征和字典训练语言训练模块,得到语言模块。
31.其中,语音转换模型通过对产品需求音频进行采样、量化和预加重等预处理,滤除干扰,然后提取产品需求音频的特征,将提取的特征输入语音识别模型中,输出产品需求文本。
32.103、将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例。
33.其中,测试用例生成模型可以实现输入一段自然语言描述的产品需求后,自动生成对应的测试用例。
34.其中,在得到目标测试用例后,通过所述产品需求文本和所述目标测试用例更新所述测试用例生成模型的样本库;通过更新后的样本库中的数据所述测试用例生成模型再次进行训练,得到更新后的测试用例生成模型。
35.可以看出,本技术实施例中通过获取待测产品的目标版本的产品需求音频;根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例,可大大提升测试用例生成效率,减少操作流程,节省测试成本和人力成本。
36.可选的,所述将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例,包括:
37.对所述产品需求文本进行预处理,得到n个产品需求模块,n为正整数;
38.获取所述n个产品需求模块的n个产品需求模块特征,所述产品需求模块与所述产品需求模块特征一一对应;
39.将所述n个产品需求模块特征与预存的样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个目标样本需求模块特征,所述产品需求模块特征与所述目标样本需求模块特征一一对应;
40.获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,所述目标样本需求模块特征与所述第一样本用例模块一一对应;
41.拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。
42.其中,在本实施例中,预处理包括分块、分词和去停用词。由于产品更新,功能升
级,产品需求增加,有可能出现样本库中没有与产品需求模块特征匹配的目标样本需求模块特征的情况,在这种情况下,通过测试用例生成模型得到与一部分产品需求模块对应的第一样本用例模块,然后通过人工设计满足另一部分产品需求模块需求的样本用例模块,对两部分样本用例模块按顺序拼接,从而得到完整的目标测试用例。
43.可见,本实施例所提供的测试用例生成方法通过对产品需求模块特征进行特征匹配,可以更快的得到目标测试用例,相比于人工设计测试用例,大大提升了测试用例生成效率,且不需要对目标测试用例进行代码覆盖率测试,减少了操作流程,节省测试成本和人力成本。
44.可选的,所述对所述产品需求文本进行预处理,得到n个产品需求模块,包括:
45.检测所述产品需求文本的句分界,根据所述句分界对所述产品需求文本分块,得到n个产品需求基本模块,其中,所述句分界包括句号和分号;
46.对所述n个产品需求基本模块进行分词处理;
47.对分词处理后的所述n个产品需求文本去停用词,得到所述n个产品需求模块。
48.其中,句号以及分号表示一个短句的结束,一般位于产品需求块的末尾,因此可以用来作为分块的依据,检测到句号或者分号后,根据所检测的句号或分号对产品需求文本进行分割处理,得到n个产品需求基本模块。因为计算机无法识别自然语言,因此需要将文本分割成最基础的模块,将一个句子分成若干个词,在本实施例中,是将上述得到若干个产品需求基本模块中每个产品需求基本模块分成若干个词,即分词处理,例如“小明1995年毕业于北京清华大学”经过分词处理后将得到“小明1995年毕业于北京清华大学”。停用词指的是诸如代词、介词、连接词等不包含或包含极少语义的词,例如,对“小明1995年毕业于北京清华大学”去停用词将得到“小明1995年毕业北京清华大学”可见,其中去除了介词“于”,在文本中去掉这些停用词能够使模型更好地去拟合实际的语义特征,从而增加模型的泛化能力。
49.可见,对产品需求文本进行分块、分词和去停用词等预处理后,将得到特征明显的产品需求模块,有利于后续的文本特征表达。
50.可选的,所述获取所述n个产品需求模块的n个产品需求模块特征,包括:
51.获取所述n个产品需求模块中每个产品需求模块的词向量,将每个产品需求模块中的词向量按顺序拼接,得到所述n个产品需求模块特征。
52.其中,在自然语言处理任务中,在计算机中文本中的词通过离散表示或分布式表示进行表示,二者都是将词转化为稠密(长)向量,具体的,可以通过共现矩阵、svd(奇异值分解)、词袋模型、动态词向量elmo等方法生成词向量,因此,可通过上述任意一种方法将一个产品需求模块中的若干个词生成相应的若干个词向量,即词向量序列,例如,若该产品需求模块(短句)中有n个词,生成的词向量都为k维,则词向量序列为n
×
k的矩阵,该n
×
k矩阵即为产品需求模块特征。在得到每个产品需求模块对应的产品需求模块特征之后,对产品需求模块特征按照对应的产品需求模块在产品需求文本中的先后顺序进行拼接,则得到所述n个产品需求模块特征。
53.可见,将文本转化为词向量,可将文本转化为计算机理解的语言,也有利于提取文本特征。
54.可选的,在所述获取待测产品的目标版本的产品需求音频之前,所述方法还包括:
55.获取所述待测产品的历史数据,其中,所述待测产品对应有至少一个历史版本产品,所述历史数据包括所述至少一个历史版本产品的历史产品需求、历史测试用例和历史代码覆盖率报告;
56.构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型。
57.其中,历史数据中历史测试用例数量大于等于历史产品需求的数量,历史产品需求与历史测试用例为一一对应关系或者一对多的关系,历史测试用例与历史代码覆盖率报告一一对应,历史数据还可以包括缺陷测试报告等,可选的,历史数据还可以包括同类型产品的历史数据,例如,如本产品为购物应用,则同类型产品可以为淘宝、京东、拼多多等应用,如图2所示,图2为本技术实施例提供的历史测试用例和历史测试需求的对应关系示意图,在历史数据中,历史产品需求包括类似产品1、类似产品2、本产品1代、本产品2代
……
的产品需求,以本产品1代为例说明,本产品1代有3个对应的历史测试用例,分别为:测试用例1、测试用例2、测试用例3,本产品1代由样本需求块1、样本需求块2、样本需求块3
……
组成,测试用例1由样本用例块1、样本用例块2、样本用例块3
……
组成,其中,样本用例块1对应本产品1代中的样本需求块1,样本用例块2对应本产品1代中的样本需求块2,样本用例块3对应本产品1代中的样本需求块3
……
显然,历史数据越丰富,样本越多样化,所得测试用例质量越高。
58.其中,对于代码覆盖率报告,可结合代码覆盖率工具jacoco(java code coverage)在待测应用启动时埋点,获取应用的执行路径(package-class-method),根据执行测试用例后开发代码的执行路径情况得到测试用例的整体测试覆盖率以及该测试用例各部分(样本用例块)是否覆盖待测应用的待测功能(样本需求块)的代码。具体的,在应用程序启动,开始执行测试用例时,在jvm(java虚拟机)中通过

java agent参数指定特定的jar文件启动instrumentation的代理程序,代理程序在装载每一个需要检测的类(class)前判断该类文件是否已被转换修改,若没有,将探针即统计代码插入该类(class)中,各执行路径对应应用程序中不同的功能,根据各探针的位置可知应用程序的各执行路径,根据各探针反馈的其对应的执行路径的代码是否被覆盖可知该测试用例各部分(样本用例块)是否覆盖待测应用的待测功能(样本需求块)的代码,根据执行路径的代码的整体覆盖情况可知整体测试覆盖率。其中,可根据执行路径(对应的功能)的重要程度赋予该执行路径一定的权重,将各执行路径乘以权重后,再根据执行路径覆盖情况得到整体测试覆盖率,例如,待测应用一共需要检测三个功能,分别对应a、b、c三条执行路径,根据重要程度分别赋予上述执行路径权重为:0.5、0.3、0.2,测试用例执行过程中,只有a执行路径和c执行路径被执行了,则整体测试覆盖率=(0.5 0.2)
×
100%=70%。
59.可见,历史数据越丰富,尤其是同类型产品的产品需求数据和测试用例数据越丰富,所得到的测试用例生成模型精确度越高。
60.可选的,所述构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型,包括:
61.对所述历史测试用例进行预处理,得到m个第二样本用例模块,对所述m个第二样本用例模块编号,m为正整数;
62.对所述历史产品需求进行预处理,得到k个样本需求模块,对所述k个样本需求模
块编号,其中,每个样本需求模块对应至少一个第二样本用例模块,k为正整数,且n<k<m;
63.提取所述k个样本需求模块的k个样本需求模块特征,将所述k个样本需求模块特征存入样本库,其中,所述k个样本需求模块特征与所述k个样本需求模块一一对应;
64.根据所述历史代码覆盖率报告确定s个第一样本用例模块,其中,所述s个第一样本用例模块为所述m个所述第二样本用例模块中满足对应的样本需求模块的需求的s个第二样本用例模块,s为正整数,且n<s<m;
65.对所述s个第一样本用例模块分别添加第一标签,其中,所述第一标签包括与第一样本用例模块对应的样本需求模块的编号以及所述第一样本用例模块的编号;
66.对与所述第一样本用例模块对应的所述样本需求模块添加第二标签,其中,所述第二标签包括与所述第一样本用例模块对应的所述样本需求模块的编号以及所述第一样本用例模块的编号;
67.将所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块存入所述样本库;
68.通过所述k个样本需求模块特征、所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块对所述初始神经网络模型进行训练,得到所述测试用例生成模型。
69.其中,预处理包括:分块、分词和去停用词。对于每个产品需求模块,所述m个所述第二样本用例模块中存在至少一个样本用例模块与之对应,该至少一个样本用例模块中,每个样本用例模块对对应需求的代码覆盖率不同,通过对应的历史代码覆盖率报告可确定至少一个样本用例模块中每个样本用例模块对同一需求(功能)的代码覆盖率,从中选取代码覆盖率最高的样本用例模块作为与对应的产品需求模块唯一匹配的样本用例模块,对该样本用例模块以及对应的产品需求模块都添加标签,并存入样本库中,标签的内容都为样本用例模块的编号以及与之对应的产品需求模块的编号,通过标签关联二者,即通过其中一方的标签可知与之关联的另一方的编号。最后通过样本库中的数据训练初始神经网络模型,得到测试用例生成模型。其中,样本库中的数据在每次生成测试用例后根据所生成的测试用例进行更新,从而提升测试用例模型的精确性和覆盖范围。
70.可见,通过历史数据对初始神经网络进行训练可以得到测试用例模型,从而实现根据产品需求文本自动生成测试用例,提高效率,大大节省人力成本,减少了人工判断的误差。
71.可选的,所述获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,包括:
72.查找所述样本库,确定与所述n个目标样本需求模块特征对应的n个样本需求模块;
73.根据所述n个样本需求模块的所述第二标签确定对应的n个所述第一样本用例模块的编号;
74.根据n个所述第一样本用例模块的编号获取n个所述第一样本用例模块。
75.可见,因为样本库中的第一样本用例模块与样本需求模块存在一一对应关系,所以可以得到与目标样本需求模块特征对应的样本需求模块,以及与样本需求模块对应的第一样本用例模块。
76.参阅图3,图3为本技术实施例提供的一种测试用例生成方法的流程示意图,所述方法包括:
77.获取待测产品的目标版本的产品需求音频;
78.根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;
79.对所述产品需求文本进行预处理,得到n个产品需求模块,n为正整数;
80.获取所述n个产品需求模块的n个产品需求模块特征,所述产品需求模块与所述产品需求模块特征一一对应;
81.将所述n个产品需求模块特征与预存的样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个目标样本需求模块特征,所述产品需求模块特征与所述目标样本需求模块特征一一对应;
82.获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,所述目标样本需求模块特征与所述第一样本用例模块一一对应;
83.拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。
84.其中,在本实施例中对于各个步骤的具体描述可以参见前述实施例,在此不再赘述。
85.可以看出,本技术实施例中,通过获取待测产品的目标版本的产品需求音频,从而确定待测产品的产品需求;根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;对所述产品需求文本进行预处理,得到n个产品需求模块,从而进一步明确产品需求中的需求要点,可对产品需求分割处理;获取所述n个产品需求模块的n个产品需求模块特征;将所述n个产品需求模块特征与预存的第一样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个第一目标样本需求模块特征;获取与所述n个第一目标样本需求模块特征对应的n个第一样本用例模块,其中,第一目标样本需求模块与对应的第一样本用例模块高度匹配,因此可确保最后由第一样本用例模块得到的目标测试用例满足产品需求;拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。可见,在本技术实施例提供的测试用例生成方法中,通过对产品需求模块特征进行特征匹配,可以更快的得到目标测试用例,相比于人工设计测试用例,大大提升了测试用例生成效率,且不需要对目标测试用例进行代码覆盖率测试,减少了操作流程,节省测试成本和人力成本。
86.请参阅图4,图4为本技术实施例提供的一种电子设备的结构示意图,如图所示,包括处理器、存储器、通信接口,以及一个或多个程序,所述程序被存储在所述存储器中,并且被配置由所述处理器执行。所述程序包括用于执行以下步骤的指令:
87.获取待测产品的目标版本的产品需求音频;
88.根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;
89.将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例。
90.在一个可能的示例中,在所述将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例方面,所述程序包括用于执行以下步骤的指令:
91.对所述产品需求文本进行预处理,得到n个产品需求模块,n为正整数;
92.获取所述n个产品需求模块的n个产品需求模块特征,所述产品需求模块与所述产
品需求模块特征一一对应;
93.将所述n个产品需求模块特征与预存的样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个目标样本需求模块特征,所述产品需求模块特征与所述目标样本需求模块特征一一对应;
94.获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,所述目标样本需求模块特征与所述第一样本用例模块一一对应;
95.拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。
96.在一可能的示例中,在所述对所述产品需求文本进行预处理,得到n个产品需求模块方面,所述程序包括用于执行以下步骤的指令:
97.检测所述产品需求文本的句分界,根据所述句分界对所述产品需求文本分块,得到n个产品需求基本模块,其中,所述句分界包括句号和分号;
98.对所述n个产品需求基本模块进行分词处理;
99.对分词处理后的所述n个产品需求文本去停用词,得到所述n个产品需求模块。
100.在一个可能的示例中,在所述获取所述n个产品需求模块的n个产品需求模块特征方面,所述程序包括用于执行以下步骤的指令:
101.获取所述n个产品需求模块中每个产品需求模块的词向量,将每个产品需求模块中的词向量按顺序拼接,得到所述n个产品需求模块特征。
102.在一可能的示例中,在所述获取待测产品的目标版本的产品需求音频之前,所述程序还包括用于执行以下步骤的指令:
103.获取所述待测产品的历史数据,其中,所述待测产品对应有至少一个历史版本产品,所述历史数据包括所述至少一个历史版本产品的历史产品需求、历史测试用例和历史代码覆盖率报告;
104.构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型。
105.在一可能的示例中,在所述构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型方面,所述程序还包括用于执行以下步骤的指令:
106.对所述历史测试用例进行预处理,得到m个第二样本用例模块,对所述m个第二样本用例模块编号,m为正整数;
107.对所述历史产品需求进行预处理,得到k个样本需求模块,对所述k个样本需求模块编号,其中,每个样本需求模块对应至少一个第二样本用例模块,k为正整数,且n<k<m;
108.提取所述k个样本需求模块的k个样本需求模块特征,将所述k个样本需求模块特征存入样本库,其中,所述k个样本需求模块特征与所述k个样本需求模块一一对应;
109.根据所述历史代码覆盖率报告确定s个第一样本用例模块,其中,所述s个第一样本用例模块为所述m个所述第二样本用例模块中满足对应的样本需求模块的需求的s个第二样本用例模块,s为正整数,且n<s<m;
110.对所述s个第一样本用例模块分别添加第一标签,其中,所述第一标签包括与第一样本用例模块对应的样本需求模块的编号以及所述第一样本用例模块的编号;
111.对与所述第一样本用例模块对应的所述样本需求模块添加第二标签,其中,所述
第二标签包括与所述第一样本用例模块对应的所述样本需求模块的编号以及所述第一样本用例模块的编号;
112.将所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块存入所述样本库;
113.通过所述k个样本需求模块特征、所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块对所述初始神经网络模型进行训练,得到所述测试用例生成模型。
114.在一个可能的示例中,在所述获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块方面,所述程序还包括用于执行以下步骤的指令:
115.查找所述样本库,确定与所述n个目标样本需求模块特征对应的n个样本需求模块;
116.根据所述n个样本需求模块的所述第二标签确定对应的n个所述第一样本用例模块的编号;
117.根据n个所述第一样本用例模块的编号获取n个所述第一样本用例模块。
118.上述主要从方法执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
119.本技术实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
120.与上述一致的,请参阅图5,图5为本技术实施例提供了一种测试用例生成装置500的结构示意图,所述测试用例生成装置500包括:
121.获取单元501,用于获取待测产品的目标版本的产品需求音频;
122.转换单元502,用于根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;
123.测试用例生成单元503,用于根据预设的语音转化方法将所述产品需求音频转换为产品需求文本。
124.在一可能的示例中,在所述将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例方面,所述测试用例生成单元503具体用于:
125.对所述产品需求文本进行预处理,得到n个产品需求模块,n为正整数;
126.获取所述n个产品需求模块的n个产品需求模块特征,所述产品需求模块与所述产品需求模块特征一一对应;
127.将所述n个产品需求模块特征与预存的样本需求模块特征进行比对,得到与所述n个产品需求模块特征匹配的n个目标样本需求模块特征,所述产品需求模块特征与所述目标样本需求模块特征一一对应;
128.获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块,所述目标样本需求模块特征与所述第一样本用例模块一一对应;
129.拼接所述n个第一样本用例模块,得到所述待测产品的目标测试用例。
130.在一可能的示例中,在所述对所述产品需求文本进行预处理,得到n个产品需求模块方面,所述测试用例生成单元503具体用于:
131.检测所述产品需求文本的句分界,根据所述句分界对所述产品需求文本分块,得到n个产品需求基本模块,其中,所述句分界包括句号和分号;
132.对所述n个产品需求基本模块进行分词处理;
133.对分词处理后的所述n个产品需求文本去停用词,得到所述n个产品需求模块。
134.在一可能的示例中,在所述获取所述n个产品需求模块的n个产品需求模块特征方面,所述测试用例生成单元503具体用于:
135.获取所述n个产品需求模块中每个产品需求模块的词向量,将每个产品需求模块中的词向量按顺序拼接,得到所述n个产品需求模块特征。
136.在一个可能的示例中,在所述获取待测产品的目标版本的产品需求音频之前,所述测试用例生成单元503具体用于:
137.获取所述待测产品的历史数据,其中,所述待测产品对应有至少一个历史版本产品,所述历史数据包括所述至少一个历史版本产品的历史产品需求、历史测试用例和历史代码覆盖率报告;
138.构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型。
139.在一可能的示例中,在所述构建初始神经网络模型,通过所述历史数据对所述初始神经网络进行训练,得到测试用例生成模型方面,所述测试用例生成单元503还用于:
140.对所述历史测试用例进行预处理,得到m个第二样本用例模块,对所述m个第二样本用例模块编号,m为正整数;
141.对所述历史产品需求进行预处理,得到k个样本需求模块,对所述k个样本需求模块编号,其中,每个样本需求模块对应至少一个第二样本用例模块,k为正整数,且n<k<m;
142.提取所述k个样本需求模块的k个样本需求模块特征,将所述k个样本需求模块特征存入样本库,其中,所述k个样本需求模块特征与所述k个样本需求模块一一对应;
143.根据所述历史代码覆盖率报告确定s个第一样本用例模块,其中,所述s个第一样本用例模块为所述m个所述第二样本用例模块中满足对应的样本需求模块的需求的s个第二样本用例模块,s为正整数,且n<s<m;
144.对所述s个第一样本用例模块分别添加第一标签,其中,所述第一标签包括与第一样本用例模块对应的样本需求模块的编号以及所述第一样本用例模块的编号;
145.对与所述第一样本用例模块对应的所述样本需求模块添加第二标签,其中,所述第二标签包括与所述第一样本用例模块对应的所述样本需求模块的编号以及所述第一样本用例模块的编号;
146.将所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块存入所述样本库;
147.通过所述k个样本需求模块特征、所述s个第一样本用例模块以及与所述s个第一样本用例模块对应的s个所述样本需求模块对所述初始神经网络模型进行训练,得到所述测试用例生成模型。
148.在一可能的示例中,在所述获取与所述n个目标样本需求模块特征对应的n个第一样本用例模块方面,所述测试用例生成单元503还用于:
149.查找所述样本库,确定与所述n个目标样本需求模块特征对应的n个样本需求模块;
150.根据所述n个样本需求模块的所述第二标签确定对应的n个所述第一样本用例模块的编号;
151.根据n个所述第一样本用例模块的编号获取n个所述第一样本用例模块。
152.可以看出,本技术实施例中通过获取待测产品的目标版本的产品需求音频;根据预设的语音转化方法将所述产品需求音频转换为产品需求文本;将所述产品需求文本输入测试用例生成模型中,通过所述测试用例生成模型生成所述待测产品的目标测试用例,可大大提升测试用例生成效率,减少操作流程,节省测试成本和人力成本。
153.本技术实施例还提供一种计算机可读存储介质,存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种测试用例生成方法的部分或全部步骤。
154.本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种测试用例生成方法的部分或全部步骤。
155.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
156.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献