学位专题

目录>
<

面向测试用例优先排序的超启发式框架的评估策略研究

韩金金
北京化工大学
引用
测试用例优先排序技术旨在搜寻最优测试用例执行序列,以尽快实现测试目标,是一种关键的测试用例集优化技术。大量基于搜索的优化算法被用于发现测试用例的最优执行序列,但没有一种算法能够适用于所有的测试场景。超启发式算法可以针对不同的场景动态选择合适的优化算法序列,具有较强的通用性,被用于测试用例优先排序。该算法框架分为两层,底层包括一组多目标优化算法,顶层是一个学习代理策略,可以为不同的测试场景动态地评估和选择合适的底层算法。现有的学习代理使用层次分布(Hierarchical Distribution,HD)策略来评估当前算法的执行结果,并基于当前和历史评估结果为下一次迭代选择合适的底层算法。HD策略依据当代和上一代个体之间的支配关系来评估底层算法的执行结果,但无法区分同一非支配解集中的个体。通过分析,可以通过多种度量来进一步区分非支配个体,进而更加准确地评估底层算法的执行结果和选择最优的算法调用序列。  本课题进一步引入个体收敛能力的评估,采用Pareto Dominance(PD)和Convergence Information(CI)这两种度量来评估底层算法执行结果中个体的收敛能力,并提出了三种基于收敛性的评估策略,分别是基于PD度量的ESPD策略、基于PD和CI度量相结合的ESPC-1策略和ESPC-2策略。  为了验证上述三种基于收敛性的评估策略的有效性,本课题通过五个Java程序和三个C++程序,对不同评估策略的有效性和效率进行了实证研究。结果表明:(1)使用基于收敛性的评估策略的超启发式算法可以获得更高质量的测试用例执行序列;(2)基于收敛性的评估策略在大多数情况下可以显著减少时间开销,对于少数被测程序,时间开销会增加但并不影响测试效率;(3)三种基于收敛性的评估策略中,ESPC-2策略整体表现最好,其次是ESPC-1和ESPD策略。

测试用例;优先排序;超启发式算法;学习代理;评估策略

北京化工大学

硕士

计算机科学与技术

李征

2020

中文

TP311.52

2020-11-17(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