【技术实现步骤摘要】
本专利技术涉及软件测试,尤其涉及一种基于测试用例与语句重要性的软件故障定位方法。
技术介绍
1、随着软件系统的复杂性和规模与日俱增,软件故障的存在可能会带来不可挽回的损失,尤其是对于安全关键软件。然而软件测试工作是一项公认的耗时耗力的严峻挑战,开发商不得不将大量成本花费在这项工作上,使得软件测试人员消耗许多时间与精力进行手动检查程序元素来寻找准确的故障位置。
2、基于频谱的故障定位(spectrum-based fault localization,简称sbfl)技术由于易用性和高效性被研究人员广泛关注。其主要应用统计分析或者机器学习等技术评估语句存在故障的可能性,语句在不通过的测试用例中出现的频率相比其在通过的测试用例出现的频率更高,则该语句更值得被怀疑。这也表示每一条语句的怀疑度。怀疑度的值越高,则语句发生故障的可能性越大。然而,基于统计分析的方法主要依赖语句覆盖信息与用例执行结果之间的相关性计算,因此同一程序块的代码会共享相同的怀疑度,也被称为元素绑定。
3、现有基于深度学习的sbfl将语句作为特征,通过增
...【技术保护点】
1.一种基于测试用例与语句重要性的软件故障定位方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于测试用例与语句重要性的软件故障定位方法,其特征在于,所述通过Jaccard度量方法计算出各事务数据的权重,包括:各事务数据根据测试用例的执行结果分为失败事务和通过事务,通过Jaccard度量方法计算每个失败事务分别与每个通过事务之间的Jaccard距离,取最长的Jaccard距离对应的失败事务为最重要的失败事务;分别计算每个通过事务与最重要的失败事务之间的Jaccard相似系数,作为通过事务的权重;每个失败事务的权重设置为1。
3.根据权
...【技术特征摘要】
1.一种基于测试用例与语句重要性的软件故障定位方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于测试用例与语句重要性的软件故障定位方法,其特征在于,所述通过jaccard度量方法计算出各事务数据的权重,包括:各事务数据根据测试用例的执行结果分为失败事务和通过事务,通过jaccard度量方法计算每个失败事务分别与每个通过事务之间的jaccard距离,取最长的jaccard距离对应的失败事务为最重要的失败事务;分别计算每个通过事务与最重要的失败事务之间的jaccard相似系数,作为通过事务的权重;每个失败事务的权重设置为1。
3.根据权利要求2所述的基于测试用例与语句重要性的软件故障定位方法,其特征在于,每个所述失败事务和所述通过事务包括至少一条程序语句,以及一个对应的执行结果;计算所述jaccard距离和jaccard相似系数时,去除失败事务和通过事务中的执行结果。
4.根据权利要求1所述的基于测试用例与语句重要性的软件故障定位方法,其特征在于,从各事务数据中获取原子关联规则是通过采用数据挖掘算法,设置最小支持度阈值和最小置信度阈值均为0而得到长度为2的关联规则。
5.根据权利要求2所述的基于测试用例与语句重要性的软件故障定位方法,其特征在于,基于各事务数据的权重,计算原子关联规则的支持度或者事务数据中的任意一项的支持度时,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。