SCI论文(www.lunwensci.com)
摘 要:针对软件测试领域测试用例复用性差、涉及学科专业复杂的特点,提出了基于深度学习的软件测试知识获取及应 用方法,分别构建了软件测试知识模型和软件测试用例主题模型,并给出了软件测试领域知识论元识别的流程和方法。根据案 例验证结果,基于建立的知识模型进行软件测试用例搜索时,模 型加强了搜索的语义理解能力,并且使用基于测试用例建立的 语义向量空间后,测试用例的复用正确率有了明显的上升,表明了基于深度学习可以有效建立软件测试知识库,为软件测试用 例的复用和智能化编辑提供参考。
Knowledge Acquisition and Application Method of Software Testing Based on Deep Learning
LI Chao, ZHANG Xiang, PENG Hui, CUI Longfei
(63892 Troops of PLA, Luoyang Henan 471003)
【Abstract】:For the characteristics of poor reusability of test cases and involving multiple disciplines in the field of software testing, a deep learning-based software testing knowledge acquisition and application method is proposed. The software testing knowledge model and the software testing case topic model are respectively constructed, and the process and method of knowledge argument identification in the field of software testing are given. Experiments show that searching using only keywords sometimes results in no reuse of test cases. After semantic understanding, the search results have improved significantly. After using the semantic vector space based on test cases, the correct rate of test case reuse has increased significantly. Based on the deep learning method, the software testing knowledge base can be effectively established, which provides ideas for the reuse and intelligent editing of software test cases.
【Key words】:deep learning;software testing;knowledge acquisition;models;neural networks
0 前言
随着软件测试的快速发展,各种测试数据日益堆积,测试用例、测试报告、流程规程等文档化数据众多,每一份文档都是若干技术专家的专业知识和经验教训的结晶,具有较高的应用和复用价值。但这些数据的数据源异构、非结构化等问题突出,所涉及的学科专业多、技术复杂、时效性要求较高,未能形成高质量、结构化的知识框架,一般随着项目的结束,这些文档数据绝大多数都被搁置,知识难以得到良好传承。针对软件测试领域人才培养周期长的特点,以软件测试用例数据为基础,综合利用数据挖掘、自然语言处理、深度学习技术,进行软件测试知识的获取、表达和应用方法研 究,提供知识表达、图谱展现、知识推理的智能语义集 成平台,使得历史数据能够真正利用起来,能够有效加 速软件测试领域的人才培养,支撑软件测试工作的开展 效率。
1 软件测试用例知识获取与应用框架结构
开展软件测试知识获取及应用方法研究,重点在于 如何挖掘软件测试用例知识和测试用例认知计算两个方 面的内容 [1],首先对于众多测试用例、测试报告等非结 构化自然语言资料,通过语义分析、信息抽取技术,得 到结构化的知识表示形式,建立适合索引、推理和可视化的知识库 ;在此基础上,建立不同论元间基于语义的 理解、计算和推理过程,对需求进行基于语义层次的检 索和解答,形成知识的计算应用 [2.3]。基于深度学习的 软件测试知识获取及应用方法研究的研究思路主要分为 4 个步骤,如图 1 所示,经过标注、抽取、融合和构建 知识库等步骤能够将一个从异构杂乱的原始测试用例语 料处理为逻辑清晰、可以存储复用的知识图谱,实现软 件测试用例的知识的获取和应用。
2 软件测试知识模型
2.1 分词及词性标注
本文采用了层叠马尔科夫模型进行分词,为确保分 词准确率且同时保持效率,共设计了 5 层 HMM,如图 2 所示。
分词和词性标注分别在第 4 层和第 5 层完成,因而给 出的结果就是分词并标注过的结果。词性标注主要包括形 容词(/a)、动词(/v)、名词(/n)、动名词(/vn)、副 词(/d)等。
但由于 KL 距离并不对称,为使其能够关于p,q 对 称, 即Dλ(p, q) = Dλ(q, p) ,可对其进行如下改进计算如 式(4)所示 :Dλ(p, q) = λDKL (p, λp + (1− λ)q) +(1− λ)DKL (q, λp + (1− λ)q)在结构化存储部分中,每个用例的结构化段落都有 类别和主题两个属性,这两个属性是通过对用例文档段 落的自动理解而生成的主题级结构化知识标签,可通过 产生式概率模型隐狄利克雷分布算法计算得到。潜在狄 立克雷分配(LDA)是基于多用例多主题的生成模型, 建立在用例集合上的统计模型 LDA 是对软件测试报告 中相关主题词汇直观理解的数学建模。

