网站地图 原创论文网,覆盖经济,法律,医学,建筑,艺术等800余专业,提供60万篇论文资料免费参考
主要服务:论文发表、论文修改服务,覆盖专业有:经济、法律、体育、建筑、土木、管理、英语、艺术、计算机、生物、通讯、社会、文学、农业、企业

机器学习技术在软件测试中的运用

来源:原创论文网 添加时间:2019-11-08

  软件测试论文之第三篇

  摘要:在本文中笔者主要对机器学习在软件测试领域中的应用进行了各项分析,其内容主要有,安全可靠性、软件缺陷以及源代码。同时对其核心技术进行了详细的分析,旨在通过分析与讨论的方式对机器学习技术在软件测试领域的应用提供理论参考。

  关键词:机器学习,软件测试,应用及技术分析

软件测试论文

  随着网络技术的不断提升,软件的功能及其规模也正处于不断丰富、不断扩大的状态,软件的升级与发展脚步也正在加快当中,从而为以往的软件测试工作造成了巨大的压力,在文章中笔者旨在对机器学习技术在软件测试领域的应用进行分析,从而为测试技术的优化提供相应的理论基础。

  一、关于软件安全可靠性的分析

  对软件安全性进行研究的相关报道有很多,但是主要对移动应用软件的安全可靠性所开展的研究,很少有对Window及Linux的应用软件进行研究分析的报道。在检验Window及Linux软件安全可靠性的过程中,一般会选择对API分类及其调用程序展开分析工作、通过相关工具提取源代码中所含有的信息资源、对软件行为进行监测并记录等手段获得相应的信息并当作模型的特征进行录入,通过向量支持机、随机森林等机器学习模型在虚拟设备中开展试验与研究[1]。

  二、关于软件缺陷的研究

  软件缺陷,主要是指软件及程序当中存在着一些可以会阻碍正常运行的问题或功能缺陷等。

  (一)软件缺陷预测

  软件缺陷预测,主要是通过现有的数据信息对软件当中所含有的缺陷进行预测。机器学习在软件测试方面的应用,主要以动静态相结合的方式进行分析,通过机器学习的运算方法开展模型的建立、评测等,在这当中静态分析主要获取的特征包含:目标原则、传承原则、代码原则等特性。因为静态分析方法可以获得特征非常多,并且不同特征在缺陷预测方面都有着不同的侧重,同时其种类的划分也并非均衡状态,所以,在机器学习的训练过程中将这些特征应用其中,必须将清洗后的数据应用于学习当中,从而防止巨大偏差的出现。随着软件测试领域的不断深入,从而导致软件缺陷所积累的数据更加得多,因此将已经积累起来的缺陷数据加以利用,可有效缓解软件研发人员和检测人员的工作强度,从而增强软件的测试工作效率。

  (二)软件缺陷定位

  在软件测试领域当中,缺陷定位是较为复杂的过程。从目前的实际状况来看,大部分缺陷必须由人工进行查除,而对于代码的审查早已是缺陷查除的主要方式之一,然而这种方法可能会消耗众多的人力、物力,所以,怎样对软件缺陷进行快速的定位,早已是现在急需处理的焦点问题之一。在机器学习技术的应用过程中,对于软件的缺陷定位主要有两种方法:首先是以模糊定位理论为基础,也就是总结概括历史数据当中所存在的软件缺陷;其次,是与软件缺陷预测相类似的方法,主要是通过静态分析的方式对模型进行建立及评测的。

  (三)软件缺陷分类

  对于软件缺陷的划分,一般情况下是对所上报的缺陷是不是真的缺陷进行检测。在相关的研究报告当中,对于软件缺陷的特征获取都是不尽相同的。比如:在众包软件的检测过程中,相关研究人员将交叉领域当中所提取的历史数据当作缺陷特征;在软件的研发过程中,将静态分析原则当作缺陷特征。在软件缺陷的管理工作中,对于缺陷的准确预判能够有效减轻相关工作人员的劳动强度。然而,随着众包软件测试工作量及开源工具的不断加大,检测缺陷还必须进行深入的分析与研究[2]。

  三、基于源代码的研究

  基于源代码的研究工作,主要是通过静态分析的方法找出源代码中所含有的缺陷问题。这方面的应用研究主要是对源代码展开多种方式的静态分析工作,从而获取相应的有效特征开展模型的建立与评测。以源代码为基础的分析工作,大体上可划分为代码重复使用、代码类似性检验、审核等。代码重用及类似性检测,也就是在源代码中找出相类似的源代码,并对部分源代码展开分装,从而降低研发人员的劳动强度及维护投入。

  四、核心技术分析

  (一)特征选取方法

  特征选取在机器学习技术中有着极其重要的作用,高效的特征选取技术可以有效增强机器学习技术的测试精确性。特征选取技术大体上可划分为两类,一是特征获取,也就是将不同的属性进行重新组合从而获得新属性,从而对原来的特征数据集空间结构进行了改变;另一种则是对于特征的选择,也就是从最初的特征集中选出相应的子集,同时不对初始特征集的空间特征进行改变。在这当中特征选择又可划分成三个主要类型:第一,Filter法,也就是赋予每个维特征相应的权重,随后按照权重进行排列,从而获取TopK维特征;第二,WrApper法,也就把特征子集看作是问题的优化;第三,Eembedded法,也就是确定模型的情况下,挑选出精准度最高的属性[3]。

  (二)类别不平衡处理方法

  机器学习技术在处理不平衡的过程中,主要有下列三种方法,一是过度样品采集,也就是加大种类不多的样本数量;二是欠缺样品采集,也就是降低种类比较多的样本数量;三是二次缩放,也就是为不同种类的样本赋予不同的权重。在很多机器学习技术的应用过程中,在使用数据集展开训练的过程中,数据集的选取一般情况下是类别平衡的类型。

  总结

  在分析机器学习在软件测试领域的应用,能够发现其在特征选取和算法方面依据有着非常多的问题,所以,在今后的工作当中,必须加强对于特征选取技术的优化及算法的测试精确性。

  参考文献
  [1]张红,刘京志,胡景凡,侯霞.软件测试教学中思维能力的培养与探索[J].计算机教育.2013(24).
  [2]贾艳波.软件测试课程教学模式改革研究与探索[J].电脑知识与技术.2012(34).
  [3] 谢巧玲.应用型本科院校软件测试课程改革与探索[J].现代信息科技.2018(03).

点击查看>>软件测试论文(专业范文8篇)其他文章
重要提示:转载本站信息须注明来源:原创论文网,具体权责及声明请参阅网站声明。
阅读提示:请自行判断信息的真实性及观点的正误,本站概不负责。