论文部分内容阅读
当软件发生变更时,如添加新的功能或修正错误后,就需要进行回归测试,以确保这些变更不会对软件产生负面影响。然而频繁的回归测试带来的开销,特别是时间上的开销很大,约占软件维护总开销的一半,这就需要对测试用例集进行优化。现有的测试用例集优化技术主要包括测试用例集选择技术和测试用例优先级技术,可以提高测试用例集的性能,得到了广泛的应用。
通常情况下,回归测试都存在一定的时间限制,而目前绝大多数的测试用例集优化技术没有考虑到这一点,因此,研究基于时间限制的测试用例集优化技术具有重要意义。时间约束下的测试用例集优化问题可以转化为0/1背包问题,0/1背包问题是经典的NP-C问题,可以采用多种算法来求解。本文提出了利用动态规划法、回溯法、分支限界法、基本遗传算法等几种算法求解时间约束下的测试用例集优化技术及其度量方法,并通过实验验证了该优化技术及度量方法的有效性。
论文的工作包括以下几个方面:(1)针对基于时间限制的测试用例集优化问题可以转化为经典的0/1背包问题,给出基于时间限制的测试用例集优化问题的形式化描述,提出用多种算法求解的基于时间限制的测试用例集优化技术;(2)提出基于时间限制的测试用例集优化技术度量方法,该度量方法综合考虑了测试需求的覆盖率和覆盖速度,能更公平有效地对测试用例集的优化效果进行度量:(3)以Eclipse为平台,实现了基于时间限制的测试用例集优化工具T-TSO-Tool,该工具在给出测试用例和测试需求的满足关系矩阵、测试需求的优先级、测试用例的执行时间的前提下,根据选择的算法给出在时间约束下执行完成的测试用例子序列及该子序列的优化效果;(4)利用T-TSO-Tool进行了一系列的仿真实验,通过实验分析比较了动态规划法、回溯法、分支限界法和基本遗传算法的优化效果,同时将以上算法与传统优化算法比较,验证了以上算法的有效性。