本发明专利技术公开了一种基于槽填充的测试用例生成方法,能够自动生成测试用例,有效节省人力成本。该方法包括:步骤1、识别需求文档中的段落,将每一个所述段落作为输入文本,并对所述输入文本进行分词,根据分词结果为所述段落中的每一个单词构造词向量;步骤2、将所述词向量作为Transformer+CRF网络模型的初始输入进行模型训练,然后利用训练后的模型对输入文本的词序列进行标注,利用维特比算法解码得到最优标注结果;步骤3、将所述最优标注结果中同一类型的标注提取出来,根据所述同一类型的标注得到测试信息,生成测试用例。
A test case generation method based on slot filling
【技术实现步骤摘要】
一种基于槽填充的测试用例生成方法
本专利技术涉及信息技术及软件测试
,具体地,涉及一种基于槽填充的测试用例生成方法。
技术介绍
现有技术在进行功能测试时,特别是进行UI界面的测试时,测试人员需要根据产品需求文档,针对具有相同功能的不同UI界面按钮编写大量重复的测试用例,人力成本过高。
技术实现思路
为了解决上述技术问题,本专利技术公开了一种基于槽填充的测试用例生成方法,能够自动生成测试用例,有效节省人力成本。本专利技术通过以下技术方案实现。一种基于槽填充的测试用例生成方法,包括:步骤1、识别需求文档中的段落,将每一个所述段落作为输入文本,并对所述输入文本进行分词,根据分词结果为所述段落中的每一个单词构造词向量;步骤2、将所述词向量作为Transformer+CRF网络模型的初始输入进行模型训练,然后利用训练后的模型对输入文本的词序列进行标注,利用维特比算法解码得到最优标注结果;步骤3、将所述最优标注结果中同一类型的标注提取出来,根据所述同一类型的标注得到测试信息,生成测试用例。本专利技术有益效果:1、相比于传统的界面功能测试,本专利技术从需求文档中将功能测试用例所需的各类信息(如对于输入框,包括事件类型、输入范围、期望结果)自动抽取出来,整理得到测试信息,并利用所述测试信息结合功能测试方法自动生成测试用例,可以节约大量人力成本;2、本专利技术的槽填充模型采用了Transformer编码,其不同于一般方法中的神经网络模型是使用了多头自注意力机制(multi-headself-attention),可以更好地捕捉句子之间的语义信息,其输入可以较好表征中文词语的词向量,输出为每个词对应的标记状态概率分布向量。附图说明图1为本专利技术的基于槽填充的测试用例生成方法流程图。具体实施方式下面结合附图和具体实例对本专利技术进行详细描述,但不作为对本专利技术的限定。本专利技术的实现原理:本专利技术将抽取测试信息建模为槽填充问题,槽填充问题可看作是将文本序列标注为带有语义信息的序列标注问题,即对输入文本的每个词标注其是否是测试信息,通常序列标注采用事件起始(B-)、中间(I-)、结尾(E-)或不属于(O)任何事件的标注符号,本专利技术依然延续使用该符号,只是其意义表示有所不同,(B-)代表事件类型即点击、输入、跳转等事件,(I-)表示事件的约束条件,即输入范围、是否需同时点击其他按钮等,(E-)表示事件的期望结果,即输入格式正确、跳转到某界面等,(O)表示不包含任何测试信息。将词的标注按照事件类型、约束条件、期望结果的顺序进行整理,则可以得到一个较为完整的测试信息。如图1所示,本专利技术的一种基于槽填充的测试用例生成方法,具体包括:步骤1、识别需求文档中的段落,将每一个所述段落作为输入文本,并对所述输入文本进行分词,根据分词结果为所述段落中的每一个单词构造词向量;例如:我爱中国,那么分词的结果是:我爱中国。分词的好处在于可以将这种文字表示成机器可以理解的数字,因此第一步是需要分词,再根据分词的结果通过某些统计方法,将这些词语映射成机器理解的数字表示。在本实施例中,在识别需求文档中的段落后对所述段落进行预处理,所述预处理包括过滤掉所述文档中的非法字符、乱码、多余空格、制表符、换行等噪声。步骤2、将所述词向量作为Transformer+CRF网络模型的初始输入进行模型训练,然后利用训练后的模型对输入文本的词序列进行标注,利用维特比算法解码得到最优标注结果;在本实施例中,所述Transformer+CRF网络模型对于序列长度较长的文可以更有效地抽取出文本的特征,可以相对较好地保留词之间、句子之间的语义表示,同时具有较好的并行计算能力。本实施例中经过大量的参数调整,试验对比了一到三层之后的结果,最终采用双层Transfomer+CRF网络结构。所述维特比算法是一种最优路径法,最终的输出即最优的路径。在本实施例中可以理解为,每一个词语均有BIEO四个可能的标记,通过使用维特比算法,得到一段文本的最优BIEO的标记路径。步骤3、将所述最优标注结果中同一类型的标注提取出来,根据所述同一类型的标注得到测试信息,生成测试用例。在本实施例中,将所述标注中带有“B”标记的作为测试事件,带有“I”标记的作为事件约束条件,带有“E”标记的作为期望结果,带有“O”标记的作为不属于任何测试信息。在本实施例中,生成测试用例是根据所述测试信息结合传统的功能测试的测试方法来生成测试用例。下面举实例来解释本专利技术的具体过程:实施例1:需求文档中有如下需求:通过点击“刷新”随机生成密码,点击“确认”创建WiFi热点成功。(刷新和创建分别是按钮名称)。1、首先分词后的结果为:通过/点击/“/刷新/”/随机/生成/密码/,/点击/“/确认/”/创建//WiFi//热点/成功2、通过传统的统计方法,将上述词语:通过、点击等词,用数字表示起来,假设表示为[0000100000]。那么将这些表示按照上面的顺序,组合成一个矩阵,送入Transformer+CRF网络模型中,得到标注后的结果为:通过点击刷新随机生成密码点击确认创建WiFi热点成功OBIOEEBIEEEE3、根据标注的结果,可以得到测试用例,其中B表示测试事件,I表示约束条件,E表示期望结果。测试用例为:测试事件事件对象及约束期望结果点击刷新随机生成密码点击确认创建WiFi热点成功本文档来自技高网...
【技术保护点】
1.一种基于槽填充的测试用例生成方法,其特征在于,包括:/n步骤1、识别需求文档中的段落,将每一个所述段落作为输入文本,并对所述输入文本进行分词,根据分词结果为所述段落中的每一个单词构造词向量;/n步骤2、将所述词向量作为Transformer+CRF网络模型的初始输入进行模型训练,然后利用训练后的模型对输入文本的词序列进行标注,利用维特比算法解码得到最优标注结果;/n步骤3、将所述最优标注结果中同一类型的标注提取出来,根据所述同一类型的标注得到测试信息,生成测试用例。/n
【技术特征摘要】
1.一种基于槽填充的测试用例生成方法,其特征在于,包括:
步骤1、识别需求文档中的段落,将每一个所述段落作为输入文本,并对所述输入文本进行分词,根据分词结果为所述段落中的每一个单词构造词向量;
步骤2、将所述词向量作为Transformer+CRF网络模型的初始输入进行模型训练,然后利用训练后的模型对输入文本的词序列进行标注,利用维特比算法解码得到最优标注结果;
步骤3、将所述最优标注结果中同一类型的标注提取出来,根据所述同一类型的标注得到测试信息,生成测试用例。
2.如权利要求1所述的一种基于槽填充的测试用例生成方法,其特征在于,所述识别需求文档中的段落后对所述段落进行预处理,所述预处理包括过滤掉所述文档中的非法...
【专利技术属性】
技术研发人员:王晴,佟飘,刘畅,杨小军,石晶林,
申请(专利权)人:北京中科晶上超媒体信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。