4 软件测试领域论元识别算法
软件测试知识隐含在测试用例语料中,要对其进行 提取和向量特征化存储需要采用层次化的深度学习方法 进行知识嵌入。一般先以结构化段落为最小学习单元进 行基于分布式表示模型的知识学习,作为元知识,然后 将多个元知识进行组合再次进行学习,进而得到新的测 试用例的知识表示。
把特定语境领域(语料)中获得一句话的分布式表示的过程称之为元知识,其提取存储过程称之为论元识 别,单个句子的分布式表达学习过程设计如图 5 所示。
在得到句子的基础上,可在更高层次上使用卷积神 经网络形成深度神经网络对结构化段落和篇章进行分布 式量化表达,如图 6 所示。
这样通过构建测试知识的语言模型,预测不同测试 知识之间的相关性,把测试知识在用语言难以量化的相 互关系映射到了一个高维度向量空间中,通过度量不同 测试知识映射后向量特征的互信息熵,实现其语义距离 的数学函数定义,从而实现测试知识的获取和高度统一 管理、共享和应用。
5 案例实验与分析
实验收集了涉及多个不同的专业和领域软件测试活 动中常用的测试用例 200 余个。依据整个算法流程,可 调整参数主要是语义聚类的个数 ρ,在相似度计算检索 时每个单词的近邻个数 α、相似度阈值 β、最终返回的结 果数 γ。在实验中, 关键词典聚类个数 ρ为 100(WENU- 100)、300(WENU-300)、500(WENU-500) 和不进行聚类 (WENU-N), α 取 3.相似度阈值 β 取最大值的 60%, 最 终返回的结果数 γ分别为 top-3、top-5、top-10.分别 使用没有经过词嵌入和聚类的普通关键词搜索方法下,由人工对结果进行逐一判断,进行搜索 100 次后 top- 3、top-5、top-10 的正确率如表 1 所示。
实验结果表明,使用基于测试用例的语义向量空间 后,测试用例知识获取和复用正确率有了明显的上升, 仅使用关键词进行搜索有时会出现无复用测试用例的结 果,而在进行语义理解后,搜索结果有了明显的改善。 通过相比不进行语义聚类,进行合适类别的聚类可以使 测试用例复用的性能得到进一步提升。但当聚类类别过 少(ρ=100)的时候,不同语义的词混合在了一起,使 得关键词对不同测试用例的区分程度又有了明显的下降。
6 结论
针对软件测试领域测试用例复用性差、涉及学科专业复杂的特点,提出了基于深度学习的软件测试知识获 取及应用方法,分别构建了软件测试知识模型和软件测 试用例主题模型,并给出了软件测试领域知识论元识别 的流程和方法。实验表明,仅使用关键词进行搜索有时 甚至会出现无复用测试用例的结果,而在进行语义理解 后,搜索结果有了明显的改善。使用在建立基于测试用 例的语义向量空间后,测试用例的复用正确率有了明显 的上升。基于深度学习方法可以有效建立软件测试知识 库,为软件测试用例的复用和自动化编辑提供了思路。
参考文献
[1] 李龙燕.基于人工蜂群算法的软件测试用例自动生成研究与 实现[D].邯郸:河北工程大学,2017.
[2] 黄胜.面向软件工程数据挖掘的开发测试技术[D].上海:复旦 大学,2013.
[3] 高枫,高湘飞,杨梦萌.基于机器学习的软件测试经验库的构 建[J].信息通信,2021(3):90-92.
[4] 何宇泽.基于机器学习的软件故障定位和测试用例生成[D]. 北京:北方工业大学,2020.
[5] 韩鑫鑫,贲可荣,张献.军用软件测试领域的命名实体识别技 术研究[J].计算机科学与探索,2020.14(5):740-747.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/62192.html