论文部分内容阅读
软件测试技术是保障软件质量的重要途径之一,其中,组合测试技术利用少量的测试用例,便能检测出待测系统中的各种交互故障。使用组合测试技术发现故障后需要进行故障定位工作。由于极小故障模式中的所有因素交互都会导致系统发生故障,因此只要找到软件系统中众多可疑故障模式的极小故障模式,便可知晓系统中哪些因素交互引发了故障。本文将故障定位方法分为自适应方法和非自适应方法两类,以组合测试研究领域中的TCAS数据集为基准,将TCAS集中20条布尔表达式及其变异体作为实验对象,对这两类方法进行了系统、深入的实证研究。主要研究工作包括:(1)对比了使用高强度组合覆盖表CA和部分覆盖表PCA作为两种不同的错误定位表ELA进行非自适应故障定位时的定位效果。(2)评估了非自适应方法、自适应方法两种不同类型的故障定位方法的定位效果。本文主要研究成果包括:(1)非自适应故障定位方法的必要条件是待测系统存在安全值向量,以TCAS集中20条布尔表达式及其变异体作为实验对象,验证了待测系统中安全值向量是否普遍存在的问题;(2)以TCAS集中20条布尔表达式及其变异体作为实验对象,比较分析了四种PCA生成算法的效果,其中四种算法分别是Greedy、DensityRO、DensityFO和IPO算法;(3)以查全率recall、查准率precision、综合评价指标f-measure、所需测试用例数量作为实验评估分析指标,以TCAS集中20条布尔表达式及其变异体作为实验对象,验证并分析了使用高强度组合覆盖表CA和部分覆盖表PCA作为两种不同的错误定位表ELA进行非自适应故障定位时的定位效果;(4)以TCAS集中20条布尔表达式及其变异体作为实验对象,研究了在实际极小故障模式数量较多、强度较大的情况下,应选择哪种维度生成高强度组合覆盖表CA和部分覆盖表PCA更加合适;(5)以查全率recall、查准率precision、综合评价指标f-measure、所需测试用例数量作为实验评估分析指标,以TCAS集中20条布尔表达式及其变异体作为实验对象,衡量了自适应方法和非自适应方法两者的性能优劣。