As one of the best software agile development practice, Continuous Integration (CI) has been widely adopted. The regression testing for continuous integration, which demands a shorter testing cycle and faster response for the failed test case, is the critical step to ensure the code quality integrated into the master branch. The challenge is how to optimize test cases for continuous integration within limited resources. In this proposal, the optimization for continuous integration testing is first defined as a mixed model with test case prioritization and test case selection, i.e., simultaneous selection and prioritization for test cases to achieve the goal of the shorter testing cycle and faster response. This proposal proposes a theoretical model that integrates deep reinforcement learning and continuous integration testing, via sequential decision-making theory, which forms the foundation of learning based continuous integration testing. In the application techniques, the reinforcement learning based test case prioritization and the reinforcement learning based test case selection are studied respectively first. Then, the cooperation and communication of these two approaches are explored for the mixed test case optimization for continuous integration testing. At last, a demonstration application satisfying the industrial requirements in continuous testing optimization will be built up based on the research of theories and applied technologies, where the achievements can provide strong theoretical, technical support and demonstration for intelligent integration testing.
持续集成作为软件产品敏捷式开发的最佳实践,被广泛应用于实际软件产品开发中。持续集成测试要求快速测试和快速反馈,是确保代码质量的核心措施。在有限的资源下,实现面向持续集成的测试优化是一个非常具有挑战性的任务。本项目将持续集成测试优化定义为一个测试用例选择与优先排序相结合的混合优化模型,即选择一个可以满足约束的测试用例子集,并优先执行潜在发现错误的测试用例,以达到快速高效的目的。从理论上,以序贯决策理论为媒介,设计一个深度强化学习与持续集成测试优化的相融合的模型,构建基于学习的持续集成测试优化理论支撑体系。从应用技术上,在研究以测试用例优先排序和选择分别为目标的强化学习方法的基础上,重点研究两者的协作交流机制,形成基于深度强化学习的持续集成测试混合优化方法。在理论和应用技术研究的基础上,建立面向实际应用的持续集成测试优化实践,为智能化软件持续集成测试优化提供理论、技术和应用示范的支撑。
敏捷式开发是一种频繁集成、快速反馈的持续集成开发模式,已被广泛应用于实际软件产品开发中。持续集成测试是确保代码质量的核心措施,但由于持续集成环境随着迭代连续变更,传统回归测试用例优化相关技术难以适用。本课题从理论上将持续集成测试用例优先排序抽象为序贯决策问题,并研究基于深度强化学习的持续集成测试用例优先排序方法,主要研究成果包括:(1)针对强化学习奖励,提出三种基于测试用例历史信息的奖励函数,提升对测试用例历史执行序列的错误检测能力度量;(2)提出三种基于测试用例历史信息滑动窗的强化学习奖励策略,解决持续集成频繁迭代引发的历史信息规模问题;(3)提出三种面向持续集成测试优先排序的智能体奖励对象选择方法,解决实际工业集成测试环境中的强化学习奖励稀疏问题;(4)提出面向持续集成测试优先排序的多源环境感知和自注意强化学习智能体,通过引入基于测试用例历史执行序列的多源信息,解决智能体获取环境信息的局限性问题,通过自注意机制充分学习测试用例历史执行和智能体决策测试用例执行序列之间的关联关系。总体上,本课题提出了持续集成测试优化的序贯决策理论模型,研究了基于深度强化学习的软件持续集成测试优化方法和技术,并在理论和应用技术研究的基础上,进一步建立实际工业环境下的持续集成测试数据集,发现并解决实际存在的稀疏奖励问题,将研究成果与实际应用进行了很好的结合。
{{i.achievement_title}}
数据更新时间:2023-05-31
监管的非对称性、盈余管理模式选择与证监会执法效率?
基于LASSO-SVMR模型城市生活需水量的预测
卫生系统韧性研究概况及其展望
基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例
基于协同表示的图嵌入鉴别分析在人脸识别中的应用
基于深度强化学习的集成预测模型优化研究
深度强化学习框架下基于序列分析的工控系统恶意软件识别及预警技术研究
基于程序切片的软件测试优化技术
基于深度学习的软件定义缓存策略研究