一种基于参数值切换成本的组合测试用例优先级技术
作者单位:南京邮电大学
学位级别:硕士
导师姓名:王子元
授予年度:2023年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:组合测试 测试成本 切换成本 组合覆盖速率 测试用例优先级
摘 要:在软件开发过程中,软件测试对于保证软件质量起着非常重要的作用,因此软件测试技术的研究一直是软件工程领域的一个热点问题。其中,组合测试技术能够在保证错误检测能力的情况下,用尽可能少的测试用例对软件中不同因素间的交互引发的故障进行检测;测试用例优先级技术能对已有测试用例集根据优化目标进行排序,从而提高测试效率。相应地,在组合测试过程中引入测试用例优先级技术对组合测试用例进行排序,也可以提高组合测试的效率。测试成本是影响测试效率的重要因素,除了测试用例执行的成本,配置每一条测试用例所需要的成本同样不容忽视。测试用例执行的顺序不同,在切换测试用例配置时所需要的成本也会不同。因此,切换测试用例配置时所需要的成本也应作为测试用例优先级排序时的优化目标。尽管前人已对组合测试用例优先级中的切换成本问题开展过研究,但其提出的切换成本模型仅仅考虑不同参数具有不同的切换成本,并未考虑到同一参数不同取值之间的切换成本也可能存在差异的问题。因此,本文开展了基于参数值切换成本的组合测试用例优先级技术的研究。我们提出一种新的参数值切换成本模型;在此基础上,针对存在历史测试用例的场景,提出了面向参数值切换成本的组合测试用例优先级排序技术;针对不存在历史测试用例的场景,提出了面向参数值切换成本的组合测试用例生成技术。具体工作如下:(1)提出一种新的组合测试参数值切换成本模型。针对组合覆盖率的评估问题,提出了一种比较组合覆盖数的指标RCC(组合覆盖速率)与比较单位时间成本内的组合覆盖数的指标RCC(P)(基于测试成本的组合覆盖速率)。(2)在有历史测试用例的场景下,提出了面向测试成本的测试用例优先级排序算法TP与TP,解决了考虑执行成本时的测试成本优化问题;同时提出了面向参数值切换成本的测试用例优先级排序算法TP与TP,解决了不考虑执行成本时的切换成本优化问题。实验表明,上述四种算法都能有效地降低测试用例集的测试成本与切换成本。(3)在没有历史测试用例的场景下,提出了面向参数值切换成本的组合测试用例生成算法TG与面向参数值切换成本及组合覆盖速率的组合测试用例生成算法TG,实验结果表明,TG与TG算法都能在生成组合测试用例的同时有效地降低测试用例间的切换成本。(4)基于理论研究成果,设计并实现了一个测试用例生成原型工具。该工具基于SpringBoot框架与Mysql实现,可提供组合测试用例优先级排序算法与组合测试用例生成算法功能。