论文部分内容阅读
随着计算机技术的飞速发展,软件系统变得越来越复杂,测试技术是保证这些软件系统质量的常用手段,然而影响系统运行的因素有很多,因素与因素之间的交互作用也会影响系统的运行,人们通常采用组合测试策略来检测这些交互作用对软件系统的影响。除掉一些小的系统,对所有因素的所有交互作用进行测试是不可行也是不必要的,所以人们采用抽样的方法,对系统中任意两个因素的取值组合或任意t个因素的取值组合进行测试。
本文从组合测试用例集生成,带约束的组合测试用例集生成,测试结束后侦测与定位导致系统故障的错误交互等方面对组合测试技术进行了系统深入地研究,主要研究成果包括:
(1)在测试用例集的生成方面,提出了快速生成两两组合测试用例集的算法,该算法是基于组合构造的方法,时间复杂性低,对大规模的软件系统,其生成测试用例集的速度很快。对于带约束的组合测试模型,我们提出了包括所有显性与隐性的极小禁忌交互的一致闭禁忌交互集的概念,对一般的禁忌交互集,提出了生成一致闭禁忌交互集的算法,并在此基础上提出了生成禁忌覆盖表的类似AETG算法和类似IPO算法。我们用实验验证了用一致闭禁忌交互集方法生成带约束的组合测试用例集的有效性。
(2)在一般的错误定位表概念的基础上,提出了可定位一个错误交互的错误定位表的构造方法,以及相应的近似错误定位表的概念及构造方法,提出了生成这种错误定位表和近似错误定位表的启发式构造算法,这种错误定位表或近似错误定位表的规模在t维覆盖表与t+1维覆盖表之间,通过实验比较了生成的错误定位表或近似错误定位表与t维覆盖表以及t+1维覆盖表的规模。
(3)对于安全值已知的待测系统,在错误交互数已知的条件下提出了部分覆盖表的概念,并且证明了这种部分覆盖表就是错误定位表,证明了部分覆盖表行数关于因素数目的对数阶增长,提出了生成部分覆盖表的贪心算法与模拟退火算法。
(4)研究了C.Mart(l)(n)ez等人提出的组合测试错误定位模型,改进了他们用高维覆盖表来构造错误定位表的方法,并且针对安全值已知的待测系统,提出了定位至多t维的错误交互的自适应算法,并分析了自适应算法的性能,从而解决了C.Mart(l)(n)ez等人提出的开问题之一,拓展了C.Mart(l)(n)ez等人提出的针对t=2的错误交互定位的自适应算法,随后,借鉴Δ-调试的方法,在组合测试错误定位模型中,针对安全值已知的待测系统提出了可定位任意维错误交互的自适应算法,并分析了这个算法的性能。