[发明专利]一种测试预言预测方法有效
申请号: | 202211636107.6 | 申请日: | 2022-12-20 |
公开(公告)号: | CN115617701B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 安东;王世海;刘斌;路云峰 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/2415 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 符继超 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试 预言 预测 方法 | ||
本发明公开了一种测试预言预测方法,包括:获取用于软件故障定位的目标测试用例及目标测试用例的测试结果;根据目标测试用例是否标注有测试结果,划分未知预言测试用例和已知预言测试用例;对未知预言测试用例的执行结果进行预测,分别生成未知预言测试用例测试失败的概率和测试通过的概率;将未知预言测试用例测试失败的概率与预设阈值进行比较,生成执行结果;根据未知预言测试用例测试失败的概率和测试通过的概率,为执行结果赋予权重,计算包含权重的故障定位特征算子,生成新的目标测试用例集合;根据新的目标测试用例集合进行软件故障定位。该方法可使得分类准确度更大的测试用例对故障定位结果有更大的影响,有效提升了故障定位效率。
技术领域
本发明涉及软件故障定位技术领域,特别涉及一种测试预言预测方法。
背景技术
当前,关于基于程序谱的故障定位技术研究是一个比较活跃的领域,这类定位技术有着非常广阔的前景,原因如下:基于程序谱的故障定位技术在实际应用中,通过使用一部分测试用例执行结果与测试用例执行过程程序语句的覆盖信息,即可以实现相对较好的故障定位效果,对于大型软件系统来说,这类技术有着很高的效率和很大的优势。
但是在实际应用中,现有的基于程序谱的故障定位技术同样也面临着较大的问题,即当前实际应用中测试预言的完美性难以满足定位技术的要求。现有故障定位技术均对测试预言做出了一定假设,无论通用软件故障定位技术还是软件多故障定位技术均假设搜集到了足够的成功/失效用例,并获得了完美的测试预言,即每一个测试用例的执行结果都是明确可分的(可以明确的判定测试用例执行是否成功)。
然而在实际软件工程实践中,这种完美的测试预言是很难存在的。一方面,构造大量的测试用例并执行搜集它们的覆盖率信息和执行结果是一项花销巨大的工程;另一方面,并不是每一个用例的执行结果都是可以标注的,比如程序崩溃或者程序状态未知时,这种情况下无法获得用例的执行结果,甚至可能在测试活动中获得大量未标注执行结果的用例。同时,在实际测试活动中,未标注执行结果的用例通常对故障定位没有任何帮助,一方面,这会导致真正可用的用例数量较少,另一方面,会导致测试用例中的故障信息与实际存在偏差,降低故障特征清晰度。
目前,针对软件故障定位中的测试预言预测问题,包括如下不同的方法,但都存在相应的问题。例如,基于贝叶斯分类器的测试预言预测方法,这一方法中先计算出怀疑度,与设定的阈值进行比较,再得出确切的二分类结果;但这种方法在阈值与怀疑度非常接近的情况下,存在分类出现错误的可能性较大,在预测结果出错的情况下,很难保证测试用例加入故障定位后,对软件故障定位效率的提升。论文《Efilter:An effective faultlocalization based on information entropy with unlabelled test cases》还提出有基于信息熵的测试预言筛选方法,该方法在基于贝叶斯分类器的测试预言预测方法基础上进行了改进,加入筛选机制选择更适合的测试用例,但是仍无法解决二分类分类错误引起的定位效率降低的问题。
因此,在现有软件故障定位的测试预言预测技术的基础上,如何提供一种更有效的针对测试用例的分类方法,以改善二分类方法所导致的降低故障特征清晰度的问题,成为本领域技术人员亟需解决的问题。
发明内容
鉴于上述问题,本发明提出了一种至少解决上述部分技术问题的测试预言预测方法,该方法可使得分类准确度更大的测试用例对故障定位结果有更大的影响,可有效提升故障定位效率。
本发明实施例提供一种测试预言预测方法,包括如下步骤:
S1、获取用于软件故障定位的目标测试用例及所述目标测试用例的测试结果;生成目标测试用例集合;根据所述目标测试用例是否标注有测试结果,划分未知预言测试用例和已知预言测试用例;
S2、对所述未知预言测试用例的执行结果进行预测,分别生成所述未知预言测试用例测试失败的概率和测试通过的概率;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211636107.6/2.html,转载请声明来源钻瓜专利网。