论文部分内容阅读
软件系统是一个复杂的逻辑系统,有很多因素都可能会影响软件系统的正常运行,这些因素可能包括系统的配置、内部事件、外部输入等。除了单个因素之外,这些因素之间的相互作用也可能会对系统的运行造成影响。组合测试作为一种科学、有效的软件测试方法,可以使用较少的测试用例有效地检测软件系统中各个因素以及它们之间的相互作用对系统产生的影响。
本文从测试用例生成、测试用例优化、及测试策略等方面,对组合测试技术进行了系统、深入地研究。主要研究工作包括:(1)在测试用例生成方面,针对相邻因素组合测试和可变力度组合测试等两种具体的组合测试模型,提出了多种测试用例集生成算法;(2)从回归测试下组合测试用例优先级复用的角度,对组合测试用例的优化使用问题进行了研究;(3)对组合测试中的故障定位问题进行了研究,提出了具体的故障定位方法,并对其性能进行了分析。上述研究工作的核心和重点在于组合测试用例的生成和优化技术。
本文研究成果主要包括:
·针对一类只在相邻因素间存在交互作用的软什系统,提出了一种相邻因素组合测试方法,并给出了固定力度、及可变力度相邻因素组合测试用例集的最优生成算法。实例分析表明,该方法在其适用领域内可以用数量很少的测试用例实现较强的错误检测能力。
·在充分考虑因素间实际交互关系的基础上,提山一种新的可变力度组合测试方法,并提出了一系列用于生成可变力度组合测试用例集的启发式算法。实验表明,相对于一些已有的具备类似功能的测试用例集生成算法和工具,本文提出的算法在固定力度和可变力度组合测试用例集的生成中均具备一定的特点和优势。
·针对因素取值组合具有不同权重且测试用例运行开销已知的情况,提出一种基于组合权重及测试用例开销的组合测试用例优先级复刚技术,并给出了两种组合测试用例优先级排序算法。此外,还提出一种增量式组合测试用例优先级复用技术,通过对已有测试用例集之中的测试用例进行排序,使得测试用例序列满足增量式组合覆盖的要求。
·在极小故障模式模型的基础上,对组合测试的故障定位问题进行了研究。首先,从理论上分析了已有故障定位方法的性能。针对已有方法存在的定准率不高的问题,提出了一种改进的迭代式故障定位方法,可在一定程度上提高故障定位结果的定准率。