咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于强化学习的软件持续集成测试优化技术研究 收藏
基于强化学习的软件持续集成测试优化技术研究

基于强化学习的软件持续集成测试优化技术研究

作     者:曹天歌 

作者单位:北京化工大学 

学位级别:硕士

导师姓名:李征

授予年度:2022年

学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:持续集成测试 强化学习 内部激励机制 测试环境可达性 测试用例优先排序 

摘      要:在软件开发持续集成测试环境中,当程序员提交集成代码时,测试用例的优先级排序技术可以通过优先执行潜在发现错误的测试用例,尽早发现错误,减少测试执行时间,进而有效缓解频繁提交集成带来的计算资源密集问题。持续集成环境下的测试用例优先排序问题属于序贯决策问题,强化学习算法能够有效适应变化的环境,并通过与环境的交互学习最优排序策略。由于持续集成测试具有频繁提交集成代码但测试失败率低的特点,应用强化学习会面临稀疏奖励问题,降低对测试用例排序策略的学习效果。通过对强化学习的测试用例奖励机制优化,可以缓解稀疏奖励问题。现有研究基于测试用例个体的历史信息进行奖励机制优化,通过测试用例历史信息与测试用例检错能力的关联,构建促进智能体学习的奖励机制。但在真实工业程序上,由于测试用例的历史执行失效率同样较低,导致稀疏奖励问题依旧存在。本课题在使用测试用例个体历史信息进行奖励的基础上,进一步预测测试用例未来执行情况,提出了基于测试用例个体外部激励机制和基于测试环境的内部激励机制,改进强化学习中奖励机制。在基于测试用例个体历史信息的外部激励机制中,分析测试用例历史信息的有效性,评估测试用例检错能力,增加具有失效潜力的通过测试用例作为奖励对象,提高奖励的密度;在基于测试环境的内部激励机制中,从提升智能体探索环境能力进一步增加额外奖励,设计了基于测试环境可达性的内部激励函数和奖励策略。为了验证两种奖励机制的有效性,本课题在6个工业数据集上开展了实验研究,结果表明:基于测试用例历史信息平稳性的外部奖励机制相较于现有的部分奖励机制和全体奖励机制标准化检错率最高分别提高了28.72%和9.96%,首次发现错误的位置分别前移了183.29和2.41位;基于测试环境可达性的内部激励机制促进强化学习中奖励机制的总体收敛,并在测试优化的表现上相较于仅含外部奖励的奖励机制标准化检错率提高了最高5.37%,首次发现错误位置前移了21.71位;同时,本文方法的时间消耗显示,对于强化学习激励机制的优化,并没有影响持续集成的整体效率。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分