基于测试用例的错误定位技术研究

来源 :东南大学 | 被引量 : 3次 | 上传用户:stormcn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机软件的复杂性越来越高和规模越来越大,错误定位在整个软件开发和测试过程中需要花费时间和精力的比重越来越多。目前主要的调试工具是集成开发环境中的调试器,但是需要开发人员对程序非常的了解,并且有着丰富的经验直觉去设置断点,由于调试程序没有将检查的语句按照一定的优先级进行排序,所以需要花费大量的成本。为了解决手工操作调试器的问题,人们近几十年来提出了自动化错误定位方法。通过自动化错误定位方法缩小搜寻错误的范围,然后再通过手工方式找到错误根源。其中,基于覆盖率的错误定位方法通过运行大量的测试用例,得到测试用例的覆盖程序实体的信息和测试结果,利用可疑度公式得到各个程序实体的可疑度排序。由于这种错误定位方法的计算复杂度低,所以已经被广泛使用。然而这种方法也存在自身的不足,例如,没有充分分析程序实体间的相互关系,即控制依赖和数据依赖。除此之外,在软件开发和测试中,回归测试与软件调试是迭代进行一直到没有错误被检测出来为止,如果将回归测试用例全部用于错误定位将大大增加开发和测试成本,并且回归测试用例中存在着相同或者相似的测试用例,偶然性正确的测试用例以及在程序发生改变,例如新增程序,删除不必要的程序以及修改原来的程序等时回归测试用例也会产生过时的测试用例,不受控制的测试用例,冗余的测试用例和新的测试用例等。并且没有考虑程序中功能模块之间的调用,函数之间的调用以及一个函数中的控制依赖和数据依赖对回归测试用例的影响。为了解决以上问题,本文考虑了影响分析,依赖和权值,改进遗传算法和软件度量的基于回归测试用例的错误定位方法,论文的主要成果包含以下几个方面:(1)提出了基于影响分析的回归测试优先级错误定位方法,这种方法首先利用Ochiai错误定位方法得到初始语句可疑度及可疑度排行,其次,利用控制依赖图和数据依赖图建立联合依赖图,通过初始语句可疑度和联合依赖图得到各个节点的可疑度和可疑度排行,将初始语句可疑度排行加上各个节点的可疑度排行得到最终可疑度排行,最后,利用最终可疑度排行计算各个测试用例语句覆盖的最终可疑度排行总和,数值越大的测试用例,优先级越高,利用按照优先级排序好的测试用例进行回归测试错误定位。通过实验研究与分析,基于影响分析的回归测试优先级错误定位方法能够提高定位程序中的错误的效率。(2)提出了根据控制依赖和数据依赖,测试用例覆盖表和测试结果得到每条语句被成功或失败测试用例控制依赖和数据依赖覆盖的总次数得到频繁被成功或失败测试用例覆盖的语句来缓解相同或相似测试用例对可疑度排行的影响,并且增加对失效产生上下文的理解。然后利用向量夹角余弦权值公式计算每个成功测试用例的权值来减弱偶然性正确的测试用例对可疑度计算的影响。最后利用可疑度公式即每条语句被失败测试用例控制依赖和数据依赖覆盖的总次数除以每条语句被成功的测试用例覆盖的权值之和的绝对值对语句可疑度进行排序来有效地进行回归测试用例错误定位。实验结果表明,利用依赖和权值改进回归测试用例的错误定位方法的效率要优于基于覆盖率和基于依赖分析的回归测试用例错误定位方法。(3)提出了基于改进遗传免疫算法回归测试用例生成的错误定位方法,将人工免疫算法加入到遗传算法中并进行改进来提高面向错误定位的回归测试用例的质量。在回归测试中,代码的改变包括新增代码,删除不必要的代码以及修改原来的代码等。因此回归测试用例产生变化,产生了过时的测试用例,不受控制的测试用例,冗余的测试用例和新的测试用例。所以通过改进遗传算法中的适应值计算,以亲和度计算和浓度计算代替适应值计算使得更改的代码与回归测试用例紧密相连又保证回归测试用例的多样性,再通过将遗传算法中以交叉为主,变异为辅与人工免疫算法中以变异为主,交叉为辅相结合,保证测试用例可以执行多条路径。然后通过克隆抑制和接种疫苗保证经过交叉,变异的测试用例依旧与更改的代码紧密相连。最后群体更新得到最优抗体,最优抗体中的抗体可以覆盖所有抗原A。因此改进遗传免疫算法的回归测试用例生成的错误定位方法可以缓解回归测试用例中产生的过时的测试用例,不受控制的测试用例,冗余的测试用例和新的测试用例的问题。(4)提出了基于软件度量的归测试用例优化的错误定位方法,这种方法利用历史缺陷按照功能点分类并结合缺陷严重级别和优先级别以及功能模块的调用频率得到功能调用模块缺陷率,进行回归测试用例功能优化,再根据函数之间的调用频率得到回归测试用例函数优化,最后以其历史Ochiai可疑度,程序依赖图中的控制依赖边和数据依赖边得到平均节点Ochiai可疑度,根据测试用例覆盖节点情况,得到各个测试用例的平均节点Ochiai可疑度之和,利用各个测试用例的平均节点Ochiai可疑度之和对测试用例进行回归测试语句优化,根据最终得到的回归测试优化集利用Ochiai方法进行错误定位。
其他文献
本文首先研究带凹凸非线性项Schrodinger方程和Kirchhoff方程在全空间中的多解性以及基态解的存在性,其次考虑Kirchhoff系统和带饱和非线性项Schrodinger系统的规范L2-解的存在性.主要内容安排如下:第一章大致回顾变分法的研究历程,介绍本文所涉及的临界点理论的相关知识,并对本文的主要工作和创新点进行概述.第二章考虑非线性项是次线性和超线性组合形式的Schrodinger
在开展"党建进班组"活动中,柿竹园公司以"四个一批""三带三促""党员身边无事故""党建引领,岗位练兵"、党小组带动"红旗班组"创建等一项项特色活动,让党建扎根基层,促进班组建设,密切群众联系,在充分发挥基层党组织战斗堡垒作用、党员先锋模范作用的同时,把员工思想和行动统一到践行高质量发展的新作为上,实现班组建设精细化、班组管理优良化,达到党建工作与业务工作深度融合。在生产高峰期,面对繁重的生
期刊
弹性体间的接触面积因加载而缩小的现象,称为退让接触,作为一类较为隐蔽而罕见的接触问题,长期以来未能得到足够关注。然而,实验结果已揭示,退让接触是导致土木工程结构和机械零件中镀层剥离和脱落行为的重要原因之一,因此,针对多层弹性结构,建立恰当的力学模型,并进行理论、实验或计算分析,已成为亟待解决的重要任务。功能梯度材料意指材料的物理性能沿空间呈连续变化的性态,是具有迥异性能的两种材料之间的理想过渡介质
扩散过程是一类重要的自然现象,从数学研究上来看,扩散过程在一定的假设条件下可以用带有定解条件的抛物型方程模型来描述.在很多场合,扩散过程的物理机制是明确的(对应于扩散方程是已知的),但描述扩散过程的边界状态信息是未知的,此时需要通过其他可测量的间接信息来反演边界状态信息,进而确定整个扩散过程.这类问题就是扩散方程模型的反边值问题.边界状态是抛物型方程描述扩散系统的重要参数,包括边界形状和边界条件参
介电转变材料是一类具有响应性的介电材料,其介电常数可在外界条件的激励下发生高、低介电态的转变,在开关、传感、识别等方面具有应用前景。主客体型化合物是一类典型的能够表现介电转变的体系。处于主体空腔中的客体分子或离子,可以经历无序-有序状态变化,产生结构相变和介电转变。具有复钙钛矿结构的金属-钴氰根框架化合物A2[B’Co(CN)6](A为有机阳离子客体,B’为一价金属离子)表现出有趣的主客体结构、相
污泥是污水处理厂的终端产物,污泥中不仅含有大量的有机物、无机物、有毒物质以及营养物质(氮、磷、钾等),还含有病原体和致病的微生物等。随着城市化建设的发展以及污泥处置法律法规的日益严格,回收利用污泥中的能源以及营养物质成为污泥处置技术的着重点。磷是人类和各种动植物生命活动必需的营养物质之一。磷资源有限的储量以及磷由陆地向海洋的单线性迁移过程造成了磷资源的匮乏。必须构建磷的持续循环体系,回收利用污泥中
第一部分基于VBM终末期肾病透析患者大脑灰质体积分析目的:探讨终末期肾病(ESRD)透析患者大脑灰质体积是否发生改变,并观察它们在随访过程中的演变。材料和方法:本研究通过了当地伦理委员会批准,所有被试者均签署了书面知情同意书。从本院血液净化中心招募了 45名ESRD透析患者(男26名,女19名,从27-71岁,平均51.7±8.4岁)作为ESRD组;32名年龄、性别、受教育程度相匹配健康人群(男1
[背景与目的]肿瘤恶性生物学行为与其特殊的物质能量代谢密切相关,异常的物质能量代谢已成为肿瘤细胞新的生物学特性并越来越受到关注。锌-α2-糖蛋白(Zinc-α2-glycoprotein,ZAG)基因定位于染色体7q22.1,其编码42kDa的分泌性蛋白,体内实验证实ZAG能强烈促进脂肪分解,多种肿瘤中ZAG表达常下调,而脂肪酸合成酶(Fatty acid synthase,FASN)与哺乳动物雷
随着人们对计算能力要求的不断提高,电子器件的尺寸越来越小,速度越来越快,逐渐发展为分子电子器件。其中,一维分子线因其独特的力学性质、电学性质和磁性质等成为分子电子器件中一种重要的构建单元。如何使分子线稳定地与半导体表面结合的同时保持分子线本身的电磁性质非常关键。近年来,无论是实验上还是理论上对一维分子线在半导体衬底上的结合机制及电磁性质的调控等方面的研究都取得了一定的进展。本论文基于第一性原理的密