在面向持续集成测试用例优先排序(continuous integration test case prioritization,CITCP)的强化学习方法中,智能体通过对测试用例实施奖励从而调整测试用例优先排序策略以适应后续集成测试,可以满足持续集成测试频繁迭代和快速反馈...在面向持续集成测试用例优先排序(continuous integration test case prioritization,CITCP)的强化学习方法中,智能体通过对测试用例实施奖励从而调整测试用例优先排序策略以适应后续集成测试,可以满足持续集成测试频繁迭代和快速反馈的需求.智能体通常只奖励执行失效测试用例,但实际工业程序持续集成测试具有集成高频繁但测试低失效的特点,对CITCP的实际应用提出新的挑战.测试低失效,即稀少的执行失效测试用例数量,会导致强化学习中奖励对象稀少,引发强化学习的稀疏奖励问题.本文研究一种强化学习奖励对象选择策略,在奖励执行失效测试用例的基础上,通过选择与执行失效测试用例相似的执行通过测试用例实施奖励,从而增加奖励对象,以解决奖励稀疏问题.研究具体包括,设计了一种测试用例历史执行信息序列和执行时间特征向量表示的相似性度量方法,并基于相似性度量选择与执行失效测试用例集相似的执行通过测试用例集实施奖励.在6个工业数据集上开展了实验研究,结果表明基于相似性的奖励对象选择策略通过增加有效奖励对象解决了稀疏奖励问题,并进一步提高了基于强化学习的持续集成测试用例优先排序质量.展开更多
文摘在面向持续集成测试用例优先排序(continuous integration test case prioritization,CITCP)的强化学习方法中,智能体通过对测试用例实施奖励从而调整测试用例优先排序策略以适应后续集成测试,可以满足持续集成测试频繁迭代和快速反馈的需求.智能体通常只奖励执行失效测试用例,但实际工业程序持续集成测试具有集成高频繁但测试低失效的特点,对CITCP的实际应用提出新的挑战.测试低失效,即稀少的执行失效测试用例数量,会导致强化学习中奖励对象稀少,引发强化学习的稀疏奖励问题.本文研究一种强化学习奖励对象选择策略,在奖励执行失效测试用例的基础上,通过选择与执行失效测试用例相似的执行通过测试用例实施奖励,从而增加奖励对象,以解决奖励稀疏问题.研究具体包括,设计了一种测试用例历史执行信息序列和执行时间特征向量表示的相似性度量方法,并基于相似性度量选择与执行失效测试用例集相似的执行通过测试用例集实施奖励.在6个工业数据集上开展了实验研究,结果表明基于相似性的奖励对象选择策略通过增加有效奖励对象解决了稀疏奖励问题,并进一步提高了基于强化学习的持续集成测试用例优先排序质量.