基于代码覆盖的软件自动化测试与调试方法研究

来源 :厦门大学 | 被引量 : 0次 | 上传用户:wcn009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码覆盖测试可以反映程序代码被执行的百分比,从而真实反映软件内部被测试的情况,实现对软件测试工作完整性评估。本论文就代码覆盖测试中的代码插装技术、测试数据自动生成以及软件错误定位等方面进行研究,旨在提高代码覆盖测试的效率并加速软件测试与调试进度。  在对研究工作所需的基础知识进行介绍后,本论文对影响覆盖测试效率和有效性的代码插装技术展开研究,通过在程序控制流图中插入虚拟节点,并结合程序之间的支配关系确定代码插装位置,给出了一种插装损耗较少的代码插装策略;接着将指定程序节点的测试数据生成问题抽象成最优化问题,结合程序控制流以及程序路径的执行概率设计有效的适应函数,利用启发式算法对其求解,研究了自动测试数据生成方法对未覆盖的代码进行覆盖以提高测试覆盖率,并从理论上和实验上分析和验证了该方法的可行性和高效性;最后,将代码覆盖测试所收集的一系列测试用例的执行信息用于软件错误定位,用实验的方法揭露现在基于代码覆盖的错误定位方法中存在“结”的普遍性,并归纳出相应的解决方案,在不影响定位效率的情况下,对结语句进行重排,减轻了结对软件错误定位方法的影响;同时,针对存在多错误的软件,提出了混合式的调试方法,并研究了失败测试用例的聚类算法以提高错误定位效率。  本论文的创新点主要体现在:  (1)提出了基于虚拟节点和超级块支配图的代码插装方法,减少了探针插装的数量及其在程序中的执行次数,从而减少了对因插装所引起被测试程序的运行性能的影响,提高了代码覆盖测试的效率和有效性。  (2)提出了基于路径概率的测试数据生成方法,提高了生成目标测试数据的的几率,同时减少了生成数据所需的迭代次数,有效地提高了程序的代码覆盖率。  (3)提出了失败测试用例的软聚类方法,提高了失败用例归属于相应的错误聚焦簇的准确性,从而提高了错误定位效率。  最后,将本论文的部分理论和方法开发了一套C语言代码覆盖测试工具,并已在WEB-EDA平台中集成与应用。
其他文献
本文利用PCR筛库法结合5’RACE法和3’RACE法,成功地从4龄斜带石斑鱼的卵巢cDNA文库中筛选出一种SRY相似基因,全长为2253bp,编码一个389个氨基酸的多肽,命名为Sox11b。氨基酸序列
本文通过对荣华二采区10
期刊
本文通过对荣华二采区10
期刊
猪瘟是对养猪业危害严重的一种A类传染病,其致病源是猪瘟病毒(CSFV),E2囊膜糖蛋白是CSFV的主要保护抗原蛋白,应用真核细胞表达系统表达E2蛋白免疫动物,对强毒的攻击有很好的
为适应现代会议系统智能化及办公系统无纸化、环保、使用便捷、功能强等需求,论文研制了一种新型的通信方便、低功耗的会议屏显示控制系统,采用低功耗设计,主控板获取通信显
A.caulinodans的重金属耐性是其在重金属污染地上与长喙田菁建立有效共生固氮关系的前提条件之一。以A.caulinodans、长喙田菁(Sesbaniarostrata)为研究对象,运用电镜、原生质
多核技术的出现使得微处理器的性能持续提高,此时处理器与存储器间的速度差异问题成为限制处理器性能发挥的一个主要因素。本文针对一种面向高密度计算的异构多核SoC系统,提
飞行器测试设备的设计水平在很大程度上影响着飞行器的测试进程和试验周期。飞行器测试设备完成对飞行器飞行时的全面测试,其性能直接影响到测试结果的精确性和研发准备时间,因
继上个世纪硒被人们所了解和认识之后,硒生物化学已成为当代又一大热点研究方向,不仅理论上有重大突破,而且应用上也取得了较大进展。目前,已有多种有机硒保健品和药品上市,其中硒与多糖结合后的产物--硒多糖已展现出较好的保健功效和临床价值。然而,自然界提取得到的硒多糖在产量方面极其不尽人意,在理化性质和生物活性方面也有待改善和提高。通过多糖结构修饰的方法获取硒多糖更为便捷,比如通过改造基因来产生理想结构的
抗辐照加固的SRAM由于其特殊的应用场景,需要高可靠性和长寿命的支持;而在纳米工艺水平下,偏置温度不稳定性(Bias Temperature Instability,BTI)效应引起的电路老化成为威胁