【技术实现步骤摘要】
本方法涉及软件测试中的故障定位技术,尤其涉及,通过执行测试用例,根据执行结果与预期的测试结果是否一致,对软件中存在的故障进行自动定位。
技术介绍
软件故障是一种动态行为,出现软件故障时若无适当措施加以及时处理,便会产生软件失效。单元测试中尽可能早的发现和排除尽可能多的故障,便会减少和避免后期浪费太多的不值得的时间。目前关于软件故障定位技术的研究,大多是根据执行结果是否通过,以程序语句作为覆盖节点进行统计分析。当程序代码较多时,语句分析的计算量较大,造成大量时间耗 费,且未考虑故障的传播对定位的干扰,影响故障定位的准确率。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,以克服现有软件故障定位方法中以语句节点为覆盖单位、计算量大而且没有考虑到语句节点之间的联系的缺陷,降低语句分析的计算工作量,并且考虑到语句节点之间的逻辑关系,提闻故障定位的效率。为达到上述目的,本专利技术的技术方案是这样实现的 ,该方法包括 A、采用一组满足覆盖需求的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致; B、根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间; C、统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,各条边的可疑度; D、由上述步骤得到的边的可疑度计算其相邻语句节点的可疑度; E、根据相邻语句节点的可疑度大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障。其中所述步骤A包括Al、基于两种执行模式进行故障定位,分别是全用例执行模式和部分用例执行模式; ...
【技术保护点】
【技术特征摘要】
1.一种单元测试中软件故障自动定位方法,其特征在于,该方法包括 A、采用一组满足覆盖需求的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致; B、根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间; C、统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,各条边的可疑度; D、由上述步骤得到的边的可疑度计算其相邻语句节点的可疑度; E、根据相邻语句节点的可疑度大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障。2.根据权利要求I所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤A包括 Al、基于两种执行模式进行故障定位,分别是全用例执行模式和部分用例执行模式; A2、采用全用例执行模式时,将一组测试用例全部执行,根据执行结果是否和预期一致,将用例划分为互不相容的两部分,即通过的测试用例和未通过的测试用例,并记录对应执行路径包含的边信息; A3、采用部分用例执行模式时,随机选择测试用例集合中的某个用例开始执行,判断执行结果是否和预期结果一致,直到有测试用例的执行结果和预期不一致时停止测试,将此时执行过的测试用例分为两部分,即前m个通过的测试用例和第m+1个未通过的测试用例,获取对应的执行路径; A4、执行结果包括如下内容函数具有返回值,记录其返回结果;关键的中间变量和全局变量,记录其返回值;含有文件操作时,记录生成的文件目录和内容信息;含有数据库操作时,记录生成的数据库目录和内容信息。3.根据权利要求I所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤B包括 BI、可疑空间由指定执行模式下某些测试用例对应的执行路径包含的边组成,是判断故障发生的最大范围,取可疑空间的边进行后续步骤的可疑度计算,不同的执行模式...
【专利技术属性】
技术研发人员:王雅文,宫云战,韩春晓,黄俊飞,金大海,唐容,蔡敏,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。