【技术实现步骤摘要】
一种基于程序变异的程序谱错误定位方法
本专利技术属于软件测试
,具体涉及到软件错误定位问题,提供了一种基于程序变异的程序谱错误定位方法,主要解决现有错误定位方法效率低的问题,达到提高错误定位效率的目的。
技术介绍
随着国家“互联网+”战略的提出和信息产业的不断发展,各种软件产品己经融入到各行各业的生产活动和社会生活中,例如在国防工业、制造业、医疗卫生行业、教育产业以及服务产业,软件信息系统己经起到了举足轻重的作用。随着软件规模和复杂程度的不断提高,软件错误出现的频率也迅速上升。软件错误的出现可能会给人类造成巨大损失或灾难。因此,软件测试成为了软件生命周期中不可或缺的环节。软件错误定位是软件测试领域中需要解决的重要问题,旨在检测出软件存在的缺陷,就是在程序检测到错误的时候,通过分析程序的逻辑结果和测试用例的执行状态,帮助程序开发人员或测试人员找到发生错误的位置,对于软件错误定位方法的研究一直以来都是国内外研究的热点问题。随着软件规模的日益增长,传统的软件错误定位方法不仅耗时耗力,也很难有效快捷地定位到程序的错误位 ...
【技术保护点】
1.一种基于程序变异的程序谱错误定位方法,其特征在于包括以下步骤:/n(1)待测程序P中包含一个或多个错误且可执行,在程序P上执行测试用例集N,N={n
【技术特征摘要】
1.一种基于程序变异的程序谱错误定位方法,其特征在于包括以下步骤:
(1)待测程序P中包含一个或多个错误且可执行,在程序P上执行测试用例集N,N={n1,n2,...,ni},i>1,根据各测试用例的执行结果是否与预期结果一致将测试用例集N分成Np和Nf两个集合,Nf为与预期结果不一致执行失败的测试用例集,Np为执行成功的测试用例集;
(2)使用JaCoCo覆盖率工具获取步骤(1)中程序P在执行过程中的语句覆盖信息,Nf在程序执行过程中所覆盖的语句集合记为Ef,Ef={e1,e2,...,en},n≥1,ei表示Ef中第i条语句,其他被执行的语句集合记为Ep,统计Ef中各语句被执行成功的测试用例执行的测试用例个数和被执行失败的测试用例执行的个数;
(3)使用变异测试工具Mujava对Ef中的语句进行变异得到变异体;
(4)根据变异位置的不同在各语句对应的变异体集合中随机选取10%个的变异体,若集合中变异体数目的10%不是整数,按进一法取整,以此减少每条语句产生的变异体数目,实现变异体的约简;
(5)获取约简后各变异体的执行结果,分别与原程序的运行结果和预期的运行...
【专利技术属性】
技术研发人员:王曙燕,林敬,孙家泽,王小银,
申请(专利权)人:西安邮电大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。